Methods of using simultaneous localization for angle measurement and tracking

By integrating image-based localization and tracking with SLAM methodologies and IMUs, the method addresses the high cost of precise angle measurements in 3D laser scanners, achieving cost-effective and accurate localization and tracking.

WO2026064764A1PCT designated stage Publication Date: 2026-03-26FARO TECHNOLOGIES INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-23
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Existing 3D laser scanners rely on complex and costly optical encoders for precise angle measurements, increasing the overall manufacturing cost without providing a proportional reduction in performance.

Method used

Implement image-based localization and tracking using a combination of laser scanner data, color cameras, and inertial measurement units (IMUs) to dynamically adjust SLAM methodology weights, allowing the use of lower-cost encoders with reduced accuracy for precise angle determination.

Benefits of technology

Reduces the cost of 3D laser scanners while maintaining performance by utilizing lower-cost encoders and enhancing SLAM methodologies with image-based tracking, improving localization and tracking accuracy through sensor fusion and real-time feedback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000030_0000
    Figure 00000030_0000
  • Figure 00000031_0000
    Figure 00000031_0000
  • Figure 00000032_0000
    Figure 00000032_0000
Patent Text Reader

Abstract

A method performed by a three-dimensional (3D) laser scanner is provided. The method includes positioning the 3D laser scanner at a first position. First 3D data is acquired by rotating the 3D laser scanner at the first position. A characteristic of the environment is determined with a camera on the 3D laser scanner. At least one weighted parameter of a SLAM methodology is adjusted based on the characteristic. The 3D laser scanner is moved from the first position to a second position based on the SLAM methodology. A pose of the 3D laser scanner is tracked as the 3D laser scanner is moved from the first position to the second position. A second 3D data is acquired at the second position by rotating the 3D laser scanner at the second position. The second 3D data is registered with the first 3D data based on the tracking.
Need to check novelty before this filing date? Find Prior Art

Description

P1815-US-WO (138178-78420)METHODS OF USING SIMULTANEOUS LOCALIZATION FOR ANGLE MEASUREMENT AND TRACKINGCROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims the benefit of U.S. Provisional Patent Application Serial No. 63 / 697,859, filed on September 23, 2024, the contents of which are incorporated by reference herein in its entirety.BACKGROUND

[0002] The subject matter disclosed herein relates to use of a three-dimensional (3D) laser scanner for tracking the 3D laser scanner and generating a map of an environment as the 3D scanner is moving throughout the environment. The subject matter also relates to determining a pose of the 3D laser scanner using tracking data and the map of the environment as the 3D scanner moves throughout the environment.

[0003] One type of 3D laser scanner steers a beam of light to a non-cooperative target, such as a diffusely scattering surface of an object. A distance meter in the device measures a distance to the object, and angular encoders measure angles of rotation of two axles in the device. The angular encoders are optical encoders that have very high rotational / angular accuracy (e.g. approximately 5 arc seconds). The measured distance and two angles enable a processor in the device to determine very precise 3D coordinates of the target.

[0004] The 3D laser scanner determines a distance to one or more target points in the environment based on the speed of light in air between the 3D laser scanner and the one or more target points. The 3D laser scanner is typically used for scanning closed or open spaces such as interior areas of buildings, industrial installations, and tunnels. They are also used, for example, in industrial applications and accident reconstruction applications. The 3D laser scanner optically scans and measures objects in a volume around the scanner through the acquisition of data points representing object surfaces within the volume. Such data points are obtained by transmitting a beam of light onto the objects and collecting the reflected or scattered light to determine the distance, two-1MEI 47399462v.1P1815-US-WO (138178-78420) angles (i.e., an azimuth and a zenith angle), and optionally a gray-scale value. This raw scan data is collected, stored and sent to a processor or processors to generate a 3D image representing the scanned area or object.

[0005] Generating an image requires at least three values for each data point. These three values include the distance and two angles, or are transformed values, such as x, y, z coordinates. In an embodiment, an image is also based on a fourth gray-scale value, which is a value (e.g. optical power) typically related to the irradiance of scattered light returning to the scanner.

[0006] Most 3D laser scanners direct the beam of light within the measurement volume by steering the light with a beam steering mechanism. The beam steering mechanism includes a first motor that steers the beam of light about a first axis by a first angle that is measured by a first angular encoder (or another angle transducer). The beam steering mechanism also includes a second motor that steers the beam of light about a second axis by a second angle that is measured by a second angular encoder (or another angle transducer).

[0007] Many contemporary 3D laser scanners include a camera mounted on top of the 3D laser scanner for gathering camera digital images of the environment and for presenting the camera digital images to an operator of the 3D laser scanner. By viewing the camera images, the operator of the 3D laser scanner determines the field of view of the measured volume and manually adjusts settings on the 3D laser scanner to measure over a larger or smaller region of space.

[0008] Contemporary 3D laser scanners rely on very precise angle measurements that are generated by the encoders (e.g., approximately 5 arc seconds) in order to provide generally reasonable positional data of the one or more target points in the environment relative to the 3D scanner. These encoders include a variety of complex components with a variety of computationally complex requirements. The complexity of the components themselves, as well as the computational complexity associated with the components within the encoders undesirably add to the overall manufacturing cost of the 3D laser scanner.2MEI 47399462v.1P1815-US-WO (138178-78420)

[0009] Accordingly, while existing 3D scanners are suitable for their intended purposes, what is needed is a 3D scanner having certain features developed at lower cost and yielding comparable performance standards as described herein.BRIEF DESCRIPTION

[0010] According to one aspect of the present disclosure, a method performed by a three-dimensional (3D) laser scanner is provided. The method includes positioning the 3D laser scanner at a first position. First 3D data is acquired by rotating the 3D laser scanner at the first position. A characteristic of the environment is determined with a camera on the 3D laser scanner. At least one weighted parameter of a simultaneous localization and mapping (SLAM) methodology is adjusted based on the characteristic. The 3D laser scanner is moved from the first position to a second position based on the SLAM methodology. A pose of the 3D laser scanner is tracked as the 3D laser scanner is moved from the first position to the second position. A second 3D data is acquired at the second position by rotating the 3D laser scanner at the second position. The second 3D data is registered with the first 3D data based on the tracking.

[0011] The above features and advantages, and other features and advantages, of the disclosure are readily apparent from the following detailed description when taken in connection with the accompanying drawings.BRIEF DESCRIPTION OF DRAWINGS

[0012] The subject matter, which is regarded as the disclosure, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the disclosure are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:

[0013] FIG. l is a modular block diagram of a 3D laser scanner according to an embodiment;

[0014] FIG. 2A is a perspective view of an example of a 3D laser scanner according to one or more embodiments described herein;3MEI 47399462v.1P1815-US-WO (138178-78420)

[0015] FIG. 2B is a side view of the example of the 3D laser scanner illustrating a method of measurement according to one or more embodiments described herein;

[0016] FIG. 3 is a schematic illustration of another example of the 3D laser scanner according to an embodiment;

[0017] FIG. 4A depicts an additional 3D laser scanner according to one or more embodiments described herein;

[0018] FIG. 4B is an additional schematic illustration of the 3D laser scanner of FIG 4 A;

[0019] FIG. 5 is an illustration of an exemplary environment in which the 3D laser scanner conducts stationary scans and performs mobile tracking according to an embodiment;

[0020] FIG. 6A is a flowchart illustrating a process of performing a stationary scan using visual tracking according to an embodiment;

[0021] FIG. 6B is a flowchart illustrating a method of tracking a movement of a 3D laser scanner between stationary scans according to an embodiment; and

[0022] FIG. 7 is a schematic illustration of a processing system for implementing the presently described techniques according to one or more embodiments described herein.

[0023] The following detailed description explains embodiments of the disclosure, together with advantages and features, by way of example and with reference to the drawings.4MEI 47399462v.1P1815-US-WO (138178-78420)DETAILED DESCRIPTION

[0024] Embodiments described herein provide for image-based localization and tracking using laser scanner data. Particularly, one or more embodiments described herein relate to image-based device localization and feature tracking that is enriched by three-dimensional (3D) measurement data (e.g., captured by a laser scanner) and object recognition. For example, a processing system (e.g., an on-board processor, a smart phone, tablet computer, etc.) is located within an environment. The processing system controls a 3D scanner to cause the 3D scanner acquire 3D measurement data (or simply “3D data”) about an environment by performing a scan of the environment. It is desirable to determine a location of the 3D scanner within the environment. As used herein, this determination of location is referred to as “localization.” It is also useful to track the movement of the processing system and / or the 3D scanner within the environment. As used herein, this determination of movement is referred to as “tracking.”

[0025] Conventional techniques for device localization and tracking oftentimes rely on the use of 3D measurement data generated by a laser produced by a 3D laser scanner. These methods combine the 3D data with other measurements, such as those from an inertial measurement unit (IMU). Geometric features are defined as voxels while simultaneous localization and mapping (SLAM) methodology is used to determine a pose of the 3D laser scanner. In an embodiment, this method includes that which is described in Muglikar et al., Voxel Map for Visual SLAM, IEEE International Conference on Robotics and Automation, 2020, the contents of which are incorporated by reference herein. In other embodiments, other methods use a combination of 3D data and images, such as is described in commonly owned United States Patent No. 11,176,353 entitled “Three-Dimensional Dataset and Two-Dimensional Image Localization” the contents of which are incorporated by reference herein.

[0026] It should be appreciated that SLAM methodologies, such as Visual SLAM for example, are a function of a number of variables. Statistical techniques are5MEI 47399462v.1P1815-US-WO (138178-78420) used (e.g., Kalman filters and the like) to construct a map of an unknown environment and to keep track of the position of the 3D laser scanner within that environment. As will be discussed in more detail herein, the variables within the SLAM methodologies are not all weighted equally based on the quality of the variable. Accordingly, embodiments herein provide for dynamically adjusting the weighting of Visual SLAM variables during operation to improve the quality of the localization.

[0027] In an embodiment, the 3D laser scanner emits light into the environment in accordance with a particular waveform, and light that is returned from objects in the environment and detected by one or more sensors associated with the 3D laser scanner are then processed by a processor in order to generate 3D coordinate data of the environment. In one mode of operation, the 3D laser scanner is rotated about a stationary vertical (virtual) axis that extends through the middle of the 3D laser scanner while light is being emitted from the 3D laser scanner. It should be appreciated that while embodiments herein refer to the axis as being “vertical,” the axis can be on an angle relative to the surface on which the scanner is operating without deviating from the teachings herein. As such, in some embodiments the vertical axis is referred alternatively as the azimuth axis. Further, in some embodiments, there is a limited amount of off-axis movement or “wobble” of the 3D laser scanner during rotation, which are to remain within tolerances in order to maintain scan accuracy.

[0028] The process of rotating the 3D laser scanner about the vertical axis while the 3D laser scanner is emitting light into the environment surrounding the 3D laser scanner results in a light beam being reflected from one or more objects, surface and the like within the environment back toward the sensor to generate a collection of 3D coordinate data (e.g. distance and two angles) of the environment over a collection of angles swept out relative to the vertical axis.

[0029] In order to translate the light beams reflected from the one or more objects in the environment into 3D data, the reflected light beams are resolved into relevant position data associated with the one or more surfaces or features within the environment. The position of the one or more objects are used to determine the position of the 3D laser scanner (i.e. localize the 3D laser scanner). As discussed in more detail 6MEI 47399462v.1P1815-US-WO (138178-78420) herein, in one embodiment this is accomplished in part by a rotary encoder resolving part of the reflected light beam into the position of each of the one or more objects using based on an angle swept out relative to the above-mentioned vertical axis of rotation of the 3D laser scanner. In another embodiment, this angle may be determined optically using images and data acquired from a camera provided with the 3D laser scanner to cooperatively capture image data of the environment such as in the visible spectrum.

[0030] As noted above, the components comprising the encoder and the computational complexity associated with the computation of the angle swept out relative to the vertical axis, are correlated with the cost of the encoder. That is, as the accuracy of the encoder increases, so does the cost of the encoder. As a result, reducing the cost associated with the encoder would reduce the overall cost of the 3D scanner itself. Typical prior art laser scanners use optical encoders having very high accuracy (e.g. approximately 5 arc seconds). While these encoders do generate very precise angle measurements associated with the angle swept out relative to the vertical axis, embodiments provided herein use alternative methods that allow the use of lower cost encoders that have correspondingly lower accuracy (e.g. up to 20 arc minutes) that can nonetheless be used to determine the 3D measurement data generated by the 3D laser scanner with sufficient precision.

[0031] To address these and other shortcomings of existing approaches, one or more embodiments described herein provide for image-based localization and tracking using a combination of laser scanner data (e.g., 3D data obtained by a 3D laser scanner), one or more color cameras, and one or more inertial measurement units (IMUs). The phrases “laser scanner data,” “3D data,” and “3D measurement data” are used interchangeably throughout the description. Further embodiments use additional data, such as but not limited to an IMU and encoder data for example. In one or more embodiments, to provide image-based localization and tracking during a movement of the 3D laser scanner, 3D measurement data about an environment is captured. A processing system (e.g., a smart phone, tablet computer, etc.) that incorporates sensor fusion and / or SLAM capabilities and sensor equipment (e.g., a camera, an inertial measurement unit, a compass, a light detecting and ranging sensor, etc.) is then used to7MEI 47399462v.1P1815-US-WO (138178-78420) estimate a course surface map of the environment. The 3D measurement data is then used to generate a trajectory of the movement of the 3D laser scanner, resulting in an improved approach to image-based localization and tracking. In an embodiment, the SLAM methodology and tracking is performed during the scanning operation and provides real-time feedback to the operator. In other embodiments, the SLAM methodology and tracking is performed during post-processing, such as on a separate computing device from the 3D laser scanner.

[0032] It should be appreciated that embodiments herein describe the use of the IMU as an input for the start of the SLAM methodologies (i.e., by “dead reckoning”). However, in other embodiments, the SLAM data acquired during either mode of stationary / mobile operation is used to calibrate the IMU. It has been found that offsets in the IMU data (i.e., drifting) occur commonly, and the use of SLAM data to recalibrate the IMU improves the IMU data quality at the beginning of the next movement of the 3D laser scanner.

[0033] One or more embodiments described herein utilize SLAM algorithms. SLAM methodologies have typically been used to construct or update a map of an unknown environment while simultaneously tracking an agent’s (such as a robot or a user) location within the unknown environment in various embodiments. In one or more additional embodiments described herein, however, the disclosed 3D laser scanner also selects based on environment and utilizes one or more different visual SLAM techniques to determine the position as well as the orientation (also referred to as the “pose,” and having six-degrees of freedom, i.e.: x, y, z, roll, tilt, and yaw coordinates), of the 3D laser scanner. The visual SLAM techniques are used when the 3D laser scanner conducts stationary scans) and free mobile scans. As used herein a “stationary scan” is a scan or 3D measurement of the environment when the 3D laser scanner is stationary and rotates about its vertical axis, such as axis 201 for example. As used herein, a mobile scan is a scan or 3D measurement of the environment when the 3D laser scanner moves throughout the environment. Exemplary components of the 3D laser scanner that enables the 3D laser scanner to measure 3D data and determine the angle relative to the aforementioned axis of rotation are shown in FIG. 1.8MEI 47399462v.1P1815-US-WO (138178-78420)

[0034] The visual SLAM techniques are used for tracking the movement of the laser scanner 100 through the environment. Between scan positions to determine a position estimation for registration and the acquisition of additional 3D data. Part of the SLAM methodology incorporates a first loop-closing algorithm during rotation of a stationary scan and a second loop-closing algorithm for free mobile scanning. As a result, SLAM methods are used for the pose computation of the 3D laser scanner 100 both during stationary scanning and during the movement between scan positions. The sensors used to determine the pose and position of the 3D laser scanner 100 include at least two color cameras 101, 102 for the detection and tracking of texture features in 2D camera images generated by the two color cameras. The color cameras 101, 102 can be used as single tracking cameras or combined to one virtual camera with a larger field of view. It should be appreciated that the cameras allow the tracking of features between the images and thereby improve precision of features in the overlap region of the two color cameras. In other embodiments, a single camera is used that has a wide-angle field of view (FOV), such as a fish-eye lens (having, e.g., greater than a substantially 60 degree FOV).

[0035] In various implementations, a 3D sensor 103 is used to stabilize the feature tracking of the cameras 101, 102 by providing scaling (of acquired images) or is used to detect geometric features in the environment that are used as input for the computation of the pose of the 3D laser scanner. In some embodiments, an IMU 106 is used for an initial pose estimation (i.e., dead reckoning) or to support 2D camera image and 3D image data feature tracking by detecting false positions or drift. As discussed herein, the SLAM algorithms include a number of weighted parameters including, but not limited to, IMU data, where due to issues such as drift and measurement accuracy, the IMU parameters are given a lower-weight in the SLAM calculations than other variables in the pose estimation in various instances.

[0036] The processor or controller 105 of the improved 3D laser scanner 100 combines data generated by the two color cameras 101, 102, 3D sensor 103, IMU 106, and encoder in order to generate the computation of a pose of the 3D laser scanner. In one embodiment, the visual tracking (visual SLAM) is supported by 3D data which in9MEI 47399462v.1P1815-US-WO (138178-78420) turn helps generate high-accuracy measurements of the position and pose of the 3D laser scanner 100. In other words, the SLAM parameters for the 3D data have a higher weight relative to other parameters, such as the IMU 106. In an embodiment, the SLAM method is performed using the 2D camera images acquired by the color cameras 101, 102 during the movement of the 3D laser scanner 100. In another embodiment, the SLAM method is performed using 3D camera images. In still another embodiment the SLAM method is performed using a combination of 2D camera images, 3D camera images, and measurements by an IMU.

[0037] The color cameras 101, 102 used for tracking are also used for visualization. In some embodiments, high-resolution images generated by the color cameras 101, 102 are down-sampled to reduce computational time. Since the color cameras are in a fixed geometric relationship with the 3D sensor, the color values from the acquired color images are mapped to the 3D data. Further, in various embodiments, the 2D camera images that are used by SLAM are recorded at substantially the same time when the 3D data is generated.

[0038] In some embodiments, the IMU 106 (in particular, for initial dead reckoning) and 3D data (geometric feature detection in defined voxels) generated by the 3D sensor 103 are used to determine the pose of the 3D laser scanner 100 during a mobile scan. In other embodiments, the IMU is disabled, ignored / not-used, or provided with a low weight for purposes of the SLAM methods.

[0039] Referring to FIG. 1, a modular block diagram of a laser scanner 100 is shown according to one or more embodiments described herein. In an embodiment, cameras 101 and 102 are located internally to the 3D laser scanner 100. In an embodiment, the cameras 101 and 102 are integrated into the measuring head and have an optical axis that is substantially parallel to the beam of light emitted by the 3D laser scanner 100 and the reflected beam(s) of light. In an embodiment, the angular / rotational position of a measuring head of the 3D laser scanner 100 about the axis 201 is measured by an optional encoder 104 as shown in FIG. 2B.10MEI 47399462v.1P1815-US-WO (138178-78420)

[0040] The 3D laser scanner 100 is shown for optically scanning and measuring an environment surrounding the laser scanner 100 according to one or more embodiments described herein. The 3D laser scanner 100 further includes a three- dimensional (3D) sensor 103, such as a light detection and ranging (LIDAR) sensor. In an embodiment, the 3D sensor 103 is a Model XT32 LIDAR sensor manufactured by HESAI TECHNOLOGY. In an embodiment, the 3D sensor 103 emits the laser light over an angular range substantially about both a first axis (e.g. perpendicular to the vertical or azimuth axis of the sensor) and a second axis (e.g. about the vertical or azimuth axis). In an embodiment, beams of light are emitted approximately over an area of approximately 31 degrees about the second axis and + / - 15 degrees about the first axis. In an embodiment, the 3D sensor 103 emits and acquires 3D data at a rate of approximately 640,000 points per second or more. In an embodiment, the 3D sensor is comprised of a plurality of channels, such as 32 channels. Due to considerations such as noise, each of the channels has a different level of accuracy (i.e. quality). In these embodiments, the distance data acquired from each channel is weighted differently in the SLAM methods.

[0041] Coupled to the 3D sensor 103 is a controller 105. The controller 105 determines, for a multitude of measuring points X, a corresponding number of distances d between the 3D laser scanner 100 and the points on one or more objects in the environment. The distance d to a particular point X is determined based at least in part on the speed of light in air through which electromagnetic radiation propagates from the device to the point X on an object. In an embodiment the phase shift of modulation in light emitted by the 3D laser scanner 100 and the point X is determined and evaluated to obtain a measured distance d.

[0042] The controller 105 is capable of converting the analog voltage or current level provided by light receiver in the 3D sensor 103 into a digital signal to determine a distance from the 3D laser scanner 100 to an object in the environment. The controller 105 uses the digital signals that act as input to various processes for controlling the 3D laser scanner 100. The digital signals represent one or more laser scanner data including11MEI 47399462v.1P1815-US-WO (138178-78420) but not limited to distance to an object, images of the environment, images acquired by the cameras 101, 102, and angular / rotational measurements by the encoder 104.

[0043] In general, the controller 105 accepts data from encoders, light receiver, light source, and panoramic camera and is given certain instructions for the purpose of generating a collection of 3D coordinate points of a scanned environment. This collection of 3D coordinate points is sometimes referred to as a “point cloud.” The controller 105 provides operating signals to the 3D sensor 103, the cameras (101, 102) and a motor 107. The controller 105 compares the operational parameters to predetermined variances and if the predetermined variance is exceeded, generates a signal that alerts an operator to a condition. The data received by the controller 105 is displayed on a user interface coupled to or otherwise in communication with the controller 105. In an embodiment the user interface includes one or more LEDs (lightemitting diodes), an LCD (liquid-crystal diode) display, a CRT (cathode ray tube) display, a touch-screen display, and the like. In an embodiment, a keypad is also coupled to the user interface for providing data input to the controller 105. In one embodiment, the user interface is arranged or executed on a mobile computing device that is coupled for communication, such as via a wired or wireless communications medium (e.g. Ethernet, serial, USB, BLUETOOTH or WiFi) for example, to the 3D laser scanner 100.

[0044] In an embodiment, the controller 105 is also coupled to external computer networks such as a local area network (LAN) or the Internet. A LAN interconnects one or more remote computers, which are configured to communicate with the controller 105 using a well- known computer communications protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol), RS-232, ModBus, and the like. According to various embodiments, additional systems are connected to LAN with the controllers 105 in each of these systems being configured to send and receive data to and from remote computers and other systems. The LAN is connected to the Internet according to various embodiments. This connection, and other functional equivalents that are readily contemplated, allows the controller 105 to communicate with one or more remote computers connected to the Internet.12MEI 47399462v.1P1815-US-WO (138178-78420)

[0045] The controller 105 includes operation control methods embodied in application code (e.g., program instructions executable by a processor to cause the processor to perform operations). These methods are embodied in computer instructions written to be executed by processors, typically in the form of software. The software is encoded in any language, including, but not limited to, assembly language, VHDL (Verilog Hardware Description Language), VHSIC HDL (Very High Speed IC Hardware Description Language), F C, C++, C#, Objective-C, Visual C++, Java, ALGOL (Algorithmic Language), BASIC (Beginners All-purpose Symbolic Instruction Code), visual BASIC, ActiveX, HTML (HyperText Markup Language), Python, Ruby and any combination or derivative of at least one of the foregoing.

[0046] The 3D laser scanner 100 also includes an IMU 106 in various implementations. As shown in FIG. 1, the 3D laser scanner 100 includes the encoder104 as well as the motor 107.

[0047] In some embodiments, a processing system 500 (as described with respect to FIG. 7) is coupled to the 3D laser scanner 100 to implement methods described herein (e.g., methods 400 and 425 described with respect to FIGS. 6A and 6B). In some embodiments, the processing system 500 communicates with the 3D laser scanner 100 to exchange data and / or instructions. For example, the 3D laser scanner 100 sends data captured by one or more components 101-107 of the 3D laser scanner 100 to the processing system 105 for storage and / or processing. The processing system105 sends instructions to the 3D laser scanner 100 to control various components of the 3D laser scanner 100 to perform one or more operations (e.g., the operations described with respect to FIGS. 6A and 6B). In some embodiments, one or more components of the processing system 105 are included in the 3D laser scanner 100. For example, system memory 320, processors 321a, 321b, 321c, and graphic processing unit 337 are included in the controller 105 of the laser scanner 100. In some embodiments, all the components of the processing system 500 are included in the 3D laser scanner.

[0048] Referring now to FIG. 2A and FIG. 2B, an embodiment of the 3D laser scanner 100 is shown for optically scanning and measuring the environment surrounding the 3D laser scanner 100. The 3D laser scanner 100 has a measuring head 13MEI 47399462v.1P1815-US-WO (138178-78420)22 and a base 24. The measuring head 22 is mounted on the base 24 such that the 3D laser scanner 100 is rotated about a vertical axis 201. The rotation about the vertical axis is typically also substantially about the center of the base 24.

[0049] The measuring head 22 is further provided with an electromagnetic radiation emitter, such as light emitter 28, for example, which emits an emitted light beam 30. In one embodiment, the emitted light beam 30 is a coherent light beam, such as a laser beam. The laser beam, in various embodiments, has a wavelength range of approximately 300 to 1600 nanometers, for example 790 nanometers, 905 nanometers, 1550 nanometers, or less than 400 nanometers. It should be appreciated that other electromagnetic radiation beams having greater or smaller wavelengths are also used in some embodiments depending on the desired application. Coupled to the light emitter 28 and a light receiver is a controller 105. The controller 105 determines, for each of a multitude of measuring points, a corresponding number of distances d between the laser scanner 100 and each of the points on object 34. The distance to a particular point is determined based at least in part on the speed of light in air through which electromagnetic radiation propagates from the device to the point. In an embodiment, the light emitter 28 is a LIDAR device that emits light over a predetermined angular range and also rotates about an axis 25. In the illustrated embodiment, the axis 25 is disposed at an angle relative to the vertical axis 201.

[0050] In one mode of operation, the scanning of the volume around the laser scanner 100 takes place by rotating the measuring head 22 about the axis 201. This rotation may be stopped on a periodic or aperiodic basis to acquire color images of the environment. In an embodiment, the base 24 is coupled to a swivel assembly (not shown). The swivel assembly, in turn, is housed within the measuring head 22 and includes a motor 107 that is configured to rotate the measuring head 22 about the axis 201. In an embodiment, the angular / rotational position of the measuring head 22 about the axis 201 is measured by an angular encoder 104, such as an optical or magnetic encoder referencing an encoder ring or the like.

[0051] In an embodiment, the 3D laser scanner 100 further includes at least one image acquisition device, such as color cameras 101, 102. In the illustrated 14MEI 47399462v.1P1815-US-WO (138178-78420) embodiment, the image acquisition device has two color cameras 101, 102 that are disposed at a known angle relative to each other, and on an angle relative to the axis 25. In an embodiment, the color cameras 101, 102 may have overlapping fields of view. In an embodiment, the color cameras 101, 102 acquire images of the environment when the scanner 100 stops rotating to increase the sharpness of the images. The images acquired by the cameras 101, 102 may be used to map actual and correct colors of the environment onto the resulting point cloud measured by the LIDAR components of the scanner 100 in order to generate realistic digital depictions of the measured environment.

[0052] In some embodiments, as shown in FIG. 3, the 3D laser scanner 100 includes a stand 204 (such as a tripod or other functional equivalent). The base 24 is mounted on the stand 204. In an embodiment, the base 24 is coupled to a swivel assembly (not shown) such as that described in commonly owned U.S. Patent No. 8,705,012, which is incorporated by reference herein. The swivel assembly is housed within a carrying structure and includes the motor 107 that is configured to rotate the 3D laser scanner 100 about the axis 201. In an embodiment, the angular / rotational position of the measuring head about the axis 201 is measured by angular encoder 104.

[0053] Referring now to FIGS. 4A and 4B, the 3D laser scanner 100 includes a scan button 1, which is provided to turn it on and commence a scan. In some embodiments, there is a delay of one to several seconds between pressing the scan button 1 and the start of a scan. The scan button 1, in some embodiments, includes an LED or other indicator (not shown) to indicate that power to the 3D laser scanner 100 has been turned on. In various embodiments, the 3D laser scanner 100 rotates while scanning, when it is mounted on the stand 204 (or other support) and is clear of obstructions. In some instances, the 3D laser scanner 100 is turned off by pressing the scan button 1 for a set duration.

[0054] In various embodiments, the 3D laser scanner 100 includes a battery level indicator 2 for displaying to a user a present charge level of a battery 10, or other power supply.15MEI 47399462v.1P1815-US-WO (138178-78420)

[0055] In various embodiments, the 3D laser scanner 100 includes a bidirectional data port 3, such as a universal serial port (USB or USB-C) for communicating with a network, other processing devices or memory devices (such as a memory stick or the like) to transfer scanning data thereto. In some instances, an LED indicator 5 is provided, which will indicate (i.e., by blinking with a particular color such as green) while the data is being transferred to or from the 3D laser scanner 100 via the port 3 or via a network adapter (e.g., wireless WiFi adapter). In various embodiments, the scanning data from the 3D laser scanner 100 is remotely uploaded to a cloud-based data processing program or the like, which may include, in various embodiments, SCENE 3D point cloud software, STREAM mobile application scanner control software, and / or SPHERE XG digital reality software platform as provided by FARO Technologies, Inc.

[0056] In various embodiments, the 3D sensor 103 scans the environment 300 and creates one single scan file for each individual scan, in a similar manner to the FOCUS scanner manufactured by FARO Technologies, Inc. and described inter alia in U.S. Patent No. 10,175,360 entitled “Mobile Three-dimensional Measuring Instrument,” the entirety of which is incorporated herein by reference. The different scans are then preregistered by the cloud-based data processing programs.

[0057] In various embodiments, the cameras 101 and 102 include two high- quality (e.g. greater than substantially 20 megapixels) panorama camera(s) suitable for generating colorized (i.e., red, green blue, etc.) 3D point cloud data of the environment 300, as well as panoramic color images and single-shot high-resolution 360° images. Image data from the cameras 101 and 102 are generally stored in electronic memory in open file formats such as PNG, JPEG, or GIF formats, whereas for improved compression performance, JPEG is recommended. In various implementations, the images have a 2: 1 aspect ratio and, for maximum performance and compatibility with virtual reality or other vision systems (e.g., GOOGLE VR headset manufactured by Google, Inc.), image dimensions resolutions are usually in powers of two (e.g., 2048 or 4096), although other implementations are readily contemplated.16MEI 47399462v.1P1815-US-WO (138178-78420)

[0058] In various embodiments, the base 24 includes a quick mount adapter 7 secures the base 24 to the support 204 for accomplishing scans in the environment 300.

[0059] Referring now to FIG. 5, a schematic illustration is shown of an exemplary environment 300 in which the 3D laser scanner 100 conducts stationary scans and mobile scans. In exemplary environment 300, the 3D laser scanner 100 conducts a first stationary scan of the environment 300 at position A. The 3D laser scanner 100 then moves along a trajectory or path 301 while conducting a mobile scan of the exemplary environment 300 along the path 301 until the 3D laser scanner 100 reaches position B, where it conducts a second stationary scan. As will be discussed in more detail below, during the first scanning operation at position A, a plurality of images are substantially simultaneously acquired by cameras 101, 102. In an embodiment, during the stationary scan, additional images are acquired / recorded when the 3D laser scanner 100 is not moving. As a result, the quality of the acquired images is higher (i.e., exhibiting less or no blur). In an embodiment, the rotation of the 3D laser scanner 100 is a sequence of angular movements at a predetermined angle with a momentary pause to acquire the plurality of images. In an embodiment, the 3D laser scanner 100 is rotated in substantially 72 degree increments. As such, in one or more embodiments, features detected in the images acquired during the stationary scan are weighted higher, or with a high weight, in the SLAM method in comparison to other features acquired during the movement mode of operation (e.g. when potentially lower quality images are acquired).

[0060] Referring now to FIG. 6A, a method 400 is shown of measuring 3D data with the 3D laser scanner 100 using visual tracking according to one or more embodiments described herein. The method 400 begins at block 402 where the 3D laser scanner 100 is positioned at position A, such as on the stand 204, for example. The method 400 then proceeds to block 404 where a stationary mode of operation is initiated and the 3D laser scanner 100 is rotated about axis 201. In an embodiment, the rotation of the 3D laser scanner 100 is continuous and the steps of blocks 404, 406, 408 are performed while the rotation occurs. In another embodiment, the 3D laser scanner is rotated a predetermined amount such as 5, 10, 20, 45, or 72 degree increments for17MEI 47399462v.1P1815-US-WO (138178-78420) example, and the rotation stops while the steps of blocks 404, 406, 408 are performed. In such an embodiment, the rotation continues in a step-wise fashion.

[0061] The method 400 then proceeds to block 406 where distance data is acquired to points in the environment using the 3D sensor 103. In an embodiment, the 3D sensor 103 acquires a plurality of distance measurements simultaneously. The method 400 then proceeds to block 408 where images are acquired using cameras 101, 102. In the illustrated embodiment, the images from block 408 are acquired simultaneously with the 3D data from block 406. In some embodiments, the images and the 3D data that are acquire at the same time are stored or associated together. Collectively this image and 3D data is referred to as a “frame.”

[0062] The method 400 then proceeds to block 410 where the images of the environment from block 408 are used in a SLAM methodology to determine the amount of rotation of the 3D laser scanner 100. It should be appreciated that the angular measurement performed by the SLAM method is typically more accurate than that of the encoder 104. As a result, lower cost encoders are used while still providing a high accuracy 3D data measurement. In an embodiment, the SLAM method used for measuring the rotation of the 3D laser scanner 100 is simplified by applying constraints since the 3D laser scanner 100 is not translating within the environment and only those parameters that can change (e.g. due to axis wobbling) are maintained are kept in the SLAM determination. In an embodiment, the resulting SLAM angular measurement is associated with, or stored with, each frame.

[0063] In some embodiments, the constraints applied during the stationary scan can also be used to detect and remove erroneous 3D data, such as measurement artifacts caused by a moving object (e.g. a person or an automobile moving within the environment) that are acquired during the scan. It should be appreciated that the application of these constraints to the SLAM methodology provides advantages in reducing the computational time of performing the SLAM methodology and also improving the quality of the scan.18MEI 47399462v.1P1815-US-WO (138178-78420)

[0064] In various embodiments, the operations of blocks 404-410 are performed until the 3D laser scanner 100 has completed a 360 degree rotation in bock 412. In an embodiment, while the operations of blocks 404-410 are being performed, the method 400 simultaneously determines the 3D coordinate data in block 414 for each frame. It should be appreciated that while blocks 404-414 are shown as being performed in a particular order, this is for example purposes and the claims should not be so limited. In other embodiments, at least one of the blocks 404-414 can be performed in parallel with the other blocks 404-414. In an embodiment, each of the blocks 404-414 are performed in parallel. In an embodiment, the determination of the 360 degree rotation is based on the encoder data. In other words, the encoder 104 is used to stop the rotation of the 3D laser scanner 100 once one rotation has been completed. In another embodiment, the determination that the 360 degree rotation was achieved is determined using images acquired by one or both of the cameras 101, 102 To improve the accuracy of the measurements, the method 400 then proceeds to block 416 where a closed-loop error correction is performed. In an embodiment the first frame (e.g., 0 degrees rotation) and the last frame (e.g. 360 degrees) should be the same. In an embodiment, the first frame and the last frame are not identical, but have a predetermined amount of overlap in the field of view. In an embodiment, the closed loop error correction is performed using a matching of the 2D or 3D features within the overlap region. Once the closed loop error correction is completed, the method 400 proceeds to block 418 where the 3D data is transformed into a local coordinate frame of reference.

[0065] Referring now to FIG. 6B, an embodiment of a pose tracking method 425 of the 3D laser scanner 100 is employed during the movement mode of operation (e.g., from position A to position B), where, in some embodiments, a robot or other operator performs multiple scans of the environment. This is done, for example, to avoid occlusions in the final data. It should be furthermore appreciated that optical scanning is a line-of-sight measurement. As a result, when an obstruction (e.g. a wall or structural column) exists in the environment, the 3D laser scanner 100 is moved to acquire data behind or shadowed by the obstruction. In order to have all of the 3D in a common frame of reference, the six-degree of freedom positions of the 3D laser scanner19MEI 47399462v.1P1815-US-WO (138178-78420)100 at position A and position B need to be known so that the 3D data from position A and position B are registered together.

[0066] Method 425 begins with an optional block 430 where high quality (e.g., sharp or distinct) features in the environment are identified from the images acquired in block 408. In another embodiment, the features are identified from 3D data. In still another embodiment, the features are identified from a combination of 3D data and the images. In an embodiment, the identification of the features is performed automatically using feature recognition for example. In some embodiments, an optional block 432 is provided where the operator manually selects features in the environment. These selected features are referred to as “anchor points.”

[0067] The method 425 then proceeds to block 434 where the 3D laser scanner 100 is moved from position A to position B (FIG. 5). It should be appreciated that the movement of the 3D laser scanner 100 is performed in an ad hoc manner. In other words, the 3D laser scanner 100 does not need to be moved in a predetermined or know manner. The method 425 then proceeds to block 436 where the 3D laser scanner 100 acquires images (e.g. with cameras 101, 102) and 3D data (e.g. with 3D sensor 103) as the 3D laser scanner 100 is moved.

[0068] The method 425 then proceeds to block 438 where the pose (position and orientation) of the 3D laser scanner 100 are determined using SLAM along the trajectory between position A and position B. In an embodiment, the identified features from block 430 or the anchor points from block 432 are used in the SLAM method of block 438. In an embodiment, the parameters associated with the identified features and / or anchor points are assigned a high or higher weight relative to other parameters in the SLAM analysis in order to provide a more accurate determination of the 3D laser scanner pose.

[0069] The 3D laser scanner 100 is then placed at position B in block 440. It should be appreciated that due to the tracking of the 3D laser scanner 100 during block 438, the relative location of position B to position A is known. The method 425 then proceeds to block 442 where the stationary scan is then performed by performing20MEI 47399462v.1P1815-US-WO (138178-78420) method 400 once again. With the second stationary scan completed, the method 425 then proceeds to block 444 where the 3D data from position B is registered to the 3D data measured in position A.

[0070] It should be appreciated that the method 425 is repeated at multiple locations (e.g. position C, position D, position E, etc.) as desired by the operator.

[0071] It should be appreciated that while embodiments herein refer to the particular SLAM methodologies described above, this is for example purposes. In other embodiments, other SLAM methodologies are used, such as but not limited to ORBSLAM, GOOGLE CARTOGRAPHER, EKF-SLAM, Particle Filters, GRAPH-SLAM, RatSLAM, LIFT-SLAM, EnvSLAM, and Direct Sparse Odometry SLAM, for example. In an embodiment, the operator is provided with an input to choose among different SLAM methodologies to provide a desired accuracy for the environment in which the 3D laser scanner 100 is operated. In still further embodiments, the controller 105 receives inputs and selects a SLAM methodology based on the inputs. For example, the 3D laser scanner 100 acquires an image of the environment prior to performing 3D measurements and then selects a SLAM methodology based on a characteristic of the environment, such as the availability or quality of identifiable features or objects in the environment.

[0072] In other embodiments, the user interface of the 3D laser scanner 100 contains an element guiding the user or operator of the 3D laser scanner 100 during tracking of the movement of the 3D laser scanner 100. As the user moves the 3D laser scanner 100 through the environment, the 3D laser scanner 100 will evaluate data acquisition and quality and resultingly produce a prompt such as ‘move more slowly’ or ‘go back’ that provides the user with directions for moving the 3D laser scanner 100. In some embodiments, this quality control feature is implanted using text or a color indicator that is presented to the user on a display, although other indications, such as haptic and audio, are readily contemplated for effective use.

[0073] It is understood that one or more embodiments described herein are capable of being implemented in conjunction with any other type of computing21MEI 47399462v.1P1815-US-WO (138178-78420) environment now known or later developed. For example, FIG. 7 depicts a block diagram of a processing system 500 for implementing the techniques described herein. In accordance with one or more embodiments described herein, the processing system 500 is an example of a cloud computing node of a cloud computing environment. In some embodiments, the processing system 500 is in communication with the 3D laser scanner 100 for controlling the 3D laser scanner 100, tracking the 3D laser scanner, and performing simultaneous localization and mapping of the 3D laser scanner 100. In some embodiments, one or more components of the processing system 500 are included in the 3D laser scanner 100. In some embodiments, all the components of the processing system are included in the 3D laser scanner. In examples, the processing system 500 has one or more central processing units (“processors” or “processing resources” or “processing devices”) 321a, 321b, 321c, etc. (collectively or generically referred to as processor(s) 321 and / or as processing device(s)). In aspects of the present disclosure, each processor 321 includes a reduced instruction set computer (RISC) microprocessor. Processors 321 are coupled to system memory (e.g., random access memory (RAM) 324) and various other components via a system bus 333. Read only memory (ROM)322 is coupled to system bus 333 and includes a basic input / output system (BIOS), which controls certain basic functions of processing system 500.

[0074] Further depicted are an input / output (VO) adapter 327 and a network adapter 326 coupled to system bus 333. In various embodiments, I / O adapter 327 is a small computer system interface (SCSI) adapter that communicates with a hard disk323 and / or a storage device 325 or any other similar component. I / O adapter 327, hard disk 323, and storage device 325 are collectively referred to herein as mass storage 334. Operating system 340 for execution on processing system 500 is stored in mass storage 334 according to an embodiment. The network adapter 326 interconnects the system bus 333 with an outside network 336 enabling processing system 500 to communicate with other such systems.

[0075] A display (e.g., a display monitor) 335 is connected to system bus 333 by display adapter 332, which includes a graphics adapter to improve the performance of graphics intensive applications, as well as a video controller. In one aspect of the22MEI 47399462v.1P1815-US-WO (138178-78420) present disclosure, the adapters 326, 327, and / or 332 are connected to one or more I / O busses that are, in turn, connected to the system bus 333 via an intermediate bus bridge (not shown). Suitable I / O buses for connecting the peripheral devices (such as hard disk controllers, network adapters, and graphics adapters) typically include common protocols, such as, but not limited to, the Peripheral Component Interconnect (PCI). Additional input / output devices are shown as connected to the system bus 333 via the user interface adapter 328 and a display adapter 332. According to embodiments, the keyboard 329, mouse 330, and speaker 331 are interconnected to the system bus 333 via the user interface adapter 328, which includes, for example, a Super I / O chip integrating multiple device adapters into a single integrated circuit.

[0076] In some aspects of the present disclosure, processing system 500 includes a graphics processing unit (GPU) 337, which 337 is a specialized electronic circuit designed to manipulate and alter memory in order to accelerate the creation of images in a frame buffer intended for output to a display. In general, the GPU 337 is very efficient at manipulating computer graphics and image processing and has a highly parallel structure that makes it more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel.

[0077] Thus, as configured herein, the processing system 500 includes (i) processing capability in the form of processors 321, (ii) storage capability including system memory (e.g., RAM 324), and mass storage 334, (iii) input means such as keyboard 329 and mouse 330, and (iv) output capability including speaker 331 and display 335. In some aspects of the present disclosure, a portion of the system memory (e.g., RAM 324) and mass storage 334 collectively store the operating system 340 to coordinate the functions of the various components shown in processing system 500.

[0078] It will be appreciated that one or more embodiments described herein are embodied as a system, method, or computer program product and take the form of a hardware embodiment, a software embodiment (including firmware, resident software, micro-code, etc.), or a combination thereof. Furthermore, one or more embodiments described herein take the form of a computer program product embodied23MEI 47399462v.1P1815-US-WO (138178-78420) in one or more computer readable medium(s) having computer readable program code embodied thereon.

[0079] The term “about” is intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” includes a range, such as of ± 8% or 5%, or 2% of a given value.

[0080] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, element components, and / or groups thereof.

[0081] 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. Rather, the disclosure is modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the disclosure. Additionally, while various embodiments of the disclosure have been described, it is to be understood that the exemplary embodiment(s) include only some of the described exemplary aspects. Accordingly, the disclosure is not to be seen as limited by the foregoing description but is only limited by the scope of the appended claims.24MEI 47399462v.1

Claims

P1815-US-WO (138178-78420)WHAT IS CLAIMED IS:

1. A method performed by a three-dimensional (3D) laser scanner, the method comprising: positioning the 3D laser scanner at a first position in an environment; acquiring first 3D data by rotating the 3D laser scanner at the first position; determining a characteristic of the environment with at least one camera on the 3D laser scanner; adjusting at least one weighted parameter of a simultaneous localization and mapping (SLAM) methodology based on the characteristic; moving the 3D laser scanner from the first position to a second position based on the SLAM methodology; tracking a pose of the 3D laser scanner as the 3D laser scanner is moved from the first position to the second position; acquiring second 3D data at the second position by rotating the 3D laser scanner at the second position; and registering the second 3D data with the first 3D data based on the tracking.

2. The method of claim 1, wherein adjusting the at least one weighted parameter of the SLAM methodology based on the characteristic comprises: applying a higher weight to the first 3D data than at least one of: measurement data from an inertial measurement unit (IMU) and features acquired during a movement mode of operation.

3. The method of claim 1, wherein the determination of the characteristic of the environment is based on at least two cameras on the 3D laser scanner, the at least two cameras having overlapping fields of view.

4. The method of claim 1, wherein acquiring the first 3D data by rotating the 3D laser scanner at the first position comprises: acquiring distance data using a sensor of the 3D laser scanner; and acquiring at least one image of the environment using the at least one camera.25MEI 47399462v.1P1815-US-WO (138178-78420)5. The method of claim 4, wherein the distance data and the at least one image are acquired simultaneously.

6. The method of claim 1, further comprising: determining an angular rotation value of the 3D laser scanner using the SLAM methodology.

7. The method of claim 1, further comprising: determining that the 3D laser scanner has rotated substantially 360 degrees.

8. The method of claim 7, wherein the determining that the 3D laser scanner has rotated substantially 360 degrees is based on at least one of encoder data and an image acquired by the camera.

9. The method of claim 1, further comprising: determining that there is a mismatch in an overlap region between a first image and a second image, the first image being acquired by the at least one camera when the 3D laser scanner rotates 0 degrees, the second image being acquired by the at least one camera when the 3D laser scanner rotates 360 degrees; and performing a closed loop error correction based at least in part on the mismatch.

10. The method of claim 1, further comprising: selecting the SLAM methodology from a plurality of SLAM methodologies based on at least one of a user input and the characteristic.

11. A system comprising: a three-dimensional (3D) laser scanner capturing scan data of a surrounding environment; at least one processor coupled to the 3D laser scanner, the at least one processor performing tracking of the 3D laser scanner and simultaneous locating and mapping of the 3D laser scanner in the surrounding environment, which comprises: positioning the 3D laser scanner at a first position in an environment;26MEI 47399462v.1P1815-US-WO (138178-78420) acquiring first 3D data by rotating the 3D laser scanner at the first position; determining a characteristic of the environment with at least one camera on the 3D laser scanner; adjusting at least one weighted parameter of a simultaneous localization and mapping (SLAM) methodology based on the characteristic; moving the 3D laser scanner from the first position to a second position based on the SLAM methodology; tracking a pose of the 3D laser scanner as the 3D laser scanner is moved from the first position to the second position; acquiring second 3D data at the second position by rotating the 3D laser scanner at the second position; and registering the second 3D data with the first 3D data based on the tracking.

12. The system of claim 11, wherein adjusting the at least one weighted parameter of the SLAM methodology based on the characteristic comprises: applying a higher weight to the first 3D data than at least one of measurement data from an inertial measurement unit (IMU) and features acquired during a movement mode of operation.

13. The system of claim 11, wherein determining the characteristic of the environment is based on at least two cameras having overlapping fields of view.

14. The system of claim 11, wherein acquiring the first 3D data by rotating the 3D laser scanner at the first position comprises: acquiring distance data using a sensor of the 3D laser scanner; and acquiring at least one image of the environment using the at least one camera.

15. The system of claim 14, wherein the distance data and the at least one image are acquired simultaneously.

16. The system of claim 11, further comprising: determining an angular rotation value of the 3D laser scanner using the SLAM methodology.27MEI 47399462v.1P1815-US-WO (138178-78420)17. The system of claim 11, further comprising: determining that the 3D laser scanner has rotated at least 360 degrees.

18. The system of claim 17, wherein the determining that the 3D laser scanner has rotated at least 360 degrees is based on at least one of encoder data and an acquired by the at least one camera.

19. The system of claim 11, further comprising: identifying a mismatch in an overlap region between a first image and a second image, the first image acquired by the at least one camera when the 3D laser scanner has rotated 0 degrees, the second image acquired by the at least one camera when the 3D laser scanner has rotated substantially 360 degrees; and performing a closed loop error correction based at least in part on the mismatch.

20. A three-dimensional (3D) laser scanner comprising: a motor rotating the 3D laser scanner about an azimuth axis; at least one camera acquiring image data of an environment while rotating the 3D laser scanner; a controller coupled to the motor and the at least one camera, the controller executing processing instructions for: determining that the 3D laser scanner is positioned at a first position in the environment; receiving first 3D data acquired at the first position while the 3D laser scanner is rotating; determining a characteristic of the environment with the at least one camera; adjusting at least one weighted parameter of a simultaneous localization and mapping (SLAM) methodology based on the characteristic; determining that the 3D laser scanner is moved from the first position to a second position based on the SLAM methodology; tracking a pose of the 3D laser scanner as the 3D laser scanner is moved from the first position to the second position;28MEI 47399462v.1P1815-US-WO (138178-78420) receiving second 3D data acquired at the second position; and registering the second 3D data with the first 3D data based on the tracking.29MEI 47399462v.1

Citation Information

Patent Citations

  • Mobile three-dimensional measuring instrument

    US10175360B2

  • Three-dimensional dataset and two-dimensional image localization

    US11176353B2

  • Device for optically scanning and measuring an environment

    US8705012B2

  • Laser scanner with real-time online egomotion estimation.

    JP7141403B2

  • Laser scanner with real-time, online ego-motion estimation

    US20190003836A1