Patent Description:
Light projection devices are used in a variety of applications to project images onto objects. In some applications, an illuminated three-dimensional (3D) pattern, also referred to as a "template," is projected onto an object. The template may be formed, for example, by projecting a rapidly moving, vector-scan, light beam onto the object. In some systems, the projected light beam is a laser beam. The light beam strikes the surface of the object following a predetermined trajectory in a repetitive manner. When repetitively moved at a sufficiently high beam speed and refresh rate, the trace of the projected beam on the object appears to the human eye as a continuous glowing line. The projected pattern of light appears as the glowing template that can be used to assist in the positioning of parts, components, and work pieces. In some cases, the projected template is based partly on computer aided design (CAD) data of the object.

A challenge faced by light projection devices is in aligning the light projection system to the environment in which it is located so that the template is positioned in the desired location and orientation. Accordingly, while existing systems and methods of patterned light projection are suitable for their intended purposes, the need for improvement remains, particularly in providing a light projection system having the features described herein.

<CIT> discloses a system for projecting a glowing template onto an object, wherein the projector is aligned with the object based on known model data and detected feature points.

According to one aspect of the disclosure, a method of aligning a light projector and an electronic model in an environment is provided.

According to one or more embodiments, a system includes a light projector having a light source, a beam-steering system operable to direct a beam of outgoing light onto a surface, the light projector further having an optical detector configured to receive at least a portion of a light beam reflected off of the surface. The system also includes one or more processors that are operable to execute computer instructions to perform a method.

According to one or more embodiments, a computer program product includes a memory device with computer executable instructions stored thereon, the computer executable instructions when executed by one or more processors causes the one or more processors to perform a method.

Technical solutions described herein provide improved operations of a light projector by automatically or semi-automatically aligning a light projector to an environment. Additionally, technical solutions described herein facilitate automatically or semi-automatically checking the light projector for drift or changes in alignment. Further, technical solutions described herein facilitate realigning the light projector with the environment in response to the light projector being moved or rotated. Further yet, technical solutions described herein provide for an alignment of the light projector and the projection of topographical lines on a surface in the environment.

<FIG> are perspective, front, and bottom views of a light projector <NUM> according to an embodiment. In an embodiment, the light projector <NUM> includes a front cover <NUM>, a window <NUM>, a base housing <NUM>, a fan assembly <NUM>, and venting slots <NUM>. In an embodiment, a beam of light is sent out of and returned back through the window <NUM>.

<FIG>, <FIG>, <FIG>, <FIG> are perspective, top, side, and cross-sectional views, respectively, of an electro-optical plate assembly <NUM> within the light projector <NUM>. In an embodiment, the light projector <NUM> includes a mounting plate <NUM>, a light source assembly <NUM>, fold mirror assemblies, 220A, 220B, expanding lens assembly <NUM>, collimating/focusing lens assembly <NUM>, beamsplitter assembly <NUM>, two-axis beam-steering assembly <NUM>, reflector mirror assembly <NUM>, and focusing lens assembly <NUM>.

In an embodiment, the light source assembly <NUM> includes a light source <NUM> and a mounting block <NUM>. In an embodiment, the light source <NUM> is a diode-pumped solid state laser (DPSS) that emits a round beam of green laser light having a wavelength of about <NUM>. In other embodiments, the light source <NUM> is a different type of laser such as a diode laser or is a non-laser source. In an embodiment, the fold mirror assemblies 220A, 220B include fold mirrors 224A, 224B, respectively, and adjustable mirror mounts 222A, 222B, respectively. In an embodiment, light from the light source reflects off the fold mirrors 224A, 224B and then travels through a beam expander <NUM>, which includes a beam expander lens <NUM> and a beam expander mount <NUM>. The expanded beam of light from the beam expander <NUM> travels through a collimating/focusing lens assembly <NUM>, which acts to focus the beam leaving the light projector <NUM> onto an object of interest. Because the light leaving the light projector <NUM> is relatively far from the light projector <NUM>, the beam of light is nearly collimated and converges relatively slowly to a focused spot. In an embodiment, the collimating/focusing lens assembly <NUM> includes a lens <NUM>, a lens mount <NUM>, and a motorized focusing stage <NUM>. The motorized focusing stage <NUM> adjusts the position of the lens <NUM> and lens mount <NUM> to focus the beam of light onto the object of interest. In an embodiment, the motorized focusing stage <NUM> includes a servomotor assembly <NUM> that drives a rotary actuator <NUM> attached to shaft <NUM> affixed to an attachment <NUM>. As the rotary actuator <NUM> rotates, it causes the lens mount <NUM> to be translated on a ball slide <NUM>.

In an embodiment, the beamsplitter assembly <NUM> includes entrance aperture 251A, exit aperture 251B, and beamsplitter <NUM>. In an embodiment, the beamsplitter <NUM> is a <NUM>/<NUM> beamsplitter, which is to say that the beamsplitter <NUM> transmits half and reflects half the incident optical power. Half of the light arriving at the beamsplitter assembly <NUM> from the collimating/focusing lens assembly <NUM> is reflected onto a beam absorber assembly <NUM>, which absorbs almost all the light, thereby preventing unwanted reflected light from passing back into the electro-optical plate assembly <NUM>. In an embodiment, the beam absorber assembly <NUM> includes a neutral density filter <NUM>, a felt absorber <NUM>, and a felt absorber <NUM>.

The two-axis beam-steering assembly <NUM> includes beam steering assemblies 260A, 260B. Each beam steering assembly 260A, 260B includes respectively a lightweight mirror 261A, 261B, a mirror mount 262A, 262B, a motor 263A, 263B, a position detector 264A, 264B, and a mounting block 265A, 265B. The first mirror 261A steers the beam of light to the second mirror 261B, which steers the beam out of the window <NUM> to the object of interest. The beam-steering assembly <NUM> steers the beam in each of two orthogonal axes, sometimes referred to as x-y axes. In an embodiment, the beam-steering assembly <NUM> is provided steering directions to move the beam of light in a predetermined pattern by a processor <NUM> (<FIG>). Light reflected or scattered off the object of interest retraces the outgoing path, striking first the mirror 261B and then the mirror 261A before passing through the exit aperture 251B, and reflecting off the beamsplitter <NUM>. Beam steering assemblies such as 260A, 260B are also each referred to as galvanometers or galvos, which is an electromechanical device that works as an actuator that produces a rotary deflection, in this case of the mirrors 261A, 261B.

The mirror assembly <NUM> includes mount <NUM> and return mirror <NUM>. The focusing mirror assembly <NUM> includes focusing lens <NUM> and lens mount <NUM>. In an embodiment, light arriving at the return mirror <NUM> from the beamsplitter <NUM> passes through the focusing lens <NUM>. In an embodiment, the focusing lens <NUM> is a doublet. In an embodiment, an opaque cone <NUM> smoothly slides over lens mount <NUM> and attaches rigidly to adjustment stage <NUM>. The purpose of the opaque cone <NUM> is to block background light from within the light projector <NUM> from contaminating the light emitted by the light source <NUM> and reflected off the object of interest and passing through the lens <NUM>. Aperture assembly includes aperture <NUM> and aperture mount <NUM>. In an embodiment, the aperture assembly <NUM> is rigidly affixed to the optical detector assembly <NUM> by an interface element <NUM>. In an embodiment, the aperture assembly <NUM> is further rigidly coupled to the adjustment stage <NUM>. The adjustment stage <NUM> is adjusted in the x direction by an x adjuster <NUM>, in the y direction by a y adjuster <NUM>, and in the z direction by a z adjuster <NUM>. The purpose of the adjustment stage <NUM> is to adjust the position of the aperture <NUM> and the optical detector assembly <NUM> in x, y, and z relative to the beam of light to enable the focused beam of light <NUM> to pass through the aperture for the object of interest located within the rated range of distances of the object being scanned with the light from the light projector <NUM>. The purpose of the aperture is to block unwanted background light, especially light scattered from within the enclosure of the laser projector <NUM>, for example, off the mirrors 216A, 216B, the beamsplitter <NUM>, the components of the beam block <NUM>, the return mirror <NUM>, and the focusing lens <NUM>. In addition, the aperture <NUM> helps to block unwanted background light from the environment outside the enclosure of the light projector <NUM>. Examples of such unwanted background light blocked by the aperture include artificial light and sunlight, both direct and reflected.

In an embodiment, the aperture <NUM> is a circular aperture. In an embodiment, the circular aperture has a diameter of <NUM> micrometers and a centering accuracy of +/- <NUM> micrometers. A circular aperture is often referred to as a pinhole, and the element <NUM> may alternatively be referred to as an aperture or a pinhole. In other embodiments, the aperture is not circular but has another shape.

The optical detector assembly <NUM> receives light on an optical detector within the assembly <NUM> and produces an electrical signal in response. In an embodiment, the optical detector is a photomultiplier tube (PMT). In an embodiment, the PMT includes a high-voltage supply circuit and a low-noise amplifier. In an embodiment, the amplifier is connected close to the PMT anode output pin to reduce the effect of external noise on the produced electrical signal. In an embodiment, the PMT is a Hamamatsu H11903 photosensor manufactured by Hamamatsu Photonics K. , with headquarters in Shimokanzo, Japan. An advantage of a PMT for the present application includes high sensitivity to small optical powers and ability to measure both very weak optical signals and very strong optical signals. In an embodiment, the gain of the PMT can be adjusted by a factor of <NUM>,<NUM> or more according to the selected gain level, which is determined by the voltage applied to the PMT. This wide range of achievable gains enables the light projector to measure object regions ranging from dark black to bright white or shiny (i.e. highly reflective).

As explained herein above, the motorized focusing stage <NUM> adjusts the position of the lens <NUM> and lens mount <NUM> to focus the beam of light from the light projector <NUM> onto the object of interest. In an embodiment, the motorized focusing stage <NUM> adjusts the position of the collimating/focusing lens assembly <NUM> to each of several positions, thereby producing scanning lines of different widths. In an embodiment, the desired focusing of the collimating/focusing lens assembly <NUM> is found by stepping the lens <NUM> to each of several positions. At each of those positions, the galvo mirrors 261A, 261B are used to steer the projected light along a line. Without being bound to a particular theory, it is believed the reason for this change in relative optical power level is speckle, which is an effect in which laser light scattered off different portions of an object interfere constructively or destructively to produce the fluctuations in returned optical power. When a laser beam is focused, the relative change in the returned optical power is increased as the beam is swept along the object. In an embodiment, the motorized focusing stage <NUM> is adjusted until the maximum change in relative optical power is achieved in scanning a line. This ensures that the lens <NUM> has been adjusted to the position of optimal focus.

In an embodiment, a pre-scan is performed to determine the desired level of gain for a given scan region (<FIG>). For example, if a region is scanned with some elements in the region having a relatively high reflectance, for example because the elements are white, the gain of the PMT is set to a relatively low value since the optical power returned to the PMT is relatively high. On the other hand, if scanning is performed on a region containing only elements having relatively low reflectance, for example because the elements are black or dark, the gain of the PMT is set to a relatively high value. In an embodiment, a pre-scan is performed on a region to be measured as a way to obtain relatively high measurement sensitivity without saturating the PMT. In other words, the use of a pre-scan enables relatively dark objects to be measured even at relatively large distances from the light projector <NUM>. When a region includes both white or light objects as well as black or dark objects, in an embodiment, the region may be broken into sub-regions, with separate scans performed for at least some of the sub-regions.

In an embodiment shown in <FIG>, the light projector <NUM> performs an initial scan of an area <NUM> around an object or surface <NUM> in the environment. The light beam is steered via galvanometers 260A, 260B and mirrors 261A, 261B at a constant velocity and varying azimuth angle H along a pattern <NUM>. The pattern <NUM> begins along trace line <NUM>. At the end of line <NUM>, the mirror 261A stops and the mirror 261B steers the beam to vary the elevation of the signal light beam along line <NUM>. The mirror 261B then stops and the mirror 261A steers the signal light beam along retrace line <NUM>. This scan process continues in this bi-directional manner to cover the area <NUM>. It should be appreciated that during each trace and retrace, the galvanometer <NUM> is driven by a stream of digital command signals from processor <NUM> via a galvo driver 301A, 320B. In an embodiment, the command signals are transmitted at substantially equal time increments as defined by the master clock. At each time increment, processor <NUM> processes the output of an ADC to determine the pulse amplitude for the object feedback signal that corresponds to the feedback light intensity. In an embodiment, the processor <NUM> constructs a two-dimensional image array comprised of a series of rows. Each row representing a digitized signal intensity along the trace or retrace line.

In an embodiment, after the completion of the preliminary scan, the processor <NUM> analyzes a captured digital intensity image (based at least in part of the image array) and determines the high or maximum value of the image array. That value corresponds to a large or maximum amplitude of the amplified feedback signal pulses. Based on the result, the processor may determine adequate levels of controls that could be used for the next detailed object scan to keep the pulse signals amplitudes within an acceptable signal range for the photodetector assembly <NUM>. It should be appreciated that multiple successive preliminary scans could be performed to establish proper levels of controls for the photodetector assembly <NUM>.

The detailed object/surface scan that is being performed after one or more preliminary scans is illustrated in <FIG>. It shows a scan trajectory that follows a bi-directional scan pattern <NUM>. In contrast to the preliminary scan, in an embodiment, the final scan includes a trace <NUM> and a retrace <NUM> that are superimposed or collinear. It should be appreciated that lines <NUM>, <NUM> are illustrated slightly separated in <FIG> for clarity purposes only. The processor <NUM> then proceeds to perform the scan line by line, as described herein with respect to the preliminary scan, with the trace and retrace lines being separated by a vertical segment <NUM>. In an embodiment, the trace and retrace line segment <NUM> (V pixel size) and the sampling interval <NUM> (H pixel size) are each typically between <NUM> to <NUM> micro radians. In an embodiment, the resolution is user definable.

In an embodiment, an array of pixel data is being constructed by the processor <NUM> as the result of the detailed object scan. Each element of the array is associated with the H and V pixel locations and contains the values of the feedback light intensity and the time-of-flight represented as the time delay between the reference signal pulse and the feedback signal pulse. The light intensity values are utilized to construct a pixelized two-dimensional intensity image for object feature detection. This feature detection may be the same as that described in <CIT>. The time-of-flight represented as the time delay is used to calculate the distance between the system <NUM> and the pixel point by multiplying the value of time delay by the speed of light in air. The time delay is determined as being the difference between the timing locations of the reference signal waveform and the feedback signal waveform with respect to the train of sampling pulses generated by sampling clock. An exemplary method of extracting the timing location of the pulse waveform independently from the pulse's amplitude is described in <NPL>.

In an embodiment, the light from the light source <NUM> that leaves the light projector <NUM> travels to the object of interest and scatters off the object in a solid angle, afterwards retracing its path as it returns to the light projector <NUM>. After reflecting off the mirrors 261B, 261A, the solid angle of returning scattered light is limited in size by the exit aperture 251B. The light then reflects off beamsplitter <NUM> before passing through the lens <NUM> to form the focused light beam <NUM>. The direction of focused light beam <NUM> is determined by the path from a first point at which light from the light projector <NUM> strikes the object to a second point through the center of the entrance pupil of the lens <NUM>. In an embodiment, the aperture <NUM> is further aligned to the path that extends from the first point to the second point and into the optical detector assembly <NUM>. Furthermore, in an embodiment, the position of the aperture <NUM> as adjusted in the z direction to cause the beam waist of the returning beam of light to pass through the aperture <NUM> when the object is in the range of <NUM> to <NUM> meters from the light projector <NUM>. In an embodiment, the aperture <NUM> is large enough to pass nearly all of the return light through the exit aperture 251B onto the active area of the optical detector at the range of <NUM> to <NUM> meters. In an embodiment, the light begins to clip slightly at larger distances such as <NUM> to <NUM> meters from the light projector <NUM>. At distances closer to the light projector <NUM> than <NUM> meters, the light may clip more significantly, but this is not usually a problem because the optical power scattered off an object point closer than <NUM> meters has larger scattered intensity than light scattered off an object point farther from the light projector <NUM>.

In an embodiment, the aperture <NUM> is rigidly affixed to the aperture assembly <NUM>, which in turn is rigidly affixed to the optical detector assembly <NUM>. In an embodiment, the optical detector assembly <NUM> and aperture assembly <NUM> are further aligned to ensure that returning light passing through the center of the entrance pupil of the lens <NUM> not only passes through the center of aperture <NUM> but also the center of the active area of the optical detector in the optical detector assembly <NUM>. As a result, the range of operation of the light projector <NUM> is made as large as possible. This is to say that the rigid attachment of the aperture <NUM> to the photodetector assembly <NUM> in combination with alignment of the aperture <NUM>, the photodetector assembly <NUM>, the lens <NUM>, and the exit aperture 251B helps to ensure that the best sensitivity is obtained for objects both near to and far from the light projector <NUM>. With this alignment, the pre-scan is also expected to give consistent results in determining the PMT gain settings required for each combination of object distance and object reflectance.

<FIG> is a perspective view of the electrical assembly <NUM> within the light projector <NUM>, and <FIG> is an electrical block diagram for the light projector <NUM>. The electrical assembly <NUM> includes an electronics plate <NUM> and a number of circuit boards including a carrier board <NUM>, first galvo driver 320A, second galvo driver 320B, analog circuit <NUM>, multi-voltage power supply <NUM>, +<NUM> volt power supply 360A, and -<NUM> volt power supply 360B. The circuit block diagram representation for the electrical assembly <NUM> is shown in <FIG>. The carrier board <NUM> includes a processor <NUM> that controls many functions within the light projector <NUM>. Control cables 322A, 322B run from the carrier board <NUM> to digital-to-analog converters (DACs) 324A, 324B on the first and second galvo driver boards 320A, 320B, respectively. Control signals sent from the carrier board <NUM> to the DACs 324A, 324B control the angles of the mirrors 261A, 261B, thereby controlling the direction to which the beam is steered. Power supplies 360A, 360B supply +<NUM> volts, -<NUM> volts, respectively, to the galvo drivers 320A, 320B, which in turn supply voltages to the galvo motor/position-sensing components <NUM> through cables 326A, 326B. In an embodiment, a jumper cable <NUM> is used to connect the first and second galvo driver boards 320A, 320B when synchronized steering is needed in two dimensions (such as X and Y directions).

The analog circuit board <NUM> includes an analog-to-digital converter (ADC) <NUM>. The ADC <NUM> receives an analog electrical signal from the optical detector <NUM>, which in an embodiment is a PMT. The ADC <NUM> converts the analog signal into digital electrical signal, which it sends over an Ethernet cable <NUM> to the carrier board <NUM>. The carrier board provides the digital data to the processor <NUM> and, in an embodiment, to an external computer attached to input/output (I/O) panel <NUM> through a USB cables <NUM>, <NUM>, an Ethernet cable <NUM>, <NUM>, and/or a wireless channel. In an embodiment, the processor <NUM> or external computer <NUM> constructs a gray-scale image of the optical powers received by optical detector <NUM>. This image is sometimes referred to as an intensity image. Such an intensity image may be displayed to a user, may be used to identify features in the scanned object, and may be used for other functions such as setting the position of the focusing lens <NUM> with the motorized focusing stage <NUM>. In an embodiment, the analog circuit board <NUM> receives voltages over the cable <NUM> from the multi-voltage power supply <NUM>. In an embodiment, the carrier board <NUM> further provides control signals to the motorized focusing stage <NUM> over the cable <NUM> and control signals to the light source <NUM> over the cable <NUM>. A connector <NUM> is attached to the circuit board to override the laser bypass circuit. In an embodiment, the carrier board <NUM> is further provided with a cable <NUM> operable to send a signal to reset the software on the carrier board. The carrier board <NUM> receives voltages over the cable <NUM> from the multi-voltage power supply <NUM>. In an embodiment, additional voltages are provided from the multi-voltage power supply <NUM> to the I/O panel <NUM> and to the fan assembly <NUM>.

In one or more embodiments, the light projector <NUM> includes a display <NUM> that includes a user interface that is operable to display the acquired intensity image and allow interaction with the user. In an embodiment, the display <NUM> may be integral with the housing <NUM>. In another embodiment, the display <NUM> may be remote from the light projector <NUM>. The display <NUM> may be coupled to the processor <NUM> via wired (e.g. Universal Serial Bus, Ethernet, etc.) or via a wireless (e.g. IEEE <NUM>, Wi-Fi, Bluetooth™ etc.) communications mediums. In an embodiment, the light projector <NUM> may include a communications module <NUM> (<FIG>) that is configured to transmit and receive signals from the processor <NUM>, the display <NUM>, and/or one or more remotely located computers. In an embodiment, the display <NUM> is a mobile computing device, such as a laptop or a tablet computer that is coupled for communication with the light projector <NUM> via the communications module <NUM>.

In an embodiment, the communications module may include an IEEE <NUM> (i.e. Wi-Fi) compatible transceiver. The transceiver is configured to emit a signal in the IEEE <NUM> spectrum upon startup of the light projector <NUM>. In this embodiment, the display <NUM> (or the computing device to which it is attached) may detect the signal and establish communications in accordance with the IEEE <NUM> protocol directly with the light projector <NUM>. It should be appreciated that this provides advantages in environments where there may be no IEEE <NUM> infrastructure or network in place.

In embodiments where the environment where the light projector <NUM> is to be used has an IEEE <NUM> network available, the display <NUM> (or the computing device to which it is attached) may connect to the light projector <NUM> via the network. In an embodiment, the communications module <NUM> includes an IEEE <NUM> (i.e. Ethernet) communications port. The light projector <NUM> connects to the IEEE <NUM> network and the display <NUM> connects to the IEEE <NUM> network. The network created by the IEEE <NUM> and IEEE <NUM> networks provides a communication path between the display <NUM> and the light projector <NUM>. It should be appreciated that this provides advantages in allowing for a remote connection (e.g. the display <NUM> is remote from the light projector <NUM>) or in connecting the display <NUM> to multiple light projectors <NUM>. In an embodiment, both the light projector <NUM> and the display <NUM> connect for communication via the IEEE <NUM> network.

In an embodiment, the light projector <NUM> includes an inertial measurement unit <NUM> (IMU) that includes sensors, such as accelerometers, compasses, or gyroscopes for example, that allow for an estimation of translational and rotational movement of the light projector <NUM>. As discussed in more detail herein, the IMU <NUM> provides additional information that in some embodiments may be used to align the light projector <NUM> with an electronic model.

In an embodiment, the light projector <NUM> may be the same as that described in commonly owned and concurrently filed United States Provisional Application entitled "Laser Projector" (<CIT>).

It should be appreciated that in order for the image or template to be projected in the desired location, and in the desired pose, the position and orientation/pose of the light projector <NUM> in the environment needs to be registered to the model of the environment (e.g. CAD model, As-built CAD model, point cloud). In this way, the processor <NUM> can determine the vectors for emitting light along a path on a surface in the environment to form the image or template.

Referring now to <FIG>, an embodiment of a method <NUM> is shown for registering or aligning the light projector <NUM> to the electronic model of the environment. The method <NUM> begins when the electronic model is imported, at block <NUM>. In the illustrated embodiment, the electronic model is imported into, or is available to the processor <NUM>. In other embodiments, the electronic model may be imported into a computing device remote from the light projector <NUM>. In still other embodiments, the electronic model is imported into the computing device associated with display <NUM>.

The method <NUM> then proceeds to block <NUM> for removing portions of the electronic model that are not relevant to the area where a pattern of light ("template") is to be projected. It should be appreciated that an electronic model, such as a computer-aided-design (CAD) model of a building for example, will have more data than the area where the pattern of light is to be projected. In some embodiments, the operator may clip, trim, or delete portions of the electronic model. In some embodiments, by removing portions of the electronic model, the performance of the computing device may be improved.

The method <NUM> further uses the light projector <NUM> to scan an intensity image containing the entire area of the electronic model that the light projector <NUM> is being aligned to. Parameters for the intensity image, such as field of view, scan speed, and scan resolution may be determined by a user or automatically determined by the light projector <NUM>. To scan the intensity image, the light projector <NUM> performs a scan over its field of view (e.g. <FIG>) as described herein, at block <NUM>. In some embodiments, the light projector <NUM> performs multiple scans.

In an embodiment, the light projector <NUM> projects a scan-box, which represents a portion of the light projector's <NUM> field of view that will be scanned to generate the intensity image, at block <NUM>. The scan-box is visible to the operator. In some embodiments, the operator may place point targets, e.g., reflective targets, contrast targets (e.g. black and white checkerboard), coded targets, spheres that are detectable using the light projector, retroreflective targets, photogrammetry targets, and other types of detectable targets in the environment within the field of view of the light projector <NUM>. The scan-box is produced using a predetermined set of parameters to generate a visible pattern of light to mark a particular area (representing the field of view) in which the operator can place the point targets to perform alignment of the light projector <NUM> with the 3D model (and environment). The parameters of the light projector <NUM> are adjusted dynamically to perform the alignment.

In <FIG>, the light projector <NUM> projects a glowing pattern of light <NUM> that is included in the scan-box <NUM> in the environment. The scan-box <NUM> can encompass an object <NUM> (e.g., 3D model) in some examples. It can be appreciated that although a single object <NUM> is depicted, in other embodiments, the environment can include multiple objects <NUM> on which the glowing pattern of light <NUM> is incident. In some examples, the scan-box <NUM> encompasses all the objects on which the glowing pattern of light <NUM> is incident. The object <NUM> is the 3D model in some embodiments. Alternatively, or in addition, the model <NUM> can include one or more point targets that are used to align the light projector <NUM>.

The glowing pattern of light <NUM> is sometimes referred to as a "template. " In general, the projected pattern of light <NUM> is repeated periodically at a predetermined time interval, which is the period of the projected pattern. The reciprocal of the period of the projected pattern is called the refresh rate. If the refresh rate is too low, the glowing pattern will appear to observers to be flickering and will appear to flash at regular intervals. A flickering pattern can cause observers to experience fatigue, dizziness, and headaches. To avoid this problem, the refresh rate is set high enough that a viewer, e.g., the operator, observes the glowing pattern of light <NUM> as a steady, flicker-free image. Such a flicker-free image is related to persistence of vision experienced when viewing motion pictures in cinema or on television. In some embodiments, it is also desired that the projected glowing pattern of light <NUM> be bright enough to be clearly visible to an observer. At the same time, it is desired that a glowing pattern of light <NUM> meet the eye safety limit for laser light.

The light projector <NUM> is used to scan point targets, (e.g., fiducial targets) such as the targets 1930A, 1930B, 1930C, 1930D with the same beam <NUM> used to produce the glowing pattern of light <NUM>. In some cases, the point targets are made of retroreflective materials, while in other cases the point targets are features that are reflective but not retroreflective.

In an embodiment, the glowing pattern of light <NUM> includes dotted contours <NUM> as in <FIG>. In an embodiment, the dots <NUM> appear to be stationary to the human eye though the projected trajectory is created by dynamically steering the laser beam as a periodic function of time. In an embodiment, the dots <NUM> are formed by pulsed laser light having a selectable repetition rate. A beam steering control produces variable acceleration and velocity through a stream of incremental position commands precisely synchronized with the timing of the laser pulses. The frequency and duration of the laser pulses are selected based at least in part on a selected beam angular velocity that maintains a reasonable separation between the dots while maintaining a peak optical power that meets the laser eye safety limits to implement such a collection of dots with the light projection system <NUM>. In an embodiment, the light source <NUM> has modes for generating both pulsed light and continuous wave (cw) light. In an embodiment, the pulsed laser light may rapidly change repetition rate, peak power, and pulse duration. In an embodiment, the cw laser has a variable power level. In an embodiment, the light source <NUM> is a semiconductor laser having analog functionality for modulating the laser beam in time. In an embodiment, the light projector <NUM> ordinarily uses the pulsed mode of operation when projecting the glowing pattern of light <NUM> on the object as a collection of dots <NUM>. The light projector <NUM> ordinarily uses the cw mode of operation when scanning the point targets and features such as 1930A, 1930B, 1930C, 1930D in raster scan patterns 1932A, 1932B, 1932C, 1932D, respectively. In an embodiment, the detected signal is converted from analog to digital form before sending it to the processor <NUM> for further processing. In an embodiment, the light projector <NUM> monitors the power of the beam <NUM> to guarantee fail-safe system operation in multiple laser control modes by limiting the average output power and, if desired, the laser pulse energy according to the assigned laser safety class.

In an exemplary light projector <NUM>, the beam steering angular velocity reaches up to about <NUM> radians per second, with beam steering angular accelerations reaching up to about <NUM>,<NUM> radians per second squared. <FIG> illustrates an exemplary velocity trajectory <NUM> constructed of piece-wise segments. <FIG> also shows the resulting position trajectory <NUM>, which is found by integrating the velocity trajectory over time. In an embodiment, beam-steering servo control is provided by the galvo module <NUM>. In an embodiment, the galvo motor assemblies 320A use real-time position commands at equal time intervals ("time ticks") of between <NUM> and <NUM> microseconds. Because the time intervals are much smaller than the reaction time of the galvo motor assemblies 320A, the position commands executed in each time interval produce a smooth motion. This is illustrated in <FIG>, where incremental position movements at time intervals T produce a smooth position trajectory <NUM>.

In an embodiment, the carrier <NUM> provides a master clock that sends synchronization signals to the galvo module <NUM> and to the light source <NUM>. <FIG> is a schematic illustration showing how galvo movements and laser emissions are synchronized to produce a glowing pattern <NUM>.

The scan-box <NUM> is projected at the start of a scanning procedure. The operator may adjust the size and position of the scan-box <NUM> via a user interface, for example, with a mouse, touchscreen, keyboard, etc. The scan-box <NUM> is adjusted to encompass targets such as 1930A, 1930B, 1930C, 1930C, 1930D. A "quick scan" is performed at a relatively low resolution over the entire scan-box <NUM>, which enables identifying the targets 1930A, 1930B, 1930C, 1930C, 1930D, although not necessarily the precise location of the targets1930A, 1930B, 1930C, 1930C, 1930D. Following this initial quick scan, a higher-resolution raster scan of the targets 1932A, 1932B, 1932C, 1932D are performed. Light reflected off the scanned object are picked up by the galvanometer mirrors 261A, 261B and directed to an optical detector within the optical detector assembly <NUM>. The intensity of the light reflected by the targets 1930A, 1930B, 1930C, 1930C, 1930D is picked up by the optical detector, which enables a processor within the device to determine the center of each of the targets as given by the steering angles of the galvanometer mirrors 261A, 261B. These angles to the centers of each of the targets 1930A, 1930B, 1930C, 1930C, 1930D are used by a processor in the system to determine the position and orientation of the scanned object within the frame of reference of the light projector <NUM>. This facilitates associating the targets 1930A, 1930B, 1930C, 1930C, 1930D with corresponding points in the electronic model. Following this step, the template <NUM> is then projected as glowing pattern of light on the object. The template <NUM> is projected separately, and at a later time than the scan-box <NUM>. In an embodiment, the glowing template pattern <NUM> is projected as a correction of dots <NUM>, although the individual dots may seem to form a continuous line because of the persistence of human vision at flashing rates above around <NUM>. Accordingly, embodiments of the technical solutions herein facilitate one or more scan-boxes <NUM> to be projected on the object to identify the regions to be scanned for targets 1930A, 1930B, 1930C, 1930C, 1930D. The light projector <NUM> then scans each of the targets to determine the angles to each target, enabling the position and orientation of the object <NUM> to be found in the frame of reference of the light projector <NUM>. In a separate step, the glowing pattern <NUM> is projected in a desired position on the object.

The glowing pattern <NUM> includes a collection of glowing dots <NUM>. A line <NUM> connecting the dots is ordinarily not visible on the object. In an embodiment, a complete collection of the dots <NUM> is projected once each cycle beginning with an initial projection point <NUM>. In an embodiment, both galvo mirrors 261A, 261B are completely settled in their positions at the initial projection point <NUM>. The direction of movement of the projected dots during a cycle is indicated by the arrows <NUM>. Clock pulses <NUM> of the master clock pulse train <NUM> are separated by the time intervals (time ticks) T. In an embodiment, the laser beam is emitted at each time interval, with one of the dots <NUM> produced with each emission. In an embodiment, the amount of separation between adjacent dots <NUM> is determined by the movement of the galvo mirrors 261A, 261B between light emissions. In an embodiment, this movement is determined by signals sent from the processor <NUM> to the galvo module <NUM>. These signals are indicative of a position trajectory <NUM> in <FIG>, also discussed herein in reference to <FIG>. The distance between successive dots <NUM> are command increment distances <NUM> calculated for each interval. Because of the dynamic integration of small individual command increments resulting in a smooth, reproducible motion profile, the locations of the laser dots <NUM> appear stationary to the human eye, even though the trajectory path is created by a moving pulsed laser beam. Although in the discussion herein, the laser pulses were synchronized to command increment distances between dots <NUM>, a stationary pattern would still be created even if the time between laser pulses were a little different than the time between calculated position increments as long as the galvo mirrors 261A, 261B came to a stop at the start of each period at the projection point <NUM> beam position.

Visibility of a glowing pattern <NUM> formed by a focused moving light beam, either continuous or pulsed, is determined by its local average irradiance, in units of optical power per unit area, along the trajectory path. This is illustrated in <FIG> for continuous laser operation and in <FIG> for pulsed operation. To simplify calculations, the shape of the focused laser spot <NUM> in <FIG> is a square, each side having a dimension a. For the case of cw laser operation that produces a periodically projected continuous glowing line section <NUM> formed by a continuously moving laser spot <NUM> having a linear velocity v, a projection refresh period T, a spot side dimension a, and a cw beam power P<NUM>, the average irradiance A<NUM> of the glowing line section as seen by a viewer is
<MAT>.

Here, the length L of the periodically projected line <NUM> is L = v · T. For the case of continuous laser operation, the average output power PA is equal to the cw laser power P<NUM>.

<FIG> shows a pulse train <NUM> of individual laser pulses <NUM> each having a pulse width τ, the time interval between pulses t, and a peak power P<NUM>. The average output beam power PA of the pulse train <NUM> is
<MAT>.

<FIG> shows a periodically projected pattern <NUM> having isolated areas <NUM> illuminated during the laser pulses <NUM>. The projected spots are blurred over the pulse width τ by the movement of the beam at the linear velocity v. If the velocity is constant over the pulse width, then the velocity is equal to
<MAT>.

And the illumination distribution across each area <NUM> has a triangular shape <NUM> that occupies a length
<MAT>.

If the pulses are synchronized with the beam motion control as described herein above, the isolated areas <NUM> appear to be stationary to the human eye, and the isolated areas <NUM> occupy the same locations in the path <NUM> for every period of projection. In this situation, the separation s between adjacent areas <NUM> is
<MAT>.

The average irradiance A<NUM> of a single laser dot in an isolated area <NUM> as it appears to a viewer eye is
<MAT>.

Noting that for the case of a cw laser beam, the average output power is equal to the cw laser power, PA = P<NUM>, and combining Eqs. (<NUM>) - (<NUM>) give the results
<MAT>
and <MAT>.

Eq. (<NUM>) says that average irradiance of an individual laser dot in area <NUM> as viewed by an observer's eye is higher by a factor s/b than the average irradiance of a continuously moving laser spot <NUM> emitted by a cw laser. Hence it is possible to improve visibility using a pulsed laser beam to produce dots that appear stationary to a user. As an example, to achieve an increase in the irradiance of <NUM> to <NUM> times in a glowing pattern of light seen by an observer, the ratio s/b would ordinarily be held to at least <NUM>:<NUM>.

It is understood that the discussion above made some simplifying assumptions such as the shape of the moving laser spot (square rather than Gaussian shape, for example). In some embodiments, more detailed calculations are performed to eliminate the simplifying assumptions. In general, the effective spot size is a function of pulse width, linear velocity, and simplified spot size: b = F(τ, v, a).

An aspect of an embodiment is obtaining high visibility of the dots that appear stationary while keeping within laser safety requirements so that the scan-box <NUM> can be projected in the environment for the operator to adjust the light projector <NUM> (or the point targets) to ensure alignment with the 3D model. This is done by adjusting a combination of parameters, including average laser power, pulse repetition rate, instant pulse energy, focused laser spot size, distance between the light projector <NUM> and the object, and the beam steering angular velocity.

In an embodiment, the relevant laser safety standard in most cases is the International Standard on Safety of Laser Products IEC <NUM>-<NUM>. This standard defines Accessible Exposure Limits (AEL) by limiting the average laser power, the single pulse energy, and the energy per pulse within a pulse train for each defined Laser Safety Class. In other embodiments, other standards or safety guidelines are followed instead of, or in addition to, those of IEC <NUM>-<NUM>.

For galvanometer-based laser light projectors such as the light projector <NUM>, usually the relevant laser quantities from IEC <NUM>-<NUM> are average laser power and single pulse energy. Allowable levels for these quantities are established for different laser classes. For the light projector <NUM>, usually projectors are either class <NUM> or class 3R. For projection of visible wavelengths, the average optical power limits are <NUM> mW for class <NUM> and <NUM> mW for class 3R.

According to the <NUM> edition of IEC <NUM>-<NUM>, the maximum single pulse energy for visible light pulses shorter than <NUM> microseconds is <NUM> nJ (nanojoules) for class <NUM> and class <NUM> and <NUM> nJ for class 3R.

For a single pulse energy EP and an average power PA of a pulse train, the periodicity of pulses is given by
<MAT>.

Hence for a class <NUM> laser at the optical power limit of <NUM> mW and a pulse energy limit of <NUM> nJ, the periodicity of laser pulses in a pulse train must be separated by at least H = <NUM> nJ/<NUM> mW = <NUM> µs. In this document, the symbol H is used to represent the maximum allowable periodicity. Many values are possible for the allowable periodicity H according to the standard being considered.

For pulsed laser operation, a value is obtained for a maximum allowable linear spacing between projected dots. Spacing between the dots must be small enough to provide an operator with guidance to align and place items in a manufacturing or construction projector. In an embodiment, the spacing s is a constant. The light projector <NUM> has maximum achievable angular velocity vang (in units of radians per second) for the projected beam of light. In an embodiment, the periodicity t between pulses is determined with the equation t = s/(D · vANG). In one embodiment, D is the average distance between the light projector <NUM> and the object. Under this condition, the quantities s, D, and vang are fixed so that the periodicity t between adjacent laser pulses is also fixed. In another embodiment, the distance D is taken to be the actual distance to each point, which then produces a periodicity t that changes with the distance D.

In an action, one of two branches is taken according to whether the periodicity t between pulses is less than or equal to the pulse train periodicity threshold H. If t ≤ H, then for an allowable average power limit PAvLim and a maximum available peak laser power PPkMax, the pulse width τ and peak power P<NUM> are set to
<MAT>
<MAT>.

If t > H, then the pulse width τ and peak power P<NUM> are set to
<MAT>
<MAT>.

The calculated values for the periodicity t, the pulse width τ, and the peak pulse power P<NUM> are selected to provide control of the laser when running in pulsed mode. The laser beam is steered by the galvo steering mirrors 261A, 261B in response to signals sent from the processor <NUM>. The trajectory produced by the galvo steering mirrors 261A, 261B is synchronized to the laser pulses.

For cw laser operation, the processor calculates the trajectory of the glowing pattern. The average output power is set less than or equal to the laser safety limit: PAv ≤ PAvLim. The galvo steering mirrors 261A, 261B move the laser beam along a predetermined trajectory, taking steps with free running motion control ticks T as in <FIG>.

Referring back to the flowchart in <FIG>, the operator changes the pose of the light projector <NUM> to ensure that the scan-box <NUM> that is projected by the light projector <NUM> encompasses all the point targets to be used for the alignment. Changing the pose can include translating, and/or rotating the light projector <NUM>, the movement being along any axis (X, Y, Z). The scan-box <NUM> can encompass the entire field of view of the light projector <NUM> in some embodiments. Alternatively, the scan-box <NUM> can be of predetermined dimensions to only encompass a portion, and not the entire field of view of the light projector <NUM>. For example, the predetermined scan-box <NUM> can be a square with each side being of prescribed dimensions (<NUM> centimeters, <NUM> centimeters, etc.), with the square projected at a predetermined distance (<NUM> centimeters, <NUM> centimeters, etc.) from the light projector <NUM>. In other embodiments, one or more of the sides of the scan-box <NUM> can have different dimensions from the rest of the sides. The scan-box <NUM> can be a square, a triangle, a circle, a trapezoid, or any other shape. The scan-box <NUM> can be three-dimensional in some cases. It is understood that above mentioned dimensions are examples, and that one or more embodiments can use various other dimensions. The operating parameters (described herein) of the light projector <NUM> are adjusted accordingly to project the predetermined scan-box <NUM>.

In one or more embodiments of the present invention, the operating parameters (e.g., τ, v, a, P<NUM>, etc.) are adjusted dynamically by the operator to generate a predetermined scan-box <NUM>. The adjustments can be made to configure the projection of the scan-box <NUM>, for example, to reduce flicker, adjust dimensions of the projected light <NUM>, adjust gain, adjust resolution, adjust scan pattern, etc. For example, an operator can interact with a computer system to adjust the scan-box <NUM>, where the computer system is in communication with the laser projector <NUM>. For example, a left-click of a mouse of the computer system can be used to move the scan-box <NUM>, and a right-click can be used to change the size of the scan-box <NUM>. It is understood that other user-interactions can be used for such adjustments, and that additional/different adjustments can be made in other examples.

Alternatively, or in addition, the operator can move the point targets to ensure that at least the prescribed number of point targets are within the scan-box <NUM>. In some embodiments, the point targets are placed at predetermined positions in the scan-box <NUM>. The 3D model can provide the predetermined positions where the point targets are to be placed in the scan-box <NUM>. The 3D model is predefined and viewable to the operator, for example, as an electronic media (image, documents, etc.) or non-electronic media (e.g., printed copy).

Once the intensity scan is performed to capture the information in the scan-box <NUM> in the form of the intensity image is acquired, the process proceeds to block <NUM>. In block <NUM>, the intensity image is displayed on the display <NUM>. In the display <NUM>, the operator selects a feature in the intensity image of the environment, such as a corner of a wall (natural feature) or a point target (artificial feature), for example. The operator then selects the same feature in the electronic model to define or associate that the features selected in the intensity image represent the same point in space. The point target can be selected via the external computer <NUM> in some embodiments. For example, the 3D model is displayed by the external computer <NUM>, where the operator can interact with the model to perform one or more selections.

It should be appreciated that in an embodiment using point targets, the reflected light from the target will be significantly brighter (e.g. higher optical power) than the surrounding area in the intensity map. In some embodiments, this allows the point target to be automatically identified and selected. The intensity image is processed to find the location of point targets. Point targets are any identifiable features that can be described by a single 2D and 3D point in space. Point targets may include a circular target, either retro-reflective or with contrasting brightness levels. Point targets may also be a flat checkerboard which can be retro-reflective or with contrasting brightness. Point targets may also be an intersection point of, such as three surfaces (floor and two walls, ceiling and two walls, etc.). Point targets may be of one type, or any combination of types. In an embodiment where the feature is a natural feature, it may be automatically detected in block <NUM> using a suitable image processing technique, such as but not limited to Canny, Solbel, Kayyali detectors or a Gaussian or Hessian type detector for example.

In one or more embodiments, each point target is measured in more detail. This is used to determine target location more accurately or remove targets that have been falsely identified.

The one or more point targets are then matched to the nominal 3D locations from the electronic model. As noted earlier, the nominal 3D locations are provided by the operator, for example, by selecting via a user interface. Alternatively, the nominal 3D locations are predetermined locations. In some embodiments, an estimated location of the projector may be used to reduce the search space of target matching. The estimated location of the projector may be provided by the electronic model, or by another external measurement. In some embodiments, there may be less or equal number of point targets than nominal 3D locations. In other embodiments, there may be more nominal 3D locations than the point targets that are detected. The point targets and the nominal 3D locations are named the smaller set and larger set determined by which set has more items. Each item in the smaller set is assumed to be able to match to an item in the larger set. A minimal number of items forming the largest polygon in the smaller set is selected. The number of items is determined by the least amount of points needed to align the projector.

For each N choose M permutations of the larger set, where N is the number of items in the larger set and M is the number of items in the polygon, an alignment is calculated between the items in the polygon and the items in the current iteration of the permutation. If an alignment can be calculated, an error metric is calculated from the point targets and nominal 3D locations using that alignment. The error metric for each possible alignment is recorded. The possible alignments are then ordered from least error metric to greatest. For each error metric, an alignment is calculated between the point targets and the nominal 3D locations. The first error metric that can calculate a successful alignment is determined to be the correct alignment and matching is complete.

The method <NUM> then proceeds to query block <NUM> where it is determined whether additional points in the environment/model are desired. In the illustrated embodiment, it is desired to have four or more points identified in the environment/model. In other embodiments, it is desired to have at least six points identified in the environment/model. When the query block <NUM> returns a positive, the method <NUM> loops back to block <NUM> and additional points are identified in the image and the model.

It should be appreciated that in some embodiments there may not be a sufficient number of natural features (e.g. corners) to obtain a desired level of alignment. In one embodiment, when fewer natural features than are desired are within the field of view, the operator may create an artificial point in space using a device such as a plumb bob, for example. The operator installs the plumb bob and measures using a tape measure from known locations to the point of the plumb bob. A corresponding point may then be added to the electronic model. In still other embodiments, an artifact having multiple retroreflective targets may be placed in the environment within the scan-box <NUM>.

It should be appreciated that there may be a difference between an electronic design-model that was generated as part of the original design, and an as-built model. The as-built model will be generally more accurate regarding the position/location of features. As a result, when a design-model is used, in some instances the alignment will deviate from a desired level of accuracy. In some embodiments, the movement or rotation data from the IMU <NUM> may be used to narrow the solution space so avoid or reduce the risk of an alignment that is incorrect. In other embodiments, one or more artifacts placed in the environment may provide an indication on whether the alignment is within desired accuracy parameters.

When the query block <NUM> returns a negative, meaning a sufficient number of features/points having been identified in the image and the model, the process <NUM> proceeds to block <NUM> where the light projector <NUM> and the electronic model are aligned using the features/points identified in block <NUM>. With the light projector <NUM> and the electronic model aligned, the process <NUM> proceeds to block <NUM> where the path for emitting the light is determined and the pattern of light is projected onto a surface in the environment. In an embodiment, the features and points are aligned using a best fit methodology.

In some embodiments, during operation the alignment of the light projector <NUM> to the electronic model will change or move, this is sometimes referred to as "drift. " Without being bound to any particular theory, it is believed that drift may be caused by galvanometers heating or from physical interaction between the light projector <NUM> and the operator (e.g. the light projector is accidentally bumped), or vibrations in the environment (e.g. on the surface the light projector is placed).

Referring to <FIG>, an embodiment of a method <NUM> is shown for performing a periodic drift check. The method <NUM> starts in block <NUM> with the light projector <NUM> and the electronic model being aligned, such as in the manner described with reference to <FIG>. The method <NUM> then proceeds to block <NUM> where the template or image is projected onto a surface within the environment. Then on a periodic or aperiodic basis, or when requested by the operator, a drift check is performed. The method <NUM> proceeds to block <NUM> where one or more point targets are placed in the environment within the field of view of the light projector <NUM>. The method then proceeds to block <NUM> where the intensity image of the one or more point targets are acquired.

With the intensity image acquired, the method <NUM> proceeds to block <NUM> where the retroreflective targets are identified. The method <NUM> then compares in block <NUM> the positions of the point targets in the intensity image with the expected position of the of the point targets. The method <NUM> proceeds to block <NUM> where it is determined if the deviation in the imaged position from the expected position is more than a predetermined threshold. When the query block <NUM> returns a negative the method <NUM> loops back to block <NUM>.

When the query block <NUM> returns a positive, the method <NUM> proceeds to block <NUM> where the light projector <NUM> is once again aligned with the electronic model, such as in the manner described herein above with respect to <FIG>. With the light projector <NUM> and electronic model re-aligned, the method <NUM> loops back to block <NUM> to continue projecting the image or template.

It should be appreciated that in some embodiments, the operator may desire to rotate the light projector <NUM> on the stand or tripod that it is mounted, such as to project a template that was outside the initial field of view, or to project a new template for example. Referring to <FIG>, an embodiment is shown of a method <NUM> for rotating the light projector <NUM> and realigning the light projector <NUM> with the electronic model.

The method <NUM> starts in block <NUM> where the light projector is aligned to the electronic model, such as in the manner described in reference to <FIG> for example. The method <NUM> then proceeds to block <NUM> where the template is projected on to a surface in the environment and an action related to the template (e.g. install rebar cage, studwall layout, formwork position, opening position verification, class issue visualization) is performed in block <NUM>.

The operator then rotates the light projector <NUM> on the stand or tripod and the amount of rotation is measured with the IMU <NUM>, at block <NUM>. In an embodiment, the operator uses the scan-box <NUM> while rotating the light projector <NUM> to orient the light projector <NUM> in the desired direction. The method <NUM> then proceeds to block <NUM> where the light projector <NUM> is realigned with the electronic model based at least in part on the angle of rotation measured by the IMU <NUM>. With the light projector <NUM> realigned, the method <NUM> proceeds to block <NUM> where the new template is projected onto a surface within the field of view of the light projector <NUM> in the rotated position.

In some embodiments, it may be desirable to provide a visual indication of a floor or surface flatness. Referring now to <FIG>, a method <NUM> is shown for measuring a flatness of a surface, generating topographical curves, and projecting the topographical curves onto the surface with the light projector <NUM>. The method <NUM> starts in block <NUM> where point targets (e.g. checkerboard targets) are placed in the environment. The method <NUM> then proceeds to block <NUM> where the environment is scanned with a laser scanner to measure three-dimensional (3D) coordinates of surfaces in the environment. In the illustrated embodiment, the laser scanner may be the same as that described in commonly owned <CIT> entitled "Device for optically scanning and measuring an environment".

The output of the laser scanner is a plurality of three-dimensional coordinates that represent points on the surfaces in the environment. These coordinates may be graphically represented as points, that are commonly referred to as a "point cloud. " The method generates the point cloud in block <NUM>. From the point cloud, the user can identify and extract the surface to be analyzed (e.g. the floor). From this surface, topographical curves are generated in block <NUM>. The curves may be based on a user defined resolution or zone size that defines the sampling distance on a grid. The user may further define the isometric height for the curves (e.g. <NUM> inches). In some embodiments, the user may also define a minimum island size that defines a size of the topographical contours.

The method <NUM> then proceeds to block <NUM> where the targets from block <NUM> are extracted as alignment points. The operator then acquires an intensity image of the environment, at block <NUM>. One or more of the targets from block <NUM> are located within the intensity image by adjusting the visible scan-box <NUM> as described herein. As noted, the scan-box <NUM> represents the portion of the environment that will be captured in the intensity image. The method <NUM> then proceeds to block <NUM> where the targets are detected in the intensity image that is captured. Using the extracted alignment points from block <NUM> and the identified targets from block <NUM>, the method <NUM> proceeds to block <NUM> where the light projector is aligned to the point cloud. The method <NUM> then proceeds to project a template based on the topographical curves of block <NUM> to provide a visual indication of the flatness of the surface.

It should be appreciated that while the embodiment of <FIG> refers to a floor, this is for exemplary purposes and the claims should not be so limited. In other embodiments, the surface being measured and projected onto may be a different surface, such as but not limited to a ceiling, a wall, or a column for example.

While the disclosure is provided in detail in connection with only a limited number of embodiments, it should be readily understood that the disclosure is not limited to such disclosed embodiments.

Claim 1:
A method of aligning a light projector and an electronic model in an environment, the method comprising:
placing the light projector in the environment;
projecting a visible scan-box to mark a portion of the environment to be captured in an intensity image by the light projector;
acquiring the intensity image of the portion of the environment at a predetermined scan resolution;
identifying a plurality of point targets in the environment in the intensity image;
associating the plurality of point targets with a plurality of points in the electronic model;
aligning the light projector to the electronic model based at least in part on the plurality of point targets and the plurality of points;
measuring an angle rotation of the light projector with at least one sensor; and
realigning the light projector to the electronic model based at least in part on the measured angle of rotation.