Control method for beam guidance and measurement acquisition for scanning applications

By dynamically controlling beam parameters using a specially designed programming language and processor, an adaptive 2D scanning pattern is generated, which solves the problem of waste of resources and difficult to adjust the measurement density of existing beam scanning systems, and achieves more efficient and more accurate 3D scene scanning.

CN119535409APending Publication Date: 2025-02-28LONGMEITONG OPERATIONS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411199430.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-03
Filing Date
2024-08-29
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

Existing beam scanning systems have problems such as wasting resources, difficulty in dynamic adjustment of measurement density, and long scanning time when scanning 3D scenes or 3D objects.

Method used

Using a special programming language and processor, the beam's trajectory, speed, measurement acquisition rate, focal length and integration time are dynamically controlled, and the corresponding subset of scanning parameters is set according to the different scanning areas to generate an adaptive 2D scanning pattern.

Benefits of technology

It improves the scanning efficiency and accuracy of objects or features of the beam scanning system in 3D scenes, reduces useless measurements, reduces the need to store measurement data, and shortens processing time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The invention relates to a control method for beam guidance and measurement acquisition for scanning applications. A beam scanning control system includes a motion compiler, a positioning compiler, and a controller. The motion compiler receives a high-level description language of a plurality of scan regions defining a scan area and a plurality of scan parameter subsets corresponding to the plurality of scan regions, calculates a two-dimensional (2D) scan pattern based on the high-level description language, and generates an assembly instruction based on the 2D scan pattern. Each scan parameter subset corresponds to a respective scan area of the plurality of scan areas. The positioning assembler compiles an assembly instruction into a machine instruction based on one or more characteristics of the 2D scanning system. The controller executes the machine instructions and generates a control signal for controlling the 2D scanning system to perform a 2D scan on the scan area according to the 2D scan pattern based on executing the machine instructions.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This patent application claims priority to U.S. Patent Application No. 63 / 535,895, filed on August 31, 2023, entitled “METHOD OF BEAM STEERING FOR SCANNING APPLICATIONS”. The disclosure of that prior application is considered a part of this patent application and is incorporated by reference into this patent application. Technical Field

[0003] The present disclosure generally relates to light beam scanning systems and methods for controlling light beam scanning systems. Background Art

[0004] The scanning system can use two-dimensional (2D) scanning to scan one or more light beams within a field of view (FOV) according to a scanning pattern. The scanning system can use two scanning axes, including a first scanning axis and a second scanning axis, the first scanning axis being configured to steer one or more light beams in a first direction at a first scanning frequency, and the second scanning axis being configured to steer one or more light beams in a second direction at a second scanning frequency. The second scanning axis is typically perpendicular to the first scanning axis. The emitted light beam can be reflected back to the scanning system as a reflected light beam from one or more objects in the FOV. Then, a three-dimensional (3D) image of the scanned scene or scanned object can be generated based on the distance measurement corresponding to the emitted / reflected light beam. Additionally or alternatively, the scanning system can use the reflected light beam to detect objects within the FOV for further processing. Summary of the invention

[0005] In some implementations, a beam scanning control system includes: a motion compiler configured to receive a high-level description language, the high-level description language defining multiple scanning regions of a scanning area and multiple scanning parameter subsets corresponding to the multiple scanning regions, wherein each scanning parameter subset corresponds to a corresponding scanning region among the multiple scanning regions, wherein each scanning parameter subset is defined by scanning parameter values ​​of the multiple scanning parameters of the corresponding scanning region, wherein the motion compiler is also configured to calculate a 2D scanning pattern based on the high-level description language and generate assembly instructions based on the 2D scanning pattern; a positioning assembler configured to receive the assembly instructions and compile the assembly instructions into machine instructions based on one or more characteristics of a 2D scanning system; and a controller including a processor, the processor configured to execute the machine instructions and generate a control signal based on the execution of the machine instructions, the control signal being used to control the 2D scanning system to perform a 2D scan of the scanning area according to the 2D scanning pattern.

[0006] In some implementations, a method for controlling a beam scanning operation includes: receiving a high-level description language by a motion compiler, the high-level description language defining multiple scanning regions of a scanning area and multiple scanning parameter subsets corresponding to the multiple scanning regions, wherein each scanning parameter subset corresponds to a corresponding scanning region among the multiple scanning regions, wherein each scanning parameter subset is defined by scanning parameter values ​​of the multiple scanning parameters of the corresponding scanning region, calculating a two-dimensional (2D) scanning pattern based on the high-level description language by the motion compiler, and generating assembly instructions based on the 2D scanning pattern; compiling the assembly instructions into machine instructions by a positioning assembler based on one or more characteristics of a 2D scanning system; executing the machine instructions by a controller; and generating a control signal by the controller based on the execution of the machine instructions, the control signal being used to control the 2D scanning system to perform a 2D scan on the scanning area according to the 2D scanning pattern. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 is a schematic block diagram of a 2D scanning system according to one or more implementations.

[0008] Figure 2 is a schematic block diagram of a beam scanning control system according to one or more implementations.

[0009] Figure 3 is a flow chart of a beam scanning control method according to one or more implementations.

[0010] Figure 4 An example scan area with an example 2D scan pattern superimposed on the scan area is illustrated. DETAILED DESCRIPTION

[0011] The following detailed description of example implementations refers to the accompanying drawings.The same reference numbers in different drawings may identify the same or similar elements.

[0012] 2D scanning can be used to scan a 3D scene or 3D object. Although light can be scanned in two dimensions, a third dimension (e.g., a depth dimension) can be obtained from the distance measurement. The distance measurement can be performed based on the flight time of the emitted and reflected light beams. Traditional methods for directing light beams for 2D scanning involve predetermined start and stop positions, predetermined fixed measurement acquisition rates, and several additional parameters that can be preconfigured based on the implementation. The scanning pattern is then repeated line by line until the 2D scan is complete. This approach has several pitfalls.

[0013] First, the entire area of ​​the 2D scan may be wasted on areas that do not need to be measured, such as the surface of a car window. As a result, a large number of measurements may be performed unnecessarily on surfaces with low geometry. Second, with traditional scanning with a fixed number of points, achieving a high density of measurements requires scanning a smaller surface because the distance between measurements cannot be dynamically modified on the fly. Third, due to the limitations of fixed scanning algorithms, multiple scans may be required to scan the entire FOV with multiple features of interest (e.g., a 3D scene or 3D object), which increases the scan time and increases the amount of memory storage required to store the measurement data (which may include non-essential data obtained from features with low geometry).

[0014] Thus, one or more of the problems with existing scanners translates into tradeoffs. Conventional methods can achieve high accuracy on small surfaces, but not on large surfaces. Conventional methods can scan larger surfaces, but waste measurements on areas that do not have features of interest to measure. Additionally, conventional methods can perform scans quickly to cover large surfaces, but accuracy may be low.

[0015] Some implementations provide a control method for directing a beam for 2D scanning using a custom programming language and a processor. The control method may allow for dynamic control of multiple parameters when scanning a 3D scene or 3D object. For example, the parameters may include beam trajectory, beam velocity, measurement acquisition rate, focal length, and integration time. Thus, the control method provides the ability to modify parameters for each measurement (e.g., on a beam-by-beam basis) or for each scan area of ​​the scan area to maximize the usefulness and efficiency of the 2D scan.

[0016] The control method differs from conventional methods in that it provides the ability to more efficiently scan one or more objects within a 3D scene or one or more features of a single object while keeping the scanning time close to the physical limits that a 2D scanner can provide. In addition, the control method can reduce the number of measurements acquired from objects or features with low geometry to reduce the amount of measurement data and reduce the amount of memory storage required to store the measurement data. A smaller amount of measurement data can also result in shorter processing times, resulting in the 2D scanner having less measurement data to process.

[0017] Figure 1 1 is a schematic block diagram of a 2D scanning system 100 according to one or more implementations. In particular, the 2D scanning system 100 includes a scanner 102 configured to direct or otherwise deflect a light beam according to a 2D scanning pattern for scanning a 3D object. The 2D scanning system 100 also includes a driver system 104, a system controller 106, a light emitter 108, and a sensor 110.

[0018] exist Figure 1 In the example shown, the scanner 102 can be a mechanical moving mirror and can be configured to rotate or oscillate around two scanning axes that are generally orthogonal to each other. For example, the two scanning axes can include a first scanning axis 112 and a second scanning axis 114 (e.g., an inner scanning axis), the first scanning axis enabling the scanner 102 to guide light in a first scanning direction (e.g., an x-direction), and the second scanning axis enabling the scanner 102 to guide light in a second scanning direction (e.g., a y-direction). As a result, the scanner 102 can guide a light beam in two dimensions according to a 2D scanning pattern.

[0019] Scanning can be performed to illuminate an area referred to as a field of view. Scans such as oscillating horizontal scans (e.g., from left to right and right to left of the field of view), oscillating vertical scans (e.g., from bottom to top and top to bottom of the field of view), or combinations thereof (e.g., Lissajous scans or raster scans) can illuminate the field of view in a continuous scan manner. In some implementations, the 2D scanning system 100 can be configured to emit a continuous light beam (e.g., as a continuous light pulse) in different scanning directions to scan the field of view. The scanner 102 can direct the emitted light beam to a desired 2D measurement coordinate (e.g., xy coordinate) in the field of view controlled by the system controller 106.

[0020] In some implementations, the scanner 102 may be arranged to receive an emission beam from the light emitter 108 and direct (scan) the emission beam into the field of view to perform an environmental scan. The emission beam may be backscattered by one or more objects as a reflected beam back to the 2D scanning system 100, where the reflected beam is detected by the sensor 110. For example, the sensor 110 may be an array of photodetectors. The sensor 110 may convert each reflected beam into an electrical signal (e.g., a current signal or a voltage signal), which may be further processed by the 2D scanning system 100 to generate object data or an image. In such an implementation, the desired 2D measurement coordinate may correspond to a specific emission direction in the field of view, which is the target of the emission beam for object detection or scanning, and different 2D measurement coordinates correspond to different emission directions. The system controller 106 may receive the electrical signal from the sensor and perform signal processing on the electrical signal for object feature detection.

[0021] Thus, according to the 2D scanning pattern, the scanner 102 can direct multiple light beams emitted at different emission times to different 2D measurement coordinates of the field of view. By changing the deflection angle of the scanner 102 about each of the first scanning axis 112 and the second scanning axis 114, the scanner 102 can be used to scan the field of view in two scanning directions.

[0022] The driver system 104 can be configured to generate drive signals (e.g., actuation signals) to drive the scanner 102 about the first scan axis 112 and the second scan axis 114. In particular, the driver system 104 can be configured to apply the drive signals to an actuator structure of the scanner 102. In some implementations, the driver system 104 includes a driver 116 configured to drive the scanner 102 about the first scan axis 112 and the second scan axis 114. In implementations where the scanner 102 is used as an oscillator, the driver 116 can be configured to drive the oscillation of the scanner 102 about the first scan axis 112 at a first frequency, and to drive the oscillation of the scanner 102 about the second scan axis 114 at a second frequency.

[0023] The driver 116 may be configured to receive feedback information, such as rotational position information, from the scanner 102. The system controller 106 may use the rotational position information to trigger a light beam at the light emitter 108. For example, the system controller 106 may use the rotational position information to set the emission time of the light emitter 108 in order to target a specific 2D measurement coordinate of the 2D scan pattern.

[0024] In some implementations, the system controller 106 is configured to set the drive frequency of the scanner 102 for each scan axis and is capable of synchronizing the oscillations about the first scan axis 112 and the second scan axis 114. In particular, the system controller 106 can be configured to control the actuation of the scanner 102 about each scan axis by controlling the drive signal. The system controller 106 can control the frequency, phase, duty cycle, and / or voltage level of the drive signal to control the actuation about the first scan axis 112 and the second scan axis 114. The actuation of the scanner 102 about a particular scan axis controls its range of motion and scan rate about that particular scan axis.

[0025] The light emitter 108 may include one or more light sources for generating one or more light beams, such as one or more laser diodes or one or more light emitting diodes. In some implementations, the light emitter 108 may be configured to sequentially emit multiple light beams (e.g., light pulses) as the scanner 102 changes its emission direction to aim at different 2D measurement coordinates. Depending on the application of the 2D scanning system 100, the multiple light beams may include visible light, infrared (IR) light, or other types of illumination signals. The emission sequence of the multiple light beams and their timing may be implemented by the light emitter 108 according to a control signal CTRL received from the system controller 106.

[0026] The system controller 106 may be configured to control the components of the 2D scanning system 100. In some applications, the system controller 106 may also be configured to receive programming information about the 2D scanning pattern and control the timing of the multiple light beams generated by the light emitter 108 based on the programming information. Therefore, the system controller 106 may include a processing and control circuit system configured to generate control signals for controlling the light emitter 108 and the driver 116. For example, the system controller 106 may include a processor 118 configured to execute machine instructions and generate control signals based on executing the machine instructions, and the control signals are used to control the 2D scanning system 100 to perform a 2D scan on the scanning area according to the 2D scanning pattern. For example, the processor 118 in combination with the control circuit system can control the light emitter 108 and the scanner 102 to aim at each 2D measurement coordinate with a corresponding light beam. The processor 118 can control the scanner 102 by controlling one or more parameters of the driver 116 (such as the frequency, phase, duty cycle and / or voltage level of the drive signal used to drive each scanning axis 112 and 114).

[0027] The processor 118 may be a custom processor, a dedicated processor, or a special processor configured to receive custom machine language instructions locally and execute custom machine language instructions. The processor 118 may be specially designed to execute custom machine language instructions to perform custom 2D scanning, while a general-purpose processor may not be able to execute custom machine language instructions to perform custom 2D scanning. The custom 2D scanning may be customized for one or more characteristics of the 2D scanning system 100, and based on different levels of interest corresponding to different regions (e.g., regions of interest) within the scanning area. The processor 118 may be configured to control and dynamically change one or more scanning parameters in real time when scanning the scanning area based on custom machine language instructions. In some implementations, the processor 118 may be implemented as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or simulated in software executed on a custom processing device.

[0028] In some implementations using multiple beams, the system controller 106 can be configured to generate a control signal CTRL for triggering the light emitter 108 to generate the multiple beams. Using the control signal CTRL, the system controller 106 can control the emission times of the multiple beams of the light emitter 108 to achieve a desired illumination pattern within the field of view. The desired illumination pattern is generated by a combination of the 2D scan pattern generated by the scanner 102 and the emission times triggered by the system controller 106.

[0029] In some implementations, object data can be used during the manufacturing process of an object (e.g., a vehicle) to detect whether parts are assembled correctly and / or meet one or more specifications. Thus, object data can be used during the manufacturing process to detect manufacturing failures that may occur.

[0030] Thus, the 2D scanning system 100 may include a detector including, for example, at least one sensor (e.g., sensor 110) and at least one signal processor (e.g., processor 118 or other additional processors and / or processing components) implemented in the system controller 106. The sensor 110 may generate an electrical signal based on a reflected light beam corresponding to the light beam emitted by the light emitter 108. The sensor 110 may transmit the electrical signal to the at least one signal processor. The at least one signal processor may be configured to process the electrical signal to generate a distance measurement based on a machine instruction for generating object data. The at least one signal processor may be configured to analyze the object data based on the machine instruction to detect a manufacturing fault.

[0031] As mentioned above, Figure 1 are provided as examples. Other examples can be found in the Figure 1 In practice, Figure 1 2D scanning system 100 may include more components, fewer components, different components, or differently arranged components than shown without departing from the above disclosure. In addition, in some implementations, 2D scanning system 100 may include one or more additional mirrors to scan the field of view.

[0032] Figure 2 2 is a schematic block diagram of a beam scanning control system 200 according to one or more implementations. The beam scanning control system 200 includes one or more input devices 202a, 202b, 202c, or 202d, an editor processor 204, and a compiler 206. The compiler 206 may include a motion compiler 208 and a positioning assembler 210.

[0033] One or more of the input devices 202a, 202b, or 202c may include or may be operably coupled to the editor processor 204 for generating a high-level description language. The high-level description language may provide the ability to generate a scanning program using a vectorized shape (rectangle, triangle, circle, etc.) and scanning parameter values ​​for one or more scanning parameters (such as measurement point density, beam speed, measurement acquisition rate, focal length, or integration time). The high-level description language may define a plurality of scanning regions of a scanning area and a plurality of scanning parameter subsets corresponding to the plurality of scanning regions, wherein each scanning parameter subset corresponds to a respective scanning region of the plurality of scanning regions, and wherein each scanning parameter subset is defined by scanning parameter values ​​for the plurality of scanning parameters for the respective scanning region.

[0034] One or more of the input devices 202a, 202b, or 202c may be configured to define vectorized shapes for a plurality of scan regions and to define scan parameter values ​​for each scan parameter subset.Each vectorized shape may define a respective scan region of the plurality of scan regions of the scan area.

[0035] The input device 202a may include a text editor configured to receive a high-level description language (eg, input from a user) and provide the high-level description language to the motion compiler 208. The input device 202a may include an editor processor 204 for generating the high-level description language based on the user input.

[0036] The input device 202b may include an image sensor 212 configured to generate an image of a target object, a display 214 configured to display the image and a graphical user interface (GUI) overlaid on the image, and a user interface 216 configured to receive user input, such as a keyboard, a mouse and / or a touch screen, which defines a vectorized shape in the graphical user interface and a plurality of scanning parameter subsets of scanning parameter values. For example, a user can use the user interface 216 to draw or otherwise define a vectorized shape on the GUI. Each vectorized shape can correspond to a corresponding scanning area in a plurality of scanning areas of the scanning area. In addition, the input device 202b may include at least one processor (e.g., an editor processor 204) configured to generate a high-level description language based on the user input.

[0037] The input device 202c may include at least one processor (e.g., editor processor 204) configured to process one or more geometric models of a target object using a machine learning model to identify a vectorized shape corresponding to the target object and define scan parameter values ​​for multiple scan parameter subsets. For example, the at least one processor may electronically receive one or more computer-aided drawing (CAD) models as the one or more geometric models, and may analyze the one or more CAD models using a machine learning model to identify vectorized shapes and determine scan parameter values ​​based on the vectorized shapes. Each vectorized shape may correspond to a corresponding scan area in a plurality of scan areas of a scan area. In addition, the at least one processor may generate a high-level description language based on the vectorized shapes and the scan parameter values ​​for the multiple scan parameter subsets using the machine learning model.

[0038] The motion compiler 208 may receive a high-level description language, calculate a 2D scan pattern based on the high-level description language, and generate assembly instructions based on the 2D scan pattern. The assembly language may be any low-level programming language that has a high-level correspondence between the high-level description language and machine instructions (e.g., a processor instruction set). Each machine language instruction may have a one-to-one correlation with a unique mnemonic representation of a command provided in the assembly language.

[0039] The assembly instructions may be product line specific. In other words, the assembly instructions may be generated for a specific product that is intended to be the target of a 2D scan. Thus, different assembly instructions may be generated for different products or different product lines. In some implementations, the input device 202d (e.g., a text editor) may provide additional assembly instructions or modifications to the assembly instructions.

[0040] Positioning assembler 210 may receive assembly instructions and compile the assembly instructions into machine instructions (e.g., custom machine language instructions) based on one or more characteristics of a 2D scanning system (e.g., 2D scanning system 100). Positioning assembler 210 may generate machine instructions based on one or more characteristics of 2D scanning system 100 such that a scan time for a 2D scan is minimized based on one or more physical limitations of 2D scanning system 100. The one or more physical limitations may correspond to one or more characteristics of scanner 102, one or more characteristics of light emitter 108, and / or one or more characteristics of sensor 110.

[0041] The machine instructions may be a set of low-level machine language instructions for the processor 118 to perform scanning and perform related settings and signal processing as directed by the set of low-level machine language instructions. The machine instructions may include, but are not limited to, memory access, variable allocation, variable manipulation, flow control, task / event sequencing, complex commands using variables / parameters / memory, mathematical operators, comparison operators, and special commands. For example, the processor 118 may execute the machine instructions and generate control signals based on the execution of the machine instructions for controlling the 2D scanning system 100 to perform a 2D scan on the scanning area according to the 2D scanning pattern.

[0042] The 2D scanning pattern includes a track of the 2D scanning pattern and a 2D measurement coordinate in each of the plurality of scanning areas. Therefore, each 2D measurement coordinate is located on the track. The processor 118 can control the light emitter 108 and the scanner 102 to aim at each 2D measurement coordinate using a corresponding light beam based on executing machine instructions.

[0043] The plurality of scan parameters may include a measurement point density that defines a 2D measurement coordinate density. Thus, each vectorized shape or scan region within the scan area may be associated with a corresponding measurement point density. Thus, a scan region with low geometric features (e.g., features with no or low geometric variation) may be associated with a low measurement point density provided by one or more of the input devices 202a, 202b, or 202c. In contrast, a scan region with high geometric features (e.g., features with high geometric variation) may be associated with a high measurement point density provided by one or more of the input devices 202a, 202b, or 202c. In some implementations, each scan region may be associated with two or more scan parameter values ​​of the plurality of scan parameters.

[0044] In some implementations, a high-level description language may define each scanning area in a plurality of scanning areas as a vectorized shape with a defined contour. In addition, a 2D scanning pattern may include a plurality of scanning patterns, each of which is defined by a defined contour of a corresponding vectorized shape. In other words, the motion compiler 208 may create different scanning patterns within a scanning area for different scanning areas. Therefore, within the same scanning cycle, as the 2D scan progresses from one scanning area to another scanning area, the scanning pattern may change. As a result, the trajectory of the 2D scanning pattern may be uneven throughout the scanning area, but may vary according to different scanning patterns. The motion compiler 208 may link each of the different scanning patterns with a corresponding scanning parameter subset. Therefore, the motion compiler 208 may calculate different scanning patterns based on a high-level description language. The assembly language may define different scanning patterns, the scanning area of ​​each scanning pattern, and the corresponding scanning parameter subset of each scanning pattern based on a high-level description language.

[0045] The set of machine instructions may be stored on a storage medium (e.g., a memory device) of the system controller 106, or may be stored on a storage medium that is accessible (e.g., via a read operation) to the system controller 106. Thus, the compiler 206 may provide the machine instructions to the system controller 106, which stores the machine instructions in a memory for execution by the processor 118, or to another memory device.

[0046] As mentioned above, Figure 2 are provided as examples. Other examples can be found in the Figure 2 Different from what is described.

[0047] Figure 33 is a flow chart 300 of a beam scanning control method according to one or more implementations. An input device 202, such as input device 202a, input device 202b, or input device 202c, is configured to provide a high-level description language to a motion compiler 208. The motion compiler 208 is configured to calculate a 2D scanning pattern based on the high-level description language, and to generate assembly instructions based on the 2D scanning pattern. The motion compiler 208 is configured to provide the assembly instructions to a positioning assembler 210. The positioning assembler 210 is configured to compile the assembly instructions into machine instructions based on one or more characteristics of the 2D scanning system 100, and to provide the machine instructions to a processor 118 of the system controller 106. The processor 118 is configured to execute the machine instructions, and based on executing the machine instructions, the system controller 106 is configured to generate a control signal, the control signal being used to control the 2D scanning system 100 to perform a 2D scan of a scanning area according to the 2D scanning pattern. The control signal may be used to control one or more actuators (eg, one or more actuators of scanner 102 ), one or more sensors (eg, sensor 110 ), and / or one or more light emitters (eg, light emitter 108 ).

[0048] As mentioned above, Figure 3 are provided as examples. Other examples can be found in the Figure 3 Different from what is described.

[0049] Figure 4 An example scanning area 400 is illustrated with an example 2D scanning pattern superimposed on the scanning area 400. The scanning system 100 can use the 2D scanning pattern to perform a 2D scan of the scanning area 400. Each dot represents a measurement point (e.g., a 2D measurement coordinate) corresponding to an emitted light beam. The measurement points are overlaid on a 3D object to be scanned (such as a vehicle door). The measurement can be maximized by increasing the measurement point density on areas of the 3D object with fine details (such as a vehicle door handle), reducing the measurement point density on areas of the 3D object with low geometry (such as a vehicle body panel), and skipping areas of the 3D object with no surface geometry (e.g., no changes in geometry) (such as a vehicle door window frame).

[0050] In addition, the measurement can be maximized by following curved object features and / or following the contours of object features (such as door trim). Scan lines across the field of view (e.g., a scan area) may include high-density areas, low-density areas, and skipped areas. In addition, the scan lines can be straight, curved, or contoured to follow the contours of object features of the 3D object. Using the control signal CTRL, the system controller 106 can control the emission times of multiple light beams of the light emitter 108 to achieve a desired illumination pattern within the field of view. The desired illumination pattern can be generated by a combination of a 2D scan pattern generated by the scanner 102 and an emission time triggered by the system controller 106.

[0051] Scan area 400 may include a plurality of scan regions 401-406, each of which may have a different scan pattern associated therewith. In scan region 401, the measurement point density may be set to zero, such that no scan is performed in scan region 401. In scan region 402, the measurement point density may be set to a scan parameter value corresponding to the level of detail to be scanned. Similarly, the measurement point density may be set to a scan parameter value corresponding to the level of detail to be scanned within each of scan regions 403-406. Furthermore, each of the different scan patterns may be defined by a defined outline of a corresponding vectorized shape.

[0052] Thus, the beam steering method can use a custom programming language and processor, which allows the user to determine exactly where and how to obtain each measurement of the scan pattern. The method can enable the 2D scanning system 100 to scan larger surfaces faster with high accuracy, minimal memory, and without useless measurements. In addition, the method can enable the 2D scanning system 100 to scan 3D objects by using a 2D scan pattern that follows the complex contours of the object's features.

[0053] Some implementations provide a scanner control method for enhancing scanning performance, accuracy, and faster data acquisition. The scanner control method can allow greater adaptability to various object sizes and surface characteristics, thereby increasing the versatility of the 2D scanning system. The scanner control method can incorporate advanced algorithms for real-time processing, debugging, and calibration to ensure consistent scan quality. Overall, the scanner control method can provide significant advantages in speed, accuracy, and flexibility for a variety of scanning applications.

[0054] The scanner control method may use a programming language coupled to a dedicated processor for directing a beam to obtain distance measurements. The motion planning method (e.g., implemented as part of compiler 206) may provide reduced scanning time, improve scanning accuracy and precision, and take into account one or more characteristics of the scanner to operate within the physical limitations of the scanner.

[0055] The machine instructions executed by the processor may be used to control the hardware, sensors, internal memory, and control flow of the 3D scanning system 100 .

[0056] Debugging tools can be built into the programming language that provides high-level functionality to control hardware for investigation purposes or to gather information during a scan.

[0057] The scanner control method may use a graphical user interface to automatically generate a scanning program based on the vectorized shape and input parameters provided via the graphical user interface.

[0058] The following provides an overview of some aspects of the disclosure:

[0059] Aspect 1: A beam scanning control system, comprising:

[0060] a motion compiler configured to receive a high-level description language, the high-level description language defining a plurality of scan regions of a scan area and a plurality of scan parameter subsets corresponding to the plurality of scan regions, wherein each scan parameter subset corresponds to a respective scan region of the plurality of scan regions, wherein each scan parameter subset is defined by scan parameter values ​​of the plurality of scan parameters of the respective scan region,

[0061] wherein the motion compiler is further configured to calculate a two-dimensional (2D) scanning pattern based on the high-level description language, and generate assembly instructions based on the 2D scanning pattern;

[0062] a positioning assembler configured to receive the assembly instructions and compile the assembly instructions into machine instructions based on one or more characteristics of the 2D scanning system; and

[0063] A controller includes a processor configured to execute the machine instructions and generate a control signal based on the execution of the machine instructions, wherein the control signal is used to control the 2D scanning system to perform a 2D scan on the scanning area according to the 2D scanning pattern.

[0064] Aspect 2. The beam scanning control system according to aspect 1, wherein the 2D scanning pattern comprises a trajectory and 2D measurement coordinates of the 2D scanning pattern in each of the plurality of scanning areas, and

[0065] Each 2D measurement coordinate is located on the trajectory.

[0066] Aspect 3. The beam scanning control system according to aspect 2, wherein the processor is configured to control the light emitter and the scanner to aim at each 2D measurement coordinate using a corresponding light beam.

[0067] Aspect 4. The beam scanning control system according to aspect 2, wherein the plurality of scanning parameters includes a measurement point density defining a density of the 2D measurement coordinates.

[0068] Aspect 5. A beam scanning control system according to any one of Aspects 1 to 4, wherein the high-level description language defines each of the plurality of scanning areas as a vectorized shape having a defined contour.

[0069] Aspect 6. A beam scanning control system according to aspect 5, wherein the 2D scanning pattern comprises a plurality of scanning patterns, wherein each scanning pattern of the plurality of scanning patterns is bounded by the defined outline of a corresponding vectorized shape.

[0070] Aspect 7. The light beam scanning control system according to any one of aspects 1 to 6, further comprising:

[0071] An input device is configured to define vectorized shapes of the plurality of scan regions and to define the scan parameter values ​​for each scan parameter subset.

[0072] Aspect 8. The beam scanning control system according to Aspect 7, wherein each vectorized shape defines a corresponding scanning area among the plurality of scanning areas.

[0073] Aspect 9. The beam scanning control system according to Aspect 7, wherein the plurality of scanning parameters include two or more of the following items: measurement point density, beam speed, measurement acquisition rate, focal length, or integration time.

[0074] Aspect 10. The beam scanning control system according to aspect 7, wherein the input device comprises a text editor, the text editor being configured to receive the high-level description language and provide the high-level description language to the motion compiler.

[0075] Aspect 11. The beam scanning control system according to aspect 7, wherein the input device comprises:

[0076] an image sensor configured to generate an image of a target object;

[0077] a display configured to display the image and a graphical user interface overlaid on the image; and

[0078] a user interface configured to receive user input defining the vectorized shape and the scan parameter values ​​of the plurality of scan parameter subsets in the graphical user interface,

[0079] wherein each vectorized shape corresponds to a respective scan area of ​​the plurality of scan areas, and

[0080] The input device comprises at least one processor, and the at least one processor is configured to generate the high-level description language based on the user input.

[0081] Aspect 12. The beam scanning control system according to aspect 7, wherein the input device comprises:

[0082] at least one processor configured to process one or more geometric models of a target object using a machine learning model to identify a vectorized shape corresponding to the target object and define the scan parameter values ​​of the plurality of scan parameter subsets,

[0083] wherein each vectorized shape corresponds to a respective scan region of the plurality of scan regions of the scan area, and

[0084] Wherein the at least one processor is configured to generate the high-level description language based on the vectorized shape and the scanning parameter values ​​of the plurality of scanning parameter subsets using the machine learning model.

[0085] Aspect 13. A beam scanning control system according to any one of Aspects 1 to 12, wherein the positioning assembler is configured to generate the machine instructions based on the one or more characteristics of the 2D scanning system so that the scanning time of the 2D scanning is minimized based on one or more physical limitations of the 2D scanning system.

[0086] Aspect 14. The light beam scanning control system according to any one of aspects 1 to 13, further comprising:

[0087] a detector comprising at least one sensor and at least one signal processor,

[0088] wherein the at least one sensor is configured to generate an electrical signal based on a reflected light beam emitted by the 2D scanning system, and

[0089] Wherein the at least one signal processor is configured to process the electrical signal to generate a distance measurement based on the machine instructions.

[0090] Aspect 15. A method for controlling a beam scanning operation, comprising:

[0091] receiving, by a motion compiler, a high-level description language, the high-level description language defining a plurality of scan regions of a scan area and a plurality of scan parameter subsets corresponding to the plurality of scan regions, wherein each scan parameter subset corresponds to a respective scan region of the plurality of scan regions, wherein each scan parameter subset is defined by scan parameter values ​​of the plurality of scan parameters of the respective scan region,

[0092] The motion compiler calculates a two-dimensional (2D) scanning pattern based on the high-level description language, and generates assembly instructions based on the 2D scanning pattern;

[0093] The positioning assembler compiles the assembly instructions into machine instructions based on one or more characteristics of the 2D scanning system;

[0094] executing the machine instructions by a controller; and

[0095] Based on executing the machine instructions, a control signal is generated by the controller, wherein the control signal is used to control the 2D scanning system to perform a 2D scan on the scanning area according to the 2D scanning pattern.

[0096] Aspect 16. The method according to aspect 15, wherein the 2D scanning pattern comprises a trajectory and 2D measurement coordinates of the 2D scanning pattern in each of the plurality of scanning areas, and

[0097] Each 2D measurement coordinate is located on the trajectory.

[0098] Aspect 17. The method according to aspect 16, wherein the plurality of scanning parameters comprises a measurement point density defining a density of the 2D measurement coordinates.

[0099] Aspect 18. The method according to any one of aspects 15 to 17, wherein the high-level description language defines each scanning region of the plurality of scanning regions as a vectorized shape having a defined contour.

[0100] Aspect 19. The method according to aspect 18, wherein the 2D scanning pattern comprises a plurality of scanning patterns, and

[0101] Wherein each scanning pattern of the plurality of scanning patterns is bounded by the defined outline of a corresponding vectorized shape.

[0102] Aspect 20. The method according to any one of aspects 15 to 19, further comprising:

[0103] providing the vectorized shapes of the plurality of scanning areas by an input device; and

[0104] providing, by the input device, the scan parameter values ​​for each scan parameter subset,

[0105] Each of the vectorized shapes defines a corresponding scan area among the plurality of scan areas.

[0106] Aspect 21: A system configured to perform one or more operations according to one or more of aspects 1 to 20.

[0107] Aspect 22: An apparatus comprising means for performing one or more operations according to one or more of aspects 1 to 20.

[0108] Aspect 23: A non-transitory computer-readable medium storing an instruction set, the instruction set comprising one or more instructions, which, when executed by a device, causes the device to perform one or more operations according to one or more of aspects 1 to 20.

[0109] Aspect 24: A computer program product comprising instructions or codes for performing one or more operations according to one or more of aspects 1 to 20.

[0110] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations may be made based on the above disclosure, or may be obtained from the practice of the implementation. In addition, any implementation described herein may be combined, unless the above disclosure explicitly provides reasons why one or more implementations cannot be combined.

[0111] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, and / or a combination of hardware and software. It is apparent that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit these implementations. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software codes, and it is understood that software and hardware can be designed to implement these systems and / or methods based on the description herein.

[0112] Although specific feature combinations are cited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in a manner that is not specifically cited in the claims and / or not specifically disclosed in the specification. Although each dependent claim listed below can directly rely on only one claim, the disclosure of various implementations includes the combination of each dependent claim with each other claim in the claim set. As used herein, the phrase referring to "at least one" in the list of items refers to any combination of these items, including single members. For example, "at least one of a, b or c" is intended to cover a, b, c, ab, ac, bc and abc, and multiple combinations of these items.

[0113] When a component or one or more components (e.g., a laser emitter or one or more laser emitters) is described or claimed (either within a single claim or across multiple claims) as performing multiple operations or being configured to perform multiple operations, such language is intended to broadly cover a variety of architectures and environments. For example, unless otherwise expressly required (e.g., via the use of "first component" and "second component" or other language that distinguishes components in the claims), the language is intended to cover a single component performing or being configured to perform all operations, a group of components collectively performing or being configured to perform all operations, a first component performing or being configured to perform a first operation and a second component performing or being configured to perform a second operation, or any combination of components performing or being configured to perform these operations. For example, when a claim is of the form "One or more components are configured to: perform X; perform Y; perform Z," the claim should be interpreted as "One or more components are configured to perform X; one or more (possibly different) components are configured to perform Y; and one or more (possibly different) components are configured to perform Z."

[0114] Unless explicitly stated, any element, behavior or instruction used in this article should not be interpreted as critical or essential. In addition, as used in this article, the article "one" and "an" are intended to include one or more projects, and can be used interchangeably with "one or more". In addition, as used in this article, the article "said" is intended to include one or more projects quoted in combination with the article "said", and can be used interchangeably with "one or more". In addition, the word "set" used in this article is intended to include one or more projects (for example, a combination of related projects, unrelated projects, or related and unrelated projects), and can be used interchangeably with "one or more". If only one project is intended to be used, the phrase "only one" or similar language is used. In addition, as used in this article, the term "having", "having", "containing" etc. is intended to be an open term. In addition, unless otherwise explicitly stated, the word "based on" is intended to represent "at least partially based on". In addition, as used in this article, the term "or" is inclusive when used in series, and can be used interchangeably with "and / or", unless otherwise explicitly stated (for example, if used in combination with "any one of ... or "only one of ... "). Additionally, for ease of description, spatially relative terms (such as "below," "lower," "above," "upper," etc.) may be used herein to describe the relationship of one element or feature to other elements or features shown in the figures. Spatially relative terms are intended to encompass different orientations of the device, equipment, and / or elements in use or operation in addition to the orientations shown in the figures. The device may be otherwise oriented (rotated 90 degrees or at other orientations), and the spatially relative descriptors used herein may be interpreted accordingly.

Claims

1. A beam scanning control system, comprising: a motion compiler configured to receive a high-level description language, the high-level description language defining a plurality of scan regions of a scan area and a plurality of scan parameter subsets corresponding to the plurality of scan regions, wherein each scan parameter subset corresponds to a respective scan region of the plurality of scan regions, wherein each scan parameter subset is defined by scan parameter values ​​of the plurality of scan parameters of the respective scan region, wherein the motion compiler is further configured to calculate a two-dimensional 2D scanning pattern based on the high-level description language, and generate assembly instructions based on the 2D scanning pattern; a positioning assembler configured to receive the assembly instructions and compile the assembly instructions into machine instructions based on one or more characteristics of the 2D scanning system; as well as A controller includes a processor configured to execute the machine instructions and generate a control signal based on the execution of the machine instructions, wherein the control signal is used to control the 2D scanning system to perform a 2D scan on the scanning area according to the 2D scanning pattern.

2. The beam scanning control system according to claim 1, wherein the 2D scanning pattern comprises a trajectory and 2D measurement coordinates of the 2D scanning pattern in each of the plurality of scanning areas, and Each 2D measurement coordinate is located on the trajectory. 3 . The beam scanning control system of claim 2 , wherein the processor is configured to control the light emitter and the scanner to aim at each 2D measurement coordinate using a corresponding light beam. 4 . The beam scanning control system of claim 2 , wherein the plurality of scanning parameters includes a measurement point density defining a density of the 2D measurement coordinates. 5 . The beam scanning control system of claim 1 , wherein the high-level description language defines each of the plurality of scanning areas as a vectorized shape having a defined contour. 6 . The beam scanning control system of claim 5 , wherein the 2D scanning pattern comprises a plurality of scanning patterns, wherein each scanning pattern in the plurality of scanning patterns is bounded by the defined outline of a corresponding vectorized shape.

7. The beam scanning control system according to claim 1, further comprising: An input device is configured to define vectorized shapes of the plurality of scan regions and to define the scan parameter values ​​for each scan parameter subset.

8. The beam scanning control system of claim 7, wherein each vectorized shape defines a corresponding scan area among the plurality of scan areas.

9. The beam scanning control system of claim 7, wherein the plurality of scanning parameters include two or more of the following: measurement point density, beam speed, measurement acquisition rate, focal length, or integration time.

10. The beam scanning control system of claim 7, wherein the input device comprises a text editor configured to receive the high-level description language and provide the high-level description language to the motion compiler.

11. The beam scanning control system according to claim 7, wherein the input device comprises: an image sensor configured to generate an image of a target object; a display configured to display the image and a graphical user interface overlaid on the image; as well as a user interface configured to receive user input defining the vectorized shape and the scan parameter values ​​of the plurality of scan parameter subsets in the graphical user interface, wherein each vectorized shape corresponds to a respective scan area of ​​the plurality of scan areas, and The input device comprises at least one processor, and the at least one processor is configured to generate the high-level description language based on the user input.

12. The beam scanning control system according to claim 7, wherein the input device comprises: at least one processor configured to process one or more geometric models of a target object using a machine learning model to identify a vectorized shape corresponding to the target object and define the scan parameter values ​​of the plurality of scan parameter subsets, wherein each vectorized shape corresponds to a respective scan region of the plurality of scan regions of the scan area, and Wherein the at least one processor is configured to generate the high-level description language based on the vectorized shape and the scanning parameter values ​​of the plurality of scanning parameter subsets using the machine learning model.

13. A beam scanning control system according to claim 1, wherein the positioning assembler is configured to generate the machine instructions based on the one or more characteristics of the 2D scanning system so that the scanning time of the 2D scanning is minimized based on one or more physical limitations of the 2D scanning system.

14. The light beam scanning control system according to claim 1, further comprising: a detector comprising at least one sensor and at least one signal processor, wherein the at least one sensor is configured to generate an electrical signal based on a reflected light beam emitted by the 2D scanning system, and Wherein the at least one signal processor is configured to process the electrical signal to generate a distance measurement based on the machine instructions.

15. A method for controlling a beam scanning operation, comprising: receiving, by a motion compiler, a high-level description language, the high-level description language defining a plurality of scan regions of a scan area and a plurality of scan parameter subsets corresponding to the plurality of scan regions, wherein each scan parameter subset corresponds to a respective scan region of the plurality of scan regions, wherein each scan parameter subset is defined by scan parameter values ​​of the plurality of scan parameters of the respective scan region, The motion compiler calculates a two-dimensional 2D scanning pattern based on the high-level description language, and generates assembly instructions based on the 2D scanning pattern; The positioning assembler compiles the assembly instructions into machine instructions based on one or more characteristics of the 2D scanning system; executing the machine instructions by a controller; and Based on executing the machine instructions, a control signal is generated by the controller, wherein the control signal is used to control the 2D scanning system to perform a 2D scan on the scanning area according to the 2D scanning pattern.

16. The method of claim 15, wherein the 2D scanning pattern comprises a trajectory and 2D measurement coordinates of the 2D scanning pattern in each of the plurality of scanning areas, and Each 2D measurement coordinate is located on the trajectory. 17 . The method of claim 16 , wherein the plurality of scanning parameters comprises a measurement point density defining a density of the 2D measurement coordinates.

18. The method of claim 15, wherein the high-level description language defines each of the plurality of scan regions as a vectorized shape having a defined outline.

19. The method of claim 18, wherein the 2D scan pattern comprises a plurality of scan patterns, and Wherein each scanning pattern of the plurality of scanning patterns is bounded by the defined outline of a corresponding vectorized shape.

20. The method of claim 15, further comprising: providing the vectorized shapes of the plurality of scanning areas by an input device; as well as providing, by the input device, the scan parameter values ​​for each scan parameter subset, Each of the vectorized shapes defines a corresponding scan area among the plurality of scan areas.