Method for attenuating galvanometer angle measurement noise effects in scanner point clouds
By using a dynamic model of a galvanometer-based two-dimensional scanner in the beam scanning system, a noise-free estimated angle measurement signal is generated, which solves the problem of galvanometer angle measurement noise and achieves more accurate three-dimensional point cloud generation.
Patent Information
- Application Number
- CN202510219373.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-06-21
- Filing Date
- 2025-02-26
- Publication Date
- 2025-08-29
AI Technical Summary
In existing beam scanning systems, the influence of galvanometer angle measurement noise causes inaccuracy in point clouds, and traditional low-pass filtering methods will lose important information.
Using a dynamic model of a two-dimensional scanner based on a galvanometer, the angle measurement noise is removed and more accurate angle measurement is generated by generating an estimated angle measurement signal based on the angle vector set point and dynamic model.
Improves the accuracy of three-dimensional point clouds, reduces the complexity and power requirements for signal processing, and provides higher quality 3D imaging results.
Smart Images

Figure CN120559673A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This patent application claims priority to U.S. Patent Application No. 63 / 558,960, filed on February 28, 2024, entitled “METHOD FOR ATTENUATING EFFECTS OF GALVANOMETER ANGLE MEASUREMENT NOISE IN SCANNER POINT CLOUD.” The disclosure of that prior application is considered a part of and incorporated by reference into this patent application. Technical Field
[0003] The present disclosure generally relates to beam scanning systems and methods for beam scanning. Background Art
[0004] The scanning system can use two-dimensional (2D) or three-dimensional (3D) 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, wherein the first scanning axis is configured to guide the one or more light beams in a first direction at a first scanning frequency, and the second scanning axis is configured to guide the 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 transmitted light beam can be reflected from one or more objects in the field of view and returned to the scanning system as a reflected light beam. A 3D image of the scanned scene or the scanned object can then be generated based on the distance measurements corresponding to the transmitted / reflected light beams. Additionally or alternatively, the scanning system can use the reflected light beam to detect objects within the FOV for other processing. Summary of the Invention
[0005] In some embodiments, a beam scanning system includes: a two-dimensional scanner, the two-dimensional scanner including a first galvanometer scanner and a second galvanometer scanner, the first galvanometer scanner being configured to rotate about a first scanning axis based on a first drive signal, the second galvanometer scanner being configured to rotate about a second scanning axis based on a second drive signal; a time-of-flight sensor being configured to receive a reflected light beam and generate a distance measurement based on the reflected light beam; a driver system being configured to receive a first angle set point for the first galvanometer scanner and a second angle set point for the second galvanometer scanner, drive the first galvanometer scanner using the first drive signal based on the first angle set point, and drive the second galvanometer scanner using the second drive signal based on the second angle set point; and a system controller configured with the two-dimensional scanner a dynamic model of a system, wherein the system controller is configured to generate a first estimated angle measurement signal based on a first angle set point and the dynamic model, wherein the first estimated angle measurement signal follows a first angular trajectory of the first galvanometer scanner around a first scanning axis, wherein the system controller is configured to generate a second estimated angle measurement signal based on a second angle set point and the dynamic model, wherein the second estimated angle measurement signal follows a second angular trajectory of the second galvanometer scanner around a second scanning axis, and wherein the system controller is configured to: associate a distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0006] In some embodiments, a beam scanning system includes: a two-dimensional scanner, the two-dimensional scanner including a galvanometer scanner, the galvanometer scanner configured to rotate about a first scanning axis based on a first drive signal and to rotate about a second scanning axis based on a second drive signal; a time-of-flight sensor configured to receive a reflected light beam and to generate a distance measurement based on the reflected light beam; a driver system configured to receive an angular vector set point corresponding to a two-dimensional scanning coordinate, drive the galvanometer scanner about the first scanning axis using the first drive signal based on the angular vector set point, and drive the galvanometer scanner about the second scanning axis using the second drive signal based on the angular vector set point; and a system controller configured with a dynamic model of the two-dimensional scanner, wherein the system controller is Configured to generate a first estimated angle measurement signal based on an angle vector set point and a dynamic model, wherein the first estimated angle measurement signal follows a first angular trajectory of the galvanometer scanner around a first scanning axis, wherein the system controller is configured to generate a second estimated angle measurement signal based on the angle vector set point and the dynamic model, wherein the second estimated angle measurement signal follows a second angular trajectory of the galvanometer scanner around a second scanning axis, and wherein the system controller is configured to: associate a distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0007] In some embodiments, the beam scanning method includes: generating a first drive signal based on a first angle setting point; generating a second drive signal based on a second angle setting point; driving the two-dimensional scanner around a first scanning axis based on the first drive signal, and driving the two-dimensional scanner around a second scanning axis based on the second drive signal; generating a distance measurement based on the reflected light beam; generating a first estimated angle measurement signal based on the first angle setting point and a dynamic model of the two-dimensional scanner, wherein the first estimated angle measurement signal follows a first angle trajectory around the first scanning axis; generating a second estimated angle measurement signal based on the second angle setting point and a dynamic model of the two-dimensional scanner, wherein the second estimated angle measurement signal follows a second angle trajectory around the second scanning axis; associating the distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal; associating the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal; and generating a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1Ais a schematic block diagram of a 2D scanning system according to one or more embodiments.
[0009] Figure 1B is a schematic block diagram of a 2D scanning system according to one or more embodiments.
[0010] Figure 2 A control loop for a beam scanning system is shown in accordance with one or more embodiments.
[0011] Figure 3 A modeling system according to one or more implementations is shown.
[0012] Figure 4 A system according to one or more implementations is shown.
[0013] Figure 5 A system according to one or more implementations is shown.
[0014] Figure 6 is a flow chart of an example process associated with a beam scanning method. DETAILED DESCRIPTION
[0015] The following detailed description of example embodiments refers to the accompanying drawings, in which the same reference numerals in different drawings may identify the same or similar elements.
[0016] In 3D sensing and imaging technologies such as light detection and ranging (LIDAR), scanning can be performed to illuminate an area called a field of view. For example, a scanning mirror can be arranged to receive an emission beam from a light emitter and direct (scan) the emission beam into the field of view to perform a scan of the environment. The emission beam can be backscattered by one or more objects and returned to the scanning system as a reflected beam, where the reflected beam is detected by a sensor. For example, the sensor can be an array of photodetectors. The sensor can convert each reflected beam into an electrical signal (e.g., a current signal or a voltage signal), which can be further processed by the scanning system to generate object data or an image (such as a point cloud). Although light can be scanned in two dimensions, a third dimension (e.g., a depth dimension) can be obtained from the distance measurement. Distance measurements can be performed based on the flight time of the emission and reflected beams. The 2D scan coordinates and the distance information can be used to generate a point cloud of the scanned environment.
[0017] A single scanning mirror with two scanning axes can be used in a scanning operation to perform a two-dimensional scan. Alternatively, two scanning mirrors (each with a single scanning axis) can be used in a scanning operation to perform a two-dimensional scan. For example, the scanning axes of the two scanning mirrors can be arranged to be orthogonal to each other, so that one scanning mirror scans in the x-direction and the other scanning mirror scans in the y-direction. Thus, the two scanning mirrors are used in combination to direct the laser beam to scan the field of view in a two-dimensional scanning pattern (such as a raster pattern). The laser beam can be reflected back from the object, and the returning reflected beam is analyzed to determine the time of flight, which provides a third measurement dimension (e.g., a distance measurement to the object). The system can measure the mirror angle of each scanning mirror, and the measured mirror angles of the two scanning mirrors can be combined with the distance measurement. These three measurements can be processed into a final 3D point cloud. However, if the mirror angle measurement is corrupted by noise, the final point cloud will be degraded and less accurate, which may have a negative impact on object detection and / or may require more complex signal processing, which requires higher processing bandwidth and / or power. In some cases, noise may make the final point cloud unusable.
[0018] Some embodiments provide a beam scanning system having a galvanometer-based two-dimensional scanner and a method for attenuating angle measurement noise without attenuating the angle signal. The galvanometer-based two-dimensional scanner may include a single galvanometer scanner (e.g., a single scanning mirror) having two scanning axes, or may include two galvanometer scanners (e.g., two scanning mirrors), each having a single scanning axis. The galvanometer scanner may have rapidly moving angles with high spectral content. As a result, the angle measurement cannot be simply low-pass filtered to remove broadband measurement noise, as this would also remove important information from the angle measurement signal, resulting in an inaccurate point cloud. Instead, one or more embodiments may use a dynamic model of the galvanometer-based two-dimensional scanner to remove angle measurement noise to provide more accurate angle measurements. As a result, the beam scanning system can generate a more accurate 3D point cloud based on the angle measurement.
[0019] Figure 1A FIG1 is a schematic block diagram of a 2D scanning system 100A according to one or more embodiments. Specifically, 2D scanning system 100A includes a scanner 102 configured to direct or otherwise deflect a light beam for scanning a 3D object according to a 2D scanning mode. 2D scanning system 100A also includes a driver system 104, a system controller 106, a light emitter 108, and a sensor 110.
[0020] exist Figure 1AIn the example shown in , the scanner 102 can be a mechanically movable mirror and can be configured to rotate or oscillate via rotation about two scan axes that are generally orthogonal to each other. For example, the two scan axes can include a first scan axis 112 that enables the scanner 102 to direct light in a first scan direction (e.g., the x-direction), and a second scan axis 114 (e.g., the inner scan axis) that enables the scanner 102 to direct light in a second scan direction (e.g., the y-direction). Thus, the scanner 102 can direct a light beam in two dimensions according to a 2D scan mode.
[0021] Scanning can be performed to illuminate an area referred to as a field of view. Scanning, such as an oscillating horizontal scan (e.g., from left to right and right to left of the field of view), an oscillating vertical scan (e.g., from bottom to top and top to bottom of the field of view), or a combination thereof (e.g., a Lissajous scan or a raster scan), can illuminate the field of view in a continuous scan. In some embodiments, the 2D scanning system 100A can be configured to emit a continuous light beam (e.g., as a continuous light pulse) in different scan directions to scan the field of view. The scanner 102 can, under the control of the system controller 106, direct the emitted light beam at a desired 2D measurement coordinate (e.g., xy coordinate) in the field of view.
[0022] In some embodiments, the scanner 102 can 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 a scan of the environment. The emission beam can be backscattered by one or more objects and returned to the 2D scanning system 100A as a reflected beam, where the reflected beam is detected by the sensor 110. For example, the sensor 110 can be an array of photodetectors. The sensor 110 can convert each reflected beam into an electrical signal (e.g., a current signal or a voltage signal), which can be further processed by the 2D scanning system 100A to generate object data or an image. Thus, the sensor 110 can be a time-of-flight sensor configured to receive the reflected beam and generate one or more distance measurements based on the reflected beam. In such an embodiment, the desired 2D measurement coordinate can correspond to a specific emission direction in the field of view that is aimed by the emission beam for object detection or scanning, where different 2D measurement coordinates correspond to different emission directions. The system controller 106 can receive the electrical signal from the sensor and perform signal processing on the electrical signal to detect object features.
[0023] Thus, the scanner 102 can direct multiple light beams emitted at different emission times at different 2D measurement coordinates of the field of view according to the 2D scanning mode. By changing the deflection angle of the scanner 102 on 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.
[0024] The driver system 104 can be configured to generate drive signals (e.g., actuation signals) to drive the scanner 102 about a first scan axis 112 and a second scan axis 114. Specifically, the driver system 104 can be configured to apply the drive signals to actuator structures of the scanner 102. In some embodiments, 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. The scanner 102 can have a separate actuator structure for each scan axis. Thus, the scanner 102 can have a first actuator structure for the first scan axis 112 and a second actuator structure for the second scan axis 114. The driver 116 can apply a first drive signal to the first actuator structure to drive the scanner 102 about the first scan axis, and can apply a second drive signal to the second actuator structure to drive the scanner 102 about the second scan axis. In some embodiments, the driver 116 can include a separate driver for each scan axis 112 and 114. In embodiments where the scanner 102 is used as an oscillator, the driver 116 may be configured to drive the scanner 102 to oscillate about the first scan axis 112 at a first frequency and to drive the scanner 102 to oscillate about the second scan axis 114 at a second frequency.
[0025] The driver 116 can be configured to receive feedback information, such as rotational position information (e.g., angle measurements), from the scanner 102. The system controller 106 can use the rotational position information to trigger a light beam at the light emitter 108. For example, the system controller 106 can use the rotational position information to set the emission time of the light emitter 108 to target a specific 2D measurement coordinate for a 2D scanning mode.
[0026] In some embodiments, 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. Specifically, the system controller 106 can be configured to control the actuation of the scanner 102 about each scan axis by controlling the drive signals. The system controller 106 can control the frequency, phase, duty cycle, and / or voltage level of the drive signals 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.
[0027] The light emitter 108 may include one or more light sources (such as one or more laser diodes or one or more light emitting diodes) for generating one or more light beams. In some embodiments, the light emitter 108 may be configured to sequentially emit multiple light beams (e.g., light pulses) to target different 2D measurement coordinates as the scanner 102 changes its emission direction. The multiple light beams may include visible light, infrared (IR) light, or other types of illumination signals, depending on the application of the 2D scanning system 100A. The light emitter 108 may implement the emission sequence and timing of the multiple light beams based on a control signal CTRL received from the system controller 106.
[0028] System controller 106 can be configured to control components of 2D scanning system 100A. In certain applications, system controller 106 can also be configured to receive programming information regarding a 2D scanning mode and, based on the programming information, control the timing of the multiple light beams generated by light emitter 108. Accordingly, system controller 106 can include processing and control circuitry configured to generate control signals for controlling light emitter 108 and driver 116. For example, system controller 106 can include processing circuitry 118 configured to execute machine instructions and, based on the execution of the machine instructions, generate control signals for controlling 2D scanning system 100A to perform a 2D scan of a scanning area according to the 2D scanning mode. Accordingly, processing circuitry can include one or more processors and other signal processing components. In some embodiments, processing circuitry 118 can include a DSP. Processing circuitry 118, in conjunction with control circuitry, can control light emitter 108 and scanner 102 to target each 2D measurement coordinate with a corresponding light beam. The processing circuit device 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. The processing circuit device 118 can process the multiple measurement signals and generate a 3D point cloud based on the multiple measurement signals. In some embodiments where multiple light beams are used, the system controller 106 can be configured to generate a control signal CTRL that is used to trigger the light emitter 108 to generate the multiple light beams. Using the control signal CTRL, the system controller 106 can control the emission timing of the multiple light 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 scanning pattern generated by the scanner 102 and the emission timing triggered by the system controller 106.
[0029] Thus, 2D scanning system 100A may include a detector including, for example, at least one sensor (e.g., sensor 110) and at least one signal processor (e.g., processing circuitry 118 or other additional processors and / or processing components) implemented in system controller 106. Sensor 110 may generate an electrical signal based on a reflected light beam corresponding to the light beam emitted by light emitter 108. Sensor 110 may transmit the electrical signal to processing circuitry 118. Processing circuitry 118 may be configured to process the electrical signal to generate a distance measurement based on machine instructions for generating a 3D point cloud.
[0030] In some embodiments, the scanner 102 may be a galvanometer scanner. The galvanometer scanner may include a shaft for each scan axis, a first galvanometer-based scanning motor that drives rotation of a first shaft associated with the first scan axis 112, a second galvanometer-based scanning motor that drives rotation of a second shaft associated with the second scan axis 114, optical mirrors mounted on the first and second shafts, and a detector that provides position feedback (e.g., a vector measurement or an actual angle measurement for each scan axis) to the system controller 106. The drive system 104 may include a first servo drive for driving the first galvanometer-based scanning motor and a second servo drive for driving the second galvanometer-based scanning motor. Each servo drive may generate a drive signal (e.g., a drive current) based on a commanded position (e.g., an angular setpoint) provided to the servo drive by a control loop. Each servo drive may supply the drive signal to a corresponding galvanometer-based scanning motor. The system controller 106 may monitor a difference representing an error between the commanded position (e.g., the angular setpoint) and the actual position (e.g., the actual angle measurement) to adjust the commanded position based on the difference.
[0031] The driver system 104 may receive an angle vector setpoint corresponding to the two-dimensional scan coordinate from the system controller 106, drive the scanner 102 about a first scan axis 112 using a first drive signal based on the angle vector setpoint, and drive the scanner 102 about a second scan axis 114 using a second drive signal based on the angle vector setpoint. The angle vector setpoint may include a first angle setpoint for the first scan axis 112 and a second angle setpoint for the second scan axis 114.
[0032] The system controller 106 can be configured with a dynamic model of the scanner 102. The system controller 106 can generate a first estimated angle measurement signal based on the angle vector set point and the dynamic model. The first estimated angle measurement signal can follow a first angular trajectory of the scanner 102 about the first scan axis 112. Additionally, the system controller 106 can generate a second estimated angle measurement signal based on the angle vector set point and the dynamic model. The second estimated angle measurement signal can follow a second angular trajectory of the scanner 102 about the second scan axis 114. Because the first estimated angle measurement signal and the second estimated angle measurement signal are generated based on the dynamic model, the first estimated angle measurement signal and the second estimated angle measurement signal can be free of, or substantially free of, angle measurement noise. In other words, the system controller 106 can remove angle measurement noise based on the dynamic model to generate the first estimated angle measurement signal and the second estimated angle measurement signal.
[0033] In some embodiments, the system controller 106 may generate an estimated angle vector measurement signal based on the angle vector set point, the angle measurement vector signal, and the dynamic model. The estimated angle vector measurement signal may represent a combination of the first estimated angle measurement signal and the second estimated angle measurement signal.
[0034] In some embodiments, the driver system 104 may include a first angular position detector and a second angular position detector, wherein the first angular position detector is configured to generate a first angular measurement signal based on detecting a first angular position of the scanner 102 about the first scan axis 112, and the second angular position detector is configured to generate a second angular measurement signal based on detecting a second angular position of the scanner 102 about the second scan axis 114. The angular measurement vector signal may represent a combination of the first angular measurement signal and the second angular measurement signal. The driver system 104 may provide the first angular measurement signal and the second angular measurement signal to the system controller 106 as position feedback.
[0035] System controller 106 may also receive a distance measurement from sensor 110. System controller 106 may associate the distance measurement with a first estimated angle value, where the first estimated angle value corresponds to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, where the second estimated angle value corresponds to the second estimated angle measurement signal; and generate a point in a 3D point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value. Because the first estimated angle measurement signal and the second estimated angle measurement signal are free of, or substantially free of, angle measurement noise, the 3D coordinates of the point in the 3D point cloud may be more accurate than would otherwise be possible if the angle measurement noise were still present.
[0036] As indicated above, FIG. 1 is provided as an example. Other examples may differ from those described with respect to FIG. 1 . In practice, 2D scanning system 100A may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 1 without departing from the above disclosure. Furthermore, in some embodiments, 2D scanning system 100A may include one or more additional mirrors to scan the field of view.
[0037] Figure 1B 1 is a schematic block diagram of a 2D scanning system 100B according to one or more embodiments. Specifically, the 2D scanning system 100B includes two scanners, a first scanner 102x and a second scanner 102y, which are optically coupled in series to guide or otherwise deflect a light beam according to a 2D scanning mode. The first scanner 102x and the second scanner 102y are connected to Figure 1A The scanner 102 is similar to the scanner 102 described in , except that the first scanner 102x and the second scanner 102y are configured to rotate about a single scan axis instead of two scan axes. The first scanner 102x is configured to rotate about a first scan axis 112 to direct light in the x-direction, while the second scanner 102y is configured to rotate about a second scan axis 114 to direct light in the y-direction. Figure 1A Similar to the scanners 102 described in , the first scanner 102x and the second scanner 102y may be galvanometer scanners configured to be driven by corresponding galvanometer-based scanning motors.
[0038] Since each of the first scanner 102x and the second scanner 102y is configured to rotate about a single scanning axis, each of the first scanner 102x and the second scanner 102y is responsible for scanning light in one dimension. As a result, the first scanner 102x and the second scanner 102y can be referred to as one-dimensional (1D) scanners. Figure 1B In the example shown in , a first scanner 102x and a second scanner 102y are used together to direct a light beam in two dimensions. The first scanner 102x and the second scanner 102y are arranged sequentially along the emission path of the light beam, so that one of the scanners (e.g., the first scanner 102x) first receives the light beam and directs it in a first dimension, while the second of the scanners (e.g., the second scanner 102y) receives the light beam from the first scanner 102x and directs it in a second dimension. As a result, the first scanner 102x and the second scanner 102y operate together to direct the light beam generated by the light emitter 108 in two dimensions. In this way, the first scanner 102x and the second scanner 102y can direct the light beam to a desired 2D coordinate (e.g., xy coordinate) in the field of view. The first scanner 102x and the second scanner 102y can direct multiple light beams at different 2D coordinates in a 2D scanning pattern.
[0039] The driver system 104, the system controller 106 and the light emitter 108 are configured as described above with reference to Figure 1A The driver 116 can be electrically coupled to the first scanner 102x to drive the first scanner 102x about the first scan axis 112, and the driver system 104 can detect the position (e.g., angular position) of the first scanner 102x about the first scan axis 112 to provide first position information to the system controller 106. Similarly, the driver 116 can be electrically coupled to the second scanner 102y to drive the second scanner 102y about the second scan axis 114, and the driver system 104 can detect the position (e.g., angular position) of the second scanner 102y about the second scan axis 114 to send the position of the second scanner 102y about the second scan axis 114 to provide second position information to the system controller 106.
[0040] In some embodiments, the first scanner 102x can be a first galvanometer scanner configured to rotate about the first scanning axis 112 based on a first drive signal, and the second scanner 102y can be a second galvanometer scanner configured to rotate about the second scanning axis 114 based on a second drive signal.
[0041] A shaft can be provided for each scan axis. The drive system 104 can include a first galvanometer-based scanning motor that drives the rotation of a first shaft associated with the first scan axis 112, a second galvanometer-based scanning motor that drives the rotation of a second shaft associated with the second scan axis 114, and a detector that provides position feedback (e.g., actual angle measurements for each scan axis) to the system controller 106. The drive system 104 can include a first servo drive and a second servo drive, wherein the first servo drive is used to drive the first galvanometer-based scanning motor and the second servo drive is used to drive the second galvanometer-based scanning motor. Each servo drive can generate a drive signal (e.g., a drive current) based on a command position (e.g., an angle set point) provided to the servo drive by a control loop. Each servo drive can supply the drive signal to a corresponding galvanometer-based scanning motor. The system controller 106 can monitor a difference representing an error between the command position (e.g., the angle set point) and the actual position (e.g., the actual angle measurement) to adjust the command position based on the difference.
[0042] The driver system 104 can receive a first angle set point for the first galvanometer scanner and a second angle set point for the second galvanometer scanner from the system controller 106, drive the first galvanometer scanner using a first drive signal based on the first angle set point, and drive the second galvanometer scanner using a second drive signal based on the second angle set point.
[0043] The system controller 106 may be configured with a dynamic model of the two-dimensional scanner. The dynamic model of the two-dimensional scanner may include a first dynamic model for the first scanner 102x and a second dynamic model for the second scanner 102y, or may be a combined dynamic model for both the first scanner 102x and the second scanner 102y. The system controller 106 may generate a first estimated angle measurement signal based on a first angle setpoint and a dynamic model (e.g., the first dynamic model or the combined dynamic model). The first estimated angle measurement signal may follow a first angular trajectory of the first scanner 102x about the first scan axis 112. Additionally, the system controller 106 may generate a second estimated angle measurement signal based on a second angle setpoint and a dynamic model (e.g., the second dynamic model or the combined dynamic model). The second estimated angle measurement signal may follow a second angular trajectory of the second scanner 102y about the second scan axis 114. Because the first and second estimated angle measurement signals are generated based on the dynamic model of the two-dimensional scanner, the first and second estimated angle measurement signals may be free of, or substantially free of, angle measurement noise. In other words, the system controller 106 may remove angle measurement noise based on the dynamic model to generate the first estimated angle measurement signal and the second estimated angle measurement signal.
[0044] In some embodiments, the driver system 104 can include a first angular position detector and a second angular position detector, wherein the first angular position detector is configured to generate a first angular measurement signal based on detecting a first angular position of the first scanner 102 x about the first scan axis 112, and the second angular position detector is configured to generate a second angular measurement signal based on detecting a second angular position of the second scanner 102 y about the second scan axis 114. The driver system 104 can provide the first angular measurement signal and the second angular measurement signal to the system controller 106 as position feedback.
[0045] System controller 106 may also receive a distance measurement from sensor 110. System controller 106 may associate the distance measurement with a first estimated angle value, where the first estimated angle value corresponds to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, where the second estimated angle value corresponds to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value. Because the first estimated angle measurement signal and the second estimated angle measurement signal are free of, or substantially free of, angle measurement noise, if the angle measurement noise is still present, the 3D coordinates of the point in the 3D point cloud may be more accurate than otherwise possible.
[0046] As indicated above, provide Figure 1BAs an example. Other examples can be related to Figure 1B In practice, without departing from the above disclosure, the 2D scanning system 100B may include Figure 1B , additional components, fewer components, different components, or differently arranged components than those shown in . In addition, in some embodiments, the 2D scanning system 100B may include one or more additional 1D MEMS mirrors or one or more additional light emitters that are used to scan one or more additional fields of view. In addition, Figure 1B Two or more components shown in may be implemented in a single component, or Figure 1B A single component shown in may be implemented as multiple distributed components. Additionally or alternatively, one set of components (eg, one or more components) of 2D scanning system 100B may perform one or more functions described as being performed by another set of components of 2D scanning system 100B.
[0047] Figure 2 A control loop 200 for a beam scanning system according to one or more embodiments is shown. The control loop 200 may be configured to combine Figure 1A Description of scanner 102, Figure 1B The first scanner 102x described or related Figure 1B The control loop 200 may be replicated for each scanning axis. In other words, separate control loops 200 may be provided for the first scanning axis 112 and the second scanning axis 114.
[0048] The control loop 200 includes a driver 116 that generates a drive signal (e.g., a drive current) and scanners 120x,y. Figure 1A and Figure 1B The scanner 102x, y corresponds to one of the scanners described above. Based on the drive signal, the scanner 102x, y is driven about the scan axis. The angular position detector can be integrated with the scanner 102x, y and can be configured to detect the angular position (e.g., rotation angle θ) of the scanner 102x, y about the scan axis and generate an actual angle measurement signal based on the angular position. The actual angle measurement signal provided by the angular position detector can represent the actual mirror angle θ of the scanner 102x, y.
[0049] Summer 202 can provide an angle measurement signal θmeas based on the actual angle measurement signal and angle measurement noise. In other words, summer 202 can represent angle measurement noise added to the actual angle measurement signal, which can corrupt the angle measurement signal (e.g., the actual mirror angle θ) to generate the angle measurement signal θmeas. Thus, the angle measurement signal θmeas can be a noisy measurement signal. For example, summer 202 can represent any signal line, component, and / or combination of signal lines or components that introduces noise into the actual angle measurement signal.
[0050] The error detector 204 can receive an angle setpoint θsp for the scanner 102x,y. The angle setpoint θsp can be a control value corresponding to a target angular position of the scanner 102x,y. The angle setpoint θsp can be provided in a setpoint control signal corresponding to a target angular trajectory of the scanner 102x,y. Additionally, the error detector 204 can receive an angle measurement signal θmeas, which may be corrupted by noise. The error detector 204 can generate an error signal representing the difference between the angle setpoint θsp and the angle measurement signal θmeas. The driver 116 can adjust the drive signal to drive the error signal to zero. Therefore, noise included in the angle measurement signal θmeas can cause the driver 116 to generate an incorrect drive signal.
[0051] Alternatively, the error detector 204 can be provided with an estimated angle measurement signal, rather than the angle measurement signal θmeas provided by the adder 202. The estimated angle measurement signal θest can be generated based on a dynamic model of the scanner 102x,y. As a result, the estimated angle measurement signal θest can be free of, or substantially free of, angle measurement noise, which can lead to more accurate control of the angular position of the scanner 102x,y. For example, the driver 116 can generate a drive signal based on a difference between the estimated angle measurement signal θest and a setpoint control signal. Thus, the driver 116 can compensate the drive signal based on the difference between the estimated angle measurement signal and the setpoint control signal. In other words, the driver can generate a drive signal based on a difference between the estimated angle measurement signal and an angle setpoint θsp (or angle vector setpoint θvsp) provided by the setpoint control signal.
[0052] In some embodiments, the angle set point θsp may be an angle vector set point, the estimated angle measurement signal θest may be an estimated angle vector measurement signal based on the angle vector set point, and the angle measurement signal θmeas may be an angle measurement vector signal. The angle vector set point, the angle measurement vector signal, and / or the estimated angle vector measurement signal may be used to drive both the scan axis 112 and the scan axis 114. For example, the angle vector may be used to determine the angle of the scan axis 112. Figure 1AIn the 2D scanning system 100A described above, a first scanning axis 112 and a second scanning axis 114 of a scanner 102 (e.g., a 2D scanning mirror) may be cross-coupled via one or more cross-coupling effects or interactions. Thus, motion about the first scanning axis 112 may affect motion about the second scanning axis 114, and vice versa. Therefore, the angle vector setpoint, the angle measurement vector signal, and / or the estimated angle vector measurement signal may take into account one or more cross-coupling effects or interactions between the scanning axis 112 and the scanning axis 114.
[0053] As indicated above, provide Figure 2 As an example. Other examples can be related to Figure 2 Different than described.
[0054] Figure 3 1 shows a modeling system 300 according to one or more embodiments. The modeling system 300 may include a dynamic system identification processor 302 configured to generate a dynamic model of a two-dimensional scanner based on a plurality of input data. For example, the dynamic system identification processor 302 may receive a set point control signal and an angle measurement signal θmeas. The set point control signal may provide an angle set point θsp corresponding to a target angle trajectory. The angle measurement signal θmeas may be generated by combining Figure 2 The derived adder 202 provides the derived values for the dynamic model parameters corresponding to the response or behavior of the two-dimensional scanner for each angular setpoint θsp. Thus, the dynamic system identification processor 302 can generate a dynamic model that models the behavior of the two-dimensional scanner for the entire target angular trajectory of the two-dimensional scanner. Because the angle measurement signal θmeas (which may be a noisy measurement signal) is used as an input, the dynamic model can account for any noise present during dynamic system modeling, which may naturally occur during operation of the two-dimensional scanner.
[0055] The dynamic system identification processor 302 can implement modeling algorithms such as subspace identification, arx modeling, or black box / grey box model parameter optimization to perform dynamic system modeling. In addition, model fitting can include using normal scan measurement data as input, or can use set points with specially customized spectral content (e.g., with filtered broadband noise) to increase the richness of the data used for dynamic system modeling. The behavior of the two-dimensional scanner should not change significantly over time. Therefore, dynamic system modeling can be performed at periodic intervals or at system startup. The modeling system 300 can be incorporated into the system controller 106 and can be executed by the processing circuit device 118.
[0056] As indicated above, Figure 3Provided as an example. Other examples may be related to Figure 3 Different than described.
[0057] Figure 4 1 shows a system 400 according to one or more embodiments. The system 400 may include a first processing system 402 corresponding to the first scanning axis 112 and a second processing system 404 corresponding to the second scanning axis 114. Thus, the first processing system 402 and the second processing system 404 may be used in conjunction with Figure 1A The 2D scanning system 100A described herein may be combined with Figure 1B The 2D scanning system 100B is described.
[0058] The first processing system 402 may include a control loop 200x similar to a control loop 200x incorporating Figure 2 Control loop 200x may be configured to drive a galvanometer scanner about first scan axis 112 and obtain a first estimated angle measurement signal θest,x, which may be provided to processing components of processing circuitry 118 for use in generating point cloud data. The galvanometer scanner may be scanner 102 or first scanner 102x. In the following examples, it will be assumed that the galvanometer scanner controlled by control loop 200x corresponds to first scanner 102x.
[0059] A driver system (e.g., driver system 104) of control loop 200x can receive a first angular setpoint θsp,x for first scanner 102x and drive first scanner 102x using a first drive signal based on the first angular setpoint θsp,x. A first angular position detector of control loop 200x can generate a first angular measurement signal θmeas,x based on detecting a first angular position of first scanner 102x about first scan axis 112. The first angular measurement signal θmeas,x can be a noise measurement signal.
[0060] The processor 406 implemented in the system controller 106 may be configured with a dynamic model X that models the behavior of the first scanner 102 x about the first scan axis 112. The processor 406 may generate a first estimated angle measurement signal θest,x based on the first angle setpoint θsp,x and the dynamic model X. The first estimated angle measurement signal θest,x may follow a first angular trajectory of the first scanner 102 x about the first scan axis 112.
[0061] In some embodiments, the processor 406 can generate a first estimated angle measurement signal θest,x based on the first angle measurement signal θmeas,x, the first angle set point θsp,x, and the dynamic model X. Using the first angle set point θsp,x and the first angle measurement signal θmeas,x as inputs to the dynamic model X can constitute a state observer or Kalman filter algorithm, where the first estimated angle measurement signal θest,x is a best measure of the state of the first scanner 102 x about the first scan axis 112 .
[0062] Therefore, the system controller 106 can apply the first angle setpoint θsp,x as a first input to the dynamic model X to obtain a first estimated angle value as a first output from the dynamic model X. The processor 406 can remove angle measurement noise based on the dynamic model X to generate a first estimated angle measurement signal θest,x. Therefore, the processor 406 can generate the first estimated angle measurement signal θest,x based on the dynamic model X that is substantially free of angle measurement noise.
[0063] In some embodiments, the processor 406 can remove a first angle measurement noise component from the first angle measurement signal θmeas,x to generate a first estimated angle measurement signal θest,x based on applying the first angle setpoint θsp,x and the first angle measurement signal θmeas,x as first inputs to the dynamic model X. For example, the processor 406 can attenuate the first angle measurement noise component from the first angle measurement signal θmeas,x to generate the first estimated angle measurement signal θest,x based on receiving the first angle setpoint θsp,x as the first input to the dynamic model X. In some embodiments, the processor 406 can include a noise attenuation filter programmed by the dynamic model X, and the noise attenuation filter can output the first estimated angle measurement signal θest,x based on the first angle setpoint θsp,x.
[0064] The second processing system 404 may include a control loop 200y that is combined with Figure 2 The control loop 200 described above is similar. Control loop 200y can be configured to drive the galvanometer scanner about the second scanning axis 114 and obtain a second estimated angle measurement signal θest,y, which can be provided to the processing components of the processing circuit device 118 for generating point cloud data. The galvanometer scanner can be the scanner 102 or the second scanner 102y. In the following examples, it will be assumed that the galvanometer scanner controlled by the control loop 200y corresponds to the second scanner 102y.
[0065] A driver system (e.g., driver system 104) of control loop 200y can receive a second angular setpoint θsp,y for second scanner 102y and drive second scanner 102y using a second drive signal based on the second angular setpoint θsp,y. A second angular position detector of control loop 200y can generate a second angular measurement signal θmeas,y based on detecting a second angular position of second scanner 102y about second scan axis 114. The second angular measurement signal θmeas,y can be a noise measurement signal.
[0066] The processor 408 implemented in the system controller 106 can be configured with a dynamic model Y that models the behavior of the second scanner 102y about the second scan axis 114. The processor 406 and the processor 408 can be the same processor or can be separate processors. Likewise, the dynamic model X and the dynamic model Y can be part of a larger system model or can be separate system models representing the dynamic model of the two-dimensional scanner.
[0067] The processor 408 may generate a second estimated angle measurement signal θest,y based on the second angle setpoint θsp,y and the dynamic model Y. The second estimated angle measurement signal θest,y may follow a second angular trajectory of the second scanner 102 y about the second scan axis 114 .
[0068] In some embodiments, the processor 408 can generate a second estimated angle measurement signal θest,y based on the second angle measurement signal θmeas,y, the second angle set point θsp,y, and the dynamic model Y. Using the second angle set point θsp,y and the second angle measurement signal θmeas,y as inputs to the dynamic model Y can constitute a state observer or Kalman filter algorithm, where the second estimated angle measurement signal θest,y is a best measure of the state of the second scanner 102y about the second scan axis 114 .
[0069] Therefore, the system controller 106 may apply the second angle setpoint θsp,y as a second input to the dynamic model Y to obtain a second estimated angle value as a second output from the dynamic model Y. The processor 408 may remove angle measurement noise based on the dynamic model Y to generate a second estimated angle measurement signal θest,y. Therefore, the processor 408 may generate a second estimated angle measurement signal θest,y based on the dynamic model Y that is substantially free of angle measurement noise.
[0070] In some embodiments, the processor 408 can remove a second angle measurement noise component from the second angle measurement signal θmeas,y to generate the second estimated angle measurement signal θest,y based on applying the second angle setpoint θsp,y and the second angle measurement signal θmeas,y as a second input to the dynamic model Y. For example, the processor 408 can attenuate the second angle measurement noise from the second angle measurement signal θmeas,y to generate the second estimated angle measurement signal θest,y based on receiving the second angle setpoint θsp,y as the second input to the dynamic model Y. In some embodiments, the processor 408 can include a noise attenuation filter programmed by the dynamic model Y, and the noise attenuation filter can output the second estimated angle measurement signal θest,y based on the second angle setpoint θsp,y.
[0071] Processing circuitry 118 may receive the first estimated angle measurement signal θest,x, the second estimated angle measurement signal θest,y, and a distance measurement signal D. Distance measurement signal D may be provided by sensor 110 and may include distance measurements obtained from one or more reflected light beams.
[0072] The processing circuit device 118 can associate the distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to a first estimated angle measurement signal θest,x; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to a second estimated angle measurement signal θest,y; and generate a point in a 3D point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0073] As indicated above, provide Figure 4 As an example. Other examples can be related to Figure 4 In practice, without departing from the above disclosure, the system 400 may include Figure 4 Components shown in FIG may include additional components, fewer components, different components, or components that are arranged differently. Additionally, Figure 4 Two or more components shown in FIG may be implemented in a single component, or Figure 4 A single component shown in can be implemented as multiple distributed components. Additionally or alternatively, one set of components (eg, one or more components) of system 400 can perform one or more functions described as being performed by another set of components of system 400.
[0074] Figure 5 1 shows a system 500 according to one or more embodiments. The system 500 may include a processing system 502 corresponding to the first scanning axis 112 and the second scanning axis 114. Thus, the processing system 502 may be used in conjunction with Figure 1BThe 2D scanning system 100B is described.
[0075] The processing system 502 may include a control loop 200xy similar to a control loop 200xy incorporating Figure 2 The control loop 200 described above may be configured to operate based on an angle vector. The control loop 200xy may be configured to drive a galvanometer scanner about the first scan axis 112 and about the second scan axis 114 and obtain an estimated angle vector measurement signal θest,xy, which may be provided to a processing component of the processing circuitry 118 for use in generating point cloud data. The galvanometer scanner may be the scanner 102.
[0076] A driver system (e.g., driver system 104) of control loop 200xy can receive an angle vector setpoint θvsp corresponding to a two-dimensional scan coordinate, drive scanner 102 about first scan axis 112 using a first drive signal based on the angle vector setpoint θvsp, and drive scanner 102 about second scan axis 114 using a second drive signal based on the angle vector setpoint θvsp. A first angular position detector of control loop 200xy can generate a first angle measurement signal θmeas,x based on detecting a first angular position of first scanner 102 about first scan axis 112. A second angular position detector of control loop 200xy can generate a second angle measurement signal θmeas,y based on detecting a second angular position of scanner 102y about second scan axis 114. The first angle measurement signal θmeas,x and the second angle measurement signal θmeas,y can be noise measurement signals. Control loop 200xy can combine the first angle measurement signal θmeas,x and the second angle measurement signal θmeas,y to generate an angle measurement vector signal θmeas,xy, which can also be a noise signal.
[0077] The processor 504 implemented in the system controller 106 can be configured with a dynamic model XY that models the behavior of the scanner 102 about the first scan axis 112 and the second scan axis 114 and can model cross-coupling effects between the first scan axis 112 and the second scan axis 114. The processor 504 can generate a first estimated angle measurement signal θest,x based on the angle vector set point θvsp and the dynamic model XY. The first estimated angle measurement signal θest,x can follow a first angular trajectory of the scanner 102 about the first scan axis 112. Additionally, the processor 504 can generate a second estimated angle measurement signal θest,y based on the angle vector set point θvsp and the dynamic model XY. The second estimated angle measurement signal θest,y can follow a second angular trajectory of the scanner 102 about the second scan axis 114.
[0078] In some embodiments, the processor 504 may generate a first estimated angle measurement signal θest,x based on the angle vector set point θvsp, the first angle measurement signal θmeas,x, and the dynamic model XY. Additionally, the processor 504 may generate a second estimated angle measurement signal θest,y based on the angle vector set point θvsp, the second angle measurement signal θmeas,y, and the dynamic model XY.
[0079] In some implementations, the processor 504 may combine the first estimated angle measurement signal θest,x and the second estimated angle measurement signal θest,y to generate an estimated angle vector measurement signal θest,xy.
[0080] In some implementations, the processor 504 may generate an estimated angle vector measurement signal θest,xy based on the angle vector set point θvsp, the angle measurement vector signal θmeas,xy, and the dynamic model XY.
[0081] The system controller 106 may apply the angle vector setpoint θvsp as an input to the dynamic model XY to obtain a first estimated angle value as a first output from the dynamic model XY and a second estimated angle value as a second output from the dynamic model XY. The processor 504 may remove angle measurement noise based on the dynamic model XY to generate a first estimated angle measurement signal θest,x and a second estimated angle measurement signal θest,y. The processor 504 may generate the first estimated angle measurement signal θest,x and the second estimated angle measurement signal θest,y substantially free of angle measurement noise based on the dynamic model XY. For example, the processor 504 may remove a first angle measurement noise component from the first angle measurement signal θmeas,x based on applying the angle vector setpoint θvsp and the first angle measurement signal θmeas,x to the dynamic model XY as a first input to generate the first estimated angle measurement signal θest,x. Additionally, the processor 504 may remove a second angle measurement noise component from the second angle measurement signal θmeas,y based on applying the angle vector set point θvsp and the second angle measurement signal θmeas,y to the dynamic model XY as a second input to generate a second estimated angle measurement signal θest,y. Alternatively, the processor 504 may remove measurement noise from the measurement vector signal θmeas,xy based on the angle vector set point θvsp to generate the estimated angle vector measurement signal θest,xy.
[0082] In some embodiments, the processor 504 may, based on receiving the angle vector set point θvsp as an input to the dynamic model XY, attenuate first angle measurement noise from the first angle measurement signal θmeas,x to generate a first estimated angle measurement signal θest,x, and attenuate second angle measurement noise from the second angle measurement signal θmeas,y to generate a second estimated angle measurement signal θest,x. For example, the processor 504 may include a noise attenuation filter programmed by the dynamic model XY, and the noise attenuation filter may output the first estimated angle measurement signal θest,x and the second estimated angle measurement signal θest,y based on the angle vector set point θvsp.
[0083] In some embodiments, the processor 504 can attenuate angle measurement noise from the measurement vector signal θmeas,xy based on receiving the angle vector setpoint θvsp as input to the dynamic model XY to generate the estimated angle vector measurement signal θest,xy. For example, the processor 504 can include a noise attenuation filter programmed by the dynamic model XY based on the angle vector setpoint θvsp.
[0084] Processing circuitry 118 may receive the first estimated angle measurement signal θest,x, the second estimated angle measurement signal θest,y, and a distance measurement signal D. Distance measurement signal D may be provided by sensor 110 and may include distance measurements obtained from one or more reflected light beams.
[0085] The processing circuit device 118 can associate the distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to a first estimated angle measurement signal θest,x; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to a second estimated angle measurement signal θest,y; and generate a point in a 3D point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0086] Alternatively, the processing circuit device 118 can receive the estimated angle vector measurement signal θest,xy, associate the distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the estimated angle vector measurement signal θest,xy; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the estimated angle vector measurement signal θest,xy; and generate a point in the 3D point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0087] As indicated above, provide Figure 5 As an example. Other examples can be related to Figure 5 In practice, without departing from the above disclosure, the system 500 may include Figure 5Additional components, fewer components, different components, or differently arranged components may be included in the components shown in the figures without departing from the above disclosure. Figure 5 Two or more components shown in may be implemented in a single component, or Figure 5 A single component shown in can be implemented as multiple distributed components. Additionally or alternatively, one set of components (eg, one or more components) of system 500 can perform one or more functions described as being performed by another set of components of system 500.
[0088] Figure 6 is a flow chart of an example process 600 associated with a beam scanning method. The beam scanning method may include a method for attenuating the effects of galvanometer angle measurement noise in a scanner point cloud. In some embodiments, Figure 6 One or more process blocks of are performed by a beam scanning system (e.g., system 400 or system 500). For example, Figure 6 One or more process blocks of may be performed by one or more components of system 400 or system 500 including modeling system 300 .
[0089] The example process 600 may include: generating a first drive signal based on a first angular set point (block 610); generating a second drive signal based on a second angular set point (block 620); driving the two-dimensional scanner about a first scan axis based on the first drive signal and driving the two-dimensional scanner about a second scan axis based on the second drive signal (block 630); generating a distance measurement based on the reflected light beam (block 640); generating a first estimated angular measurement signal based on the first angular set point and a dynamic model of the two-dimensional scanner, wherein the first estimated angular measurement signal follows a first angular trajectory about the first scan axis (block 650); and generating a first estimated angular measurement signal based on the first angular set point and a dynamic model of the two-dimensional scanner. A second estimated angle measurement signal is generated based on a second angle setting point and a dynamic model of the two-dimensional scanner, wherein the second estimated angle measurement signal follows a second angular trajectory about a second scanning axis (block 660); a distance measurement is associated with the first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal (block 670); the distance measurement is associated with the second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal (block 680); and a point in a three-dimensional point cloud is generated based on the distance measurement, the first estimated angle value, and the second estimated angle value (block 690).
[0090] Process 600 may include additional implementations, such as any single implementation or any combination of implementations described below and / or implementations related to one or more other processes described elsewhere herein.
[0091] Although Figure 6Example blocks of process 600 are shown, but in some implementations, process 600 includes Figure 6 Additional blocks, fewer blocks, different blocks, or differently arranged blocks may be used compared to the blocks depicted in process 600. Additionally or alternatively, two or more blocks of process 600 may be performed in parallel.
[0092] The following provides an overview of some aspects of the disclosure:
[0093] Aspect 1: A beam scanning system comprising: a two-dimensional scanner, including a first galvanometer scanner and a second galvanometer scanner, the first galvanometer scanner being configured to rotate about a first scanning axis based on a first drive signal, and the second galvanometer scanner being configured to rotate about a second scanning axis based on a second drive signal; a time-of-flight sensor being configured to receive a reflected light beam and generate a distance measurement based on the reflected light beam; a driver system being configured to receive a first angle setting point for the first galvanometer scanner and a second angle setting point for the second galvanometer scanner, drive the first galvanometer scanner using the first drive signal based on the first angle setting point, and drive the second galvanometer scanner using the second drive signal based on the second angle setting point; and a system controller configured with a dynamic model of the two-dimensional scanner. type, wherein the system controller is configured to generate a first estimated angle measurement signal based on a first angle set point and a dynamic model, wherein the first estimated angle measurement signal follows a first angular trajectory of the first galvanometer scanner around a first scanning axis, wherein the system controller is configured to generate a second estimated angle measurement signal based on a second angle set point and the dynamic model, wherein the second estimated angle measurement signal follows a second angular trajectory of the second galvanometer scanner around a second scanning axis, and wherein the system controller is configured to: associate a distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0094] Aspect 2: The beam scanning system of Aspect 1, wherein the system controller is configured to apply a first angle set point as a first input to the dynamic model to obtain a first estimated angle value as a first output from the dynamic model, and wherein the system controller is configured to apply a second angle set point as a second input to the dynamic model to obtain a second estimated angle value as a second output from the dynamic model.
[0095] Aspect 3: The beam scanning system of any of Aspects 1 to 2, wherein the system controller is configured to remove angle measurement noise based on the dynamic model to generate the first estimated angle measurement signal and the second estimated angle measurement signal.
[0096] Aspect 4: The beam scanning system of any of Aspects 1 to 3, wherein the system controller is configured to generate the first estimated angle measurement signal and the second estimated angle measurement signal substantially free of angle measurement noise based on the dynamic model.
[0097] Aspect 5: The beam scanning system of any one of Aspects 1 to 4 further includes: a first angular position detector, which is configured to generate a first angular measurement signal based on detecting a first angular position of the first galvanometer scanner around a first scanning axis; and a second angular position detector, which is configured to generate a second angular measurement signal based on detecting a second angular position of the second galvanometer scanner around a second scanning axis, wherein the system controller is configured to generate a first estimated angular measurement signal based on the first angular setting point, the first angular measurement signal and the dynamic model, and wherein the system controller is configured to generate a second estimated angular measurement signal based on the second angular setting point, the second angular measurement signal and the dynamic model.
[0098] Aspect 6: The beam scanning system of Aspect 5, wherein the system controller is configured to remove a first angle measurement noise component from the first angle measurement signal based on applying a first angle set point and a first angle measurement signal as a first input to the dynamic model to generate a first estimated angle measurement signal, and wherein the system controller is configured to remove a second angle measurement noise component from the second angle measurement signal based on applying a second angle set point and a second angle measurement signal as a second input to the dynamic model to generate a second estimated angle measurement signal.
[0099] Aspect 7: The beam scanning system of Aspect 5, wherein the system controller is configured to attenuate first angle measurement noise from the first angle measurement signal to generate a first estimated angle measurement signal based on receiving a first angle set point as a first input to the dynamic model, and wherein the system controller is configured to attenuate second angle measurement noise from the second angle measurement signal to generate a second estimated angle measurement signal based on receiving a second angle set point as a second input to the dynamic model.
[0100] Aspect 8: The beam scanning system of Aspect 5, wherein the system controller comprises a noise attenuation filter programmed by the dynamic model, and wherein the noise attenuation filter is configured to output the first estimated angle measurement signal and the second estimated angle measurement signal.
[0101] Aspect 9: A beam scanning system of any of Aspects 1-8, wherein the driver system is configured to generate a first drive signal based on a difference between a first estimated angle measurement signal and a first set point control signal, and wherein the driver system is configured to generate a second drive signal based on a difference between a second estimated angle measurement signal and a second set point control signal.
[0102] Aspect 10: A beam scanning system comprising: a two-dimensional scanner, the two-dimensional scanner including a galvanometer scanner, the galvanometer scanner being configured to rotate about a first scanning axis based on a first drive signal and to rotate about a second scanning axis based on a second drive signal; a time-of-flight sensor, the time-of-flight sensor being configured to receive a reflected light beam and to generate a distance measurement based on the reflected light beam; a driver system, the driver system being configured to receive an angle vector set point corresponding to a two-dimensional scanning coordinate, to drive the galvanometer scanner about the first scanning axis using a first drive signal based on the angle vector set point, and to drive the galvanometer scanner about the second scanning axis using a second drive signal based on the angle vector set point; and a system controller, the system controller being configured with a dynamic model of the two-dimensional scanner, wherein the system controller is configured The system controller is configured to generate a first estimated angle measurement signal based on an angle vector set point and a dynamic model, wherein the first estimated angle measurement signal follows a first angular trajectory of the galvanometer scanner around a first scanning axis, wherein the system controller is configured to generate a second estimated angle measurement signal based on the angle vector set point and the dynamic model, wherein the second estimated angle measurement signal follows a second angular trajectory of the galvanometer scanner around a second scanning axis, and wherein the system controller is configured to: associate a distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0103] Aspect 11: The beam scanning system of Aspect 10, wherein the system controller is configured to apply an angle vector set point as an input to the dynamic model to obtain a first estimated angle value as a first output from the dynamic model and to obtain a second estimated angle value as a second output from the dynamic model.
[0104] Aspect 12: The beam scanning system of any of Aspects 10 to 11, wherein the system controller is configured to remove angle measurement noise based on the dynamic model to generate the first estimated angle measurement signal and the second estimated angle measurement signal.
[0105] Aspect 13: The beam scanning system of any of Aspects 10 to 12, wherein the system controller is configured to generate the first estimated angle measurement signal and the second estimated angle measurement signal substantially free of angle measurement noise based on the dynamic model.
[0106] Aspect 14: The beam scanning system of any one of Aspects 10 to 13 further includes: a first angular position detector configured to generate a first angular measurement signal based on detecting a first angular position of the galvanometer scanner around a first scanning axis; and a second angular position detector configured to generate a second angular measurement signal based on detecting a second angular position of the galvanometer scanner around a second scanning axis, wherein the system controller is configured to generate an estimated angle vector measurement signal based on an angle vector set point, an angle measurement vector signal and a dynamic model, wherein the angle measurement vector signal represents a combination of the first angle measurement signal and the second angle measurement signal, and wherein the estimated angle vector measurement signal represents a combination of the first estimated angle measurement signal and the second estimated angle measurement signal.
[0107] Aspect 15: The beam scanning system of Aspect 14, wherein the system controller is configured to remove a first angle measurement noise component from the first angle measurement signal based on applying an angle vector set point and a first angle measurement signal to a dynamic model as a first input to generate a first estimated angle measurement signal, and wherein the system controller is configured to remove a second angle measurement noise component from the second angle measurement signal based on applying an angle vector set point and a second angle measurement signal to the dynamic model as a second input to generate a second estimated angle measurement signal.
[0108] Aspect 16: The beam scanning system of Aspect 14, wherein the system controller is configured to attenuate first angle measurement noise from the first angle measurement signal to generate a first estimated angle measurement signal, and to attenuate second angle measurement noise from the second angle measurement signal to generate a second estimated angle measurement signal based on receiving an angle vector set point as an input to the dynamic model.
[0109] Aspect 17: The beam scanning system of Aspect 14, wherein the system controller comprises a noise attenuation filter programmed by the dynamic model, and wherein the noise attenuation filter is configured to output the first estimated angle measurement signal and the second estimated angle measurement signal.
[0110] Aspect 18: A beam scanning system of any one of Aspects 10 to 17, wherein the driver system is configured to compensate the first drive signal based on a difference between the first estimated angle measurement signal and the first set point control signal, and wherein the driver system is configured to compensate the second drive signal based on a difference between the second estimated angle measurement signal and the second set point control signal.
[0111] Aspect 19: The beam scanning system of any of Aspects 10 to 18, wherein the angle vector setpoints include a first angle setpoint for the first scan axis and a second angle setpoint for the second scan axis.
[0112] Aspect 20: A beam scanning method, comprising: generating a first drive signal based on a first angle setting point; generating a second drive signal based on a second angle setting point; driving a two-dimensional scanner around a first scanning axis based on the first drive signal, and driving the two-dimensional scanner around a second scanning axis based on the second drive signal; generating a distance measurement based on a reflected light beam; generating a first estimated angle measurement signal based on the first angle setting point and a dynamic model of the two-dimensional scanner, wherein the first estimated angle measurement signal follows a first angle trajectory around the first scanning axis; generating a second estimated angle measurement signal based on the second angle setting point and a dynamic model of the two-dimensional scanner, wherein the second estimated angle measurement signal follows a second angle trajectory around the second scanning axis; associating the distance measurement with a first estimated angle value, wherein the first estimated angle value corresponds to the first estimated angle measurement signal; associating the distance measurement with a second estimated angle value, wherein the second estimated angle value corresponds to the second estimated angle measurement signal; and generating a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value, and the second estimated angle value.
[0113] Aspect 21: A system configured to perform one or more operations recited in one or more of Aspects 1 to 20.
[0114] Aspect 22: An apparatus comprising means for performing one or more operations recited in one or more of Aspects 1 to 20.
[0115] Aspect 23: A non-transitory computer-readable medium storing an instruction set, the instruction set comprising one or more instructions that, when executed by a device, cause the device to perform one or more operations recited in one or more of Aspects 1 to 20.
[0116] Aspect 24: A computer program product comprising instructions or codes for performing one or more operations recited in one or more of Aspects 1 to 20.
[0117] The foregoing disclosure provides illustrations and descriptions, but is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. Modifications and variations may be made in light of the foregoing disclosure or may be acquired from practicing the embodiments. Furthermore, any of the embodiments described herein may be combined unless the foregoing disclosure explicitly provides a reason why one or more embodiments cannot be combined.
[0118] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, and / or a combination of hardware and software. Obviously, the systems and / or methods described herein can be implemented with 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 the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code--it should be understood that the systems and / or methods can be implemented based on the description design software and hardware herein.
[0119] Although specific combinations of features are set forth in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of the various embodiments. In fact, many of these features can be combined in ways that are not explicitly listed in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of the various embodiments includes the combination of each dependent claim with all other claims in the claim set. As used herein, a phrase referring to "at least one of" in a 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, as well as any combination with multiple identical items.
[0120] When a component or one or more components (e.g., a laser emitter or one or more laser emitters) is described or stated (within a single claim or across multiple claims) to perform multiple operations or to be configured to perform multiple operations, the language is intended to broadly cover a variety of architectures and environments. For example, unless otherwise expressly stated (e.g., through the use of "first component" and "second component" or other language distinguishing between components in the claims), the language is intended to cover a single component that performs or is configured to perform all operations, a group of components that collectively perform or are configured to perform all operations, a first component that performs or is configured to perform a first operation and a second component that performs or is configured to perform a second operation, or any combination of components that perform or are configured to perform operations. For example, when a claim has the form "one or more components that are configured to: perform X; perform Y; and perform Z," the claim should be interpreted to mean "one or more components that are configured to perform X; one or more (possibly different) components that are configured to perform Y; and one or more (possibly different) components that are configured to perform Z."
[0121] Unless clearly described, otherwise any element used in this article, action or instruction should not be interpreted as key or necessary.In addition, as used in this article, the article "a" and "an" are intended to include one or more projects, and can be used interchangeably with "one or more (one or more)".In addition, as used in this article, the article "the" is intended to include one or more projects related to quoting with the article "the", and can be used interchangeably with "one or more".In addition, as used in this article, the term "set" is intended to include one or more projects (for example, related projects, unrelated projects or the combination of related and unrelated projects), and can be used interchangeably with "one or more".When only meaning a project, phrase "only one" or similar language is used.In addition, as used in this article, the term "has", "containing", "having" etc. are intended to be open terms.In addition, unless otherwise clearly stated, phrase "based on" is intended to mean "at least partially based on". Furthermore, as used herein, the term "or" when used in a series is intended to be inclusive and can be used interchangeably with "and / or" unless expressly stated otherwise (e.g., if used in combination with "either" or "only one of").
Claims
1. A beam scanning system comprising: a two-dimensional scanner comprising a first galvanometer scanner configured to rotate about a first scanning axis based on a first drive signal and a second galvanometer scanner configured to rotate about a second scanning axis based on a second drive signal; a time-of-flight sensor configured to receive the reflected light beam and generate a distance measurement based on the reflected light beam; a driver system configured to receive a first angular setpoint for the first galvanometer scanner and a second angular setpoint for the second galvanometer scanner, drive the first galvanometer scanner with the first drive signal based on the first angular setpoint, and drive the second galvanometer scanner with the second drive signal based on the second angular setpoint; as well as a system controller configured with a dynamic model of the two-dimensional scanner, wherein the system controller is configured to generate a first estimated angle measurement signal based on the first angle setpoint and the dynamic model, wherein the first estimated angle measurement signal follows a first angular trajectory of the first galvanometer scanner about the first scan axis, wherein the system controller is configured to generate a second estimated angle measurement signal based on the second angle setpoint and the dynamic model, wherein the second estimated angle measurement signal follows a second angular trajectory of the second galvanometer scanner about the second scan axis, and The system controller is configured to: associate the distance measurement with a first estimated angle value, the first estimated angle value corresponding to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, the second estimated angle value corresponding to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value and the second estimated angle value.
2. The beam scanning system of claim 1 , wherein the system controller is configured to apply the first angle setpoint as a first input to the dynamic model to obtain the first estimated angle value as a first output from the dynamic model, and The system controller is configured to apply the second angle set point as a second input to the dynamic model to obtain the second estimated angle value as a second output from the dynamic model. 3 . The beam scanning system of claim 1 , wherein the system controller is configured to remove angle measurement noise based on the dynamic model to generate the first estimated angle measurement signal and the second estimated angle measurement signal. 4 . The beam scanning system of claim 1 , wherein the system controller is configured to generate the first estimated angle measurement signal and the second estimated angle measurement signal based on the dynamic model that are substantially free of angle measurement noise.
5. The beam scanning system of claim 1 , further comprising: a first angular position detector configured to generate a first angular measurement signal based on detecting a first angular position of the first galvanometer scanner about the first scanning axis; as well as a second angular position detector configured to generate a second angular measurement signal based on detecting a second angular position of the second galvanometer scanner about the second scanning axis, wherein the system controller is configured to generate the first estimated angle measurement signal based on the first angle setpoint, the first angle measurement signal, and the dynamic model, and Wherein the system controller is configured to generate the second estimated angle measurement signal based on the second angle set point, the second angle measurement signal and the dynamic model.
6. The beam scanning system of claim 5 , wherein the system controller is configured to remove a first angle measurement noise component from the first angle measurement signal to generate the first estimated angle measurement signal based on applying the first angle set point and the first angle measurement signal as first input to the dynamic model, and The system controller is configured to remove a second angle measurement noise component from the second angle measurement signal to generate the second estimated angle measurement signal based on applying the second angle set point and the second angle measurement signal as a second input to the dynamic model.
7. The beam scanning system of claim 5 , wherein the system controller is configured to attenuate first angle measurement noise from the first angle measurement signal to generate the first estimated angle measurement signal based on receiving the first angle setpoint as a first input to the dynamic model, and Wherein the system controller is configured to attenuate second angle measurement noise from the second angle measurement signal to generate the second estimated angle measurement signal based on receiving the second angle setpoint as a second input to the dynamic model.
8. The beam scanning system of claim 5, wherein the system controller includes a noise attenuation filter programmed by the dynamic model, and Wherein the noise attenuation filter is configured to output the first estimated angle measurement signal and the second estimated angle measurement signal.
9. The beam scanning system of claim 1 , wherein the driver system is configured to generate the first drive signal based on a difference between the first estimated angle measurement signal and a first set point control signal, and Wherein the driver system is configured to generate the second drive signal based on a difference between the second estimated angle measurement signal and a second set point control signal.
10. A beam scanning system comprising: a two-dimensional scanner comprising a galvanometer scanner configured to rotate about a first scanning axis based on a first drive signal and to rotate about a second scanning axis based on a second drive signal; a time-of-flight sensor configured to receive the reflected light beam and generate a distance measurement based on the reflected light beam; a driver system configured to receive an angular vector setpoint corresponding to a two-dimensional scanning coordinate, drive the galvanometer scanner about the first scanning axis using a first drive signal based on the angular vector setpoint, and drive the galvanometer scanner about the second scanning axis using a second drive signal based on the angular vector setpoint; as well as a system controller configured with a dynamic model of the two-dimensional scanner, wherein the system controller is configured to generate a first estimated angle measurement signal based on the angle vector setpoint and the dynamic model, wherein the first estimated angle measurement signal follows a first angular trajectory of the galvanometer scanner about the first scan axis, wherein the system controller is configured to generate a second estimated angle measurement signal based on the angle vector setpoint and the dynamic model, wherein the second estimated angle measurement signal follows a second angular trajectory of the galvanometer scanner about the second scan axis, and The system controller is configured to: associate the distance measurement with a first estimated angle value, the first estimated angle value corresponding to the first estimated angle measurement signal; associate the distance measurement with a second estimated angle value, the second estimated angle value corresponding to the second estimated angle measurement signal; and generate a point in a three-dimensional point cloud based on the distance measurement, the first estimated angle value and the second estimated angle value.
11. The beam scanning system of claim 10 , wherein the system controller is configured to apply the angle vector set point as input to the dynamic model to obtain the first estimated angle value as a first output from the dynamic model and to obtain the second estimated angle value as a second output from the dynamic model. 12 . The beam scanning system of claim 10 , wherein the system controller is configured to remove angle measurement noise based on the dynamic model to generate the first estimated angle measurement signal and the second estimated angle measurement signal.
13. The beam scanning system of claim 10, wherein the system controller is configured to generate the first estimated angle measurement signal and the second estimated angle measurement signal based on the dynamic model that are substantially free of angle measurement noise.
14. The beam scanning system of claim 10, further comprising: a first angular position detector configured to generate a first angular measurement signal based on detecting a first angular position of the galvanometer scanner about the first scan axis; as well as a second angular position detector configured to generate a second angular measurement signal based on detecting a second angular position of the galvanometer scanner about the second scanning axis, wherein the system controller is configured to generate an estimated angle vector measurement signal based on the angle vector set point, the angle measurement vector signal and the dynamic model, wherein the angle measurement vector signal represents a combination of the first angle measurement signal and the second angle measurement signal, and The estimated angle vector measurement signal represents a combination of the first estimated angle measurement signal and the second estimated angle measurement signal.
15. The beam scanning system of claim 14 , wherein the system controller is configured to remove a first angle measurement noise component from the first angle measurement signal to generate the first estimated angle measurement signal based on applying the angle vector setpoint and the first angle measurement signal as a first input to the dynamic model, and The system controller is configured to remove a second angle measurement noise component from the second angle measurement signal to generate the second estimated angle measurement signal based on applying the angle vector set point and the second angle measurement signal as a second input to the dynamic model.
16. The beam scanning system of claim 14 , wherein the system controller is configured to, based on receiving the angle vector set point as input to the dynamic model, attenuate first angle measurement noise from the first angle measurement signal to generate the first estimated angle measurement signal, and attenuate second angle measurement noise from the second angle measurement signal to generate the second estimated angle measurement signal.
17. The beam scanning system of claim 14, wherein the system controller includes a noise attenuation filter programmed by the dynamic model, and Wherein the noise attenuation filter is configured to output the first estimated angle measurement signal and the second estimated angle measurement signal.
18. The beam scanning system of claim 10, wherein the driver system is configured to compensate the first drive signal based on a difference between the first estimated angle measurement signal and a first set point control signal, and Wherein the driver system is configured to compensate the second drive signal based on a difference between the second estimated angle measurement signal and a second set point control signal.
19. The beam scanning system of claim 10, wherein the angular vector setpoints include a first angular setpoint for the first scanning axis and a second angular setpoint for the second scanning axis.
20. A beam scanning method comprising: generating a first drive signal based on a first angular set point; generating a second drive signal based on a second angular setpoint; driving the two-dimensional scanner around a first scanning axis based on the first drive signal, and driving the two-dimensional scanner around a second scanning axis based on the second drive signal; generating a distance measurement based on the reflected light beam; generating a first estimated angle measurement signal based on the first angle setpoint and a dynamic model of the two-dimensional scanner, wherein the first estimated angle measurement signal follows a first angle trajectory about the first scan axis; generating a second estimated angle measurement signal based on the second angle setpoint and the dynamic model of the two-dimensional scanner, wherein the second estimated angle measurement signal follows a second angle trajectory about the second scan axis; associating the distance measurement with a first estimated angle value corresponding to the first estimated angle measurement signal; correlating the distance measurement with a second estimated angle value corresponding to the second estimated angle measurement signal; as well as A point in a three-dimensional point cloud is generated based on the distance measurement, the first estimated angle value, and the second estimated angle value.