Elongation compensation in lidar system

By determining a correction factor based on the target surface angle and adjusting the pulse width, LiDAR systems address the issue of pulse elongation, enhancing accuracy in reflectance and power estimation.

WO2025144775A1PCT designated stage expired Publication Date: 2025-07-03SEYOND INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/061656
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-28
Filing Date
2024-12-23
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

LiDAR systems face challenges in accurately measuring reflectance properties due to elongation of return pulses caused by target surfaces at angles, leading to incorrect estimation of reflectance and power, particularly in Time-Digital-Converter based systems.

Method used

A correction factor is determined based on the angle of the target surface relative to the LiDAR system to adjust the pulse width of return pulses, compensating for the elongation caused by varying target ranges, using trigonometric functions to calculate the correction factor and applying it to the measured pulse width.

Benefits of technology

The solution effectively corrects for pulse elongation, improving the accuracy of reflectance and power estimation in LiDAR systems, ensuring precise measurement of target surfaces at various angles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024061656_03072025_PF_FP_ABST
    Figure US2024061656_03072025_PF_FP_ABST
Patent Text Reader

Abstract

According to an embodiment, operations for correcting Light Detection And Ranging (LiDAR) return pulse elongation may include determining a correction factor that corresponds to an angle of a surface of a target surface with respect to a LiDAR system. The operations may also include adjusting, based on the correction factor, a pulse width of a return pulse off the target surface, the pulse width corresponding to a duration of reception of the return pulse.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ELONGATION COMPENSATION IN LIDAR SYSTEMS

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 615,746, filed December 28, 2023, entitled “Elongation Compensation in LiDAR Systems.” The contents of this application are hereby incorporated by reference in their entireties for all purposes.

[0004] FIELD OF THE TECHNOLOGY

[0005] This disclosure relates generally to elongation compensation in a LiDAR system.

[0006] BACKGROUND

[0007] Light detection and ranging (LiDAR) systems use light pulses to create an image or point cloud of the external environment A LiDAR system may be a scanning or non-scanning system. Some typical scanning LiDAR systems include a light source, a light transmitter, a light steering system, and a light detector The light source generates a light beam that is directed by the light steering system in particular directions when being transmitted from the LiDAR system. When a transmitted light beam is scattered or reflected by an object, a portion of the scattered or reflected light returns to the LiDAR system to form a return light pulse. The light detector detects the return light pulse. Using the difference between the time that the return light pulse is detected and the time that a corresponding light pulse in the light beam is transmitted, the LiDAR system can determine the distance to the object based on the speed of light. This technique of determining the distance is referred to as the time-of- flight (ToF) technique. The light steering system can direct light beams along different paths to allow the LiDAR system to scan the surrounding environment and produce images or point clouds. A typical non- scanning LiDAR system illuminates an entire field-of-view (FOV) rather than scanning through the FOV. An example of the non-scanning LiDAR sy stem is a flash LiDAR, which can also use the ToF technique to measure the distance to an object. LiDAR systems can also use techniques other than time-of-flight and scanning to measure the surrounding environment.

[0008] ToF LiDAR systems can use the amplitude and duration (also referred to as “width” or “elongation”) of the returned signal pulse to estimate the power and / or energy of the returned signal This information can be used to infer reflectance properties of the environment and to help correct non-idealities of the receiver such as intensitydependent delay correction or cross-talk.

[0009] SUMMARY

[0010] According to various embodiments, operations for correcting Light Detection And Ranging (LiDAR) return pulse elongation may include determining a correction factor that corresponds to an angle of a surface of a target surface with respect to a LiDAR system. The operations may also include adjusting, based on the correction factor, a pulse width of a return pulse off the target surface, the pulse width corresponding to a duration of reception of the return pulse.

[0011] BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The present application can be best understood by reference to the embodiments described below taken in conjunction with the accompanying drawing figures, in which like parts may be referred to by like numerals. FIG. 1 illustrates an example transmission pulse corresponding to a LiDAR system that strikes a surface at an incidence angle.

[0013] FIG. 2 illustrates one or more example LiDAR systems disposed or included in a motor vehicle.

[0014] FIG. 3 is a block diagram illustrating interactions between an example LiDAR system and multiple other systems including a vehicle perception and planning system.

[0015] FIG. 4 is a block diagram illustrating an example LiDAR system.

[0016] FIG. 5 is a block diagram illustrating an example fiber-based laser source.

[0017] FIGs. 6A-6C illustrate an example LiDAR system using pulse signals to measure distances to objects disposed in a field-of-view (FOV).

[0018] FIG. 7 is a block diagram illustrating an example apparatus used to implement systems, apparatus, and methods in various embodiments.

[0019] FIG. 8A illustrates an example process that may be performed to correct LiDAR return pulse elongation (also referred to as pulse width adjustment), according to one or more embodiments of the present disclosure.

[0020] FIG. 8B illustrates an example depiction of relationships that may be used to correct LiDAR return pulse elongation.

[0021] FIGS. 9A and 9B illustrate other example depictions of relationships that may be used to correct LiDAR return pulse elongation.

[0022] FIGS. 10A-10D illustrate other example depictions of relationships that may be used to correct LiDAR return pulse elongation.

[0023] FIG. 11 illustrates an example method that may be performed to correct LiDAR return pulse elongation (also referred to as pulse width adjustment), according to one or more embodiments of the present disclosure.

[0024] DETAILED DESCRIPTION

[0025] To provide a more thorough understanding of various embodiments of the present invention, the following description sets forth numerous specific details, such as specific configurations, parameters, examples, and the like. It should be recognized, however, that such description is not intended as a limitation on the scope of the present invention but is intended to provide a better description of the exemplary embodiments.

[0026] Throughout the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise:

[0027] The phrase “in one embodiment” as used herein does not necessarily refer to the same embodiment, though it may. Thus, as described below, various embodiments of the disclosure may be readily combined, without departing from the scope or spirit of the invention.

[0028] As used herein, the term “or” is an inclusive “or” operator and is equivalent to the term “and / or,” unless the context clearly dictates otherwise.

[0029] The term “based on” is not exclusive and allows for being based on additional factors not described unless the context clearly dictates otherwise.

[0030] As used herein, and unless the context dictates otherwise, the term “coupled to” is intended to include both direct coupling (in which two elements that are coupled to each other contact each other) and indirect coupling (in which at least one additional element is located between the two elements) Therefore, the terms “coupled to” and “coupled with” are used synonymously. Within the context of a networked environment where two or more components or devices are able to exchange data, the terms “coupled to” and “coupled with” are also used to mean “communicatively coupled with”, possibly via one or more intermediary devices. The components or devices can be optical, mechanical, and / or electrical devices.

[0031] Although the following description uses terms “first,” “second,” etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first sensor could be termed a second sensor and, similarly, a second sensor could be termed a first sensor, without departing from the scope of the various described examples. The first sensor and the second sensor can both be sensors and, in some cases, can be separate and different sensors.

[0032] In addition, throughout the specification, the meaning of “a”, “an”, and “the” includes plural references, and the meaning of “in” includes “in” and “on”.

[0033] Although some of the various embodiments presented herein constitute a single combination of inventive elements, it should be appreciated that the inventive subject matter is considered to include all possible combinations of the disclosed elements. As such, if one embodiment comprises elements A, B, and C, and another embodiment comprises elements B and D, then the inventive subject matter is also considered to include other remaining combinations of A, B, C, or D, even if not explicitly discussed herein. Further, the transitional term “comprising” means to have as parts or members, or to be those parts or members. As used herein, the transitional term “comprising” is inclusive or open-ended and does not exclude additional, unrecited elements or method steps.

[0034] As used in the description herein and throughout the claims that follow, when a system, engine, server, device, module, or other computing element is described as being configured to perform or execute functions on data in a memory, the meaning of “configured to” or “programmed to” is defined as one or more processors or cores of the computing element being programmed by a set of software instructions stored in the memory of the computing element to execute the set of functions on target data or data objects stored in the memory.

[0035] It should be noted that any language directed to a computer should be read to include any suitable combination of computing devices or network platforms, including servers, interfaces, systems, databases, agents, peers, engines, controllers, modules, or other types of computing devices operating individually or collectively. One should appreciate the computing devices comprise a processor configured to execute software instructions stored on a tangible, non-transitory computer readable storage medium (e.g., hard drive, FPGA, PLA, solid state drive, RAM, flash, ROM, or any other volatile or non-volatile storage devices). The software instructions configure or program the computing device to provide the roles, responsibilities, or other functionality as discussed below with respect to the disclosed apparatus. Further, the disclosed technologies can be embodied as a computer program product that includes a non-transitory computer readable medium storing the software instructions that causes a processor to execute the disclosed steps associated with implementations of computer-based algorithms, processes, methods, or other instructions. In some embodiments, the various servers, systems, databases, or interfaces exchange data using standardized protocols or algorithms, possibly based on HTTP, HTTPS, AES, public-private key exchanges, web service APIs, known financial transaction protocols, or other electronic information exchanging methods. Data exchanges among devices can be conducted over a packet-switched network, the Internet, LAN, WAN, VPN, or other type of packet switched network; a circuit switched network; cell switched network; or other type of network.

[0036] ToF LiDAR systems can use the amplitude and width of the returned signal pulse to estimate the power and / or energy of the returned signal. This information can be used to infer reflectance properties of the environment and to help correct non-idealities of the receiver such as intensity-dependent delay correction or cross-talk. For example, in time-digital converter systems where there is extremely limited amplitude information, the power of the returned optical signal pulse can be mapped to different pulse widths electronically (higher power producing longer elongation) as a way of retaining power information In the present disclosure, the duration time of detection of a returned pulse by a LiDAR system may be referred to as the “width” or “elongation” of the return pulse. Further, reference to the duration of a return pulse may refer to duration of detection of the return pulse.

[0037] In such an example, Time-Digital-Converter (TDC) based systems (and similarly for Analog-Digital- Converter based LiDAR systems), for a target at a single range, the width of the returned pulse is determined by the target reflectance and target range — as well as measurable characteristics of the LiDAR, e.g., the output laser pulse width, detector temporal response, detector circuit, and receiving aperture size. By inverting this relationship, a TDC system can be used to derive optical power and target reflectance information.

[0038] In practice, the outgoing laser spot (with the shape of a small disk in cross-section) has some finite size and a single laser pulse can illuminate a single target with a non-negligible spread of ranges. Further, the return pulse for any transmitted pulse is spread out in time based on the different ranges encountered by the beam. This distribution of ranges is greater when the incident angle is larger (oblique target) and when the beam size is larger (for fixed divergence, at longer distances). For example, when the target surface area of the laser pulse is at a significant angle away from perpendicular with respect to the LiDAR system, the impact area of the laser spot on such a target may become an ellipse as opposed to a circle in instances in which the target surface area is perpendicular to the LiDAR system. The impact area being an ellipse may add an additional elongation to the detected pulse width - one that is caused by the different ranges of the illuminated target.

[0039] For example, FIG. 1 illustrates an example transmission pulse 100 (“pulse 100”) corresponding to a LiDAR system (e.g., transmitted from a point 110 corresponding to the LiDAR system) that strikes a surface 102 at an incidence angle “9.” The incidence angle may be such that an impact area 108 of the transmission pulse 100 with respect to the surface 102 may have an elliptical shape. Further, the elliptical shape may be such that a first portion 104 of the pulse 100 may be closer to the surface 102 than a second portion 106 of the pulse 100. The first portion 104 may accordingly strike the surface 102 prior to the second portion 106 striking the surface 102. A first return portion of a return pulse of the pulse 100 that corresponds to the first portion 104 may therefore be detected and received at the LiDAR system prior to a second return portion of the return pulse that corresponds to the second portion 106 may be received at the LiDAR system. Further, the second return portion may continue to be detected and received after the first return portion has ceased to be detected and received. Such a discrepancy in detection times may accordingly increase the overall width of the return pulse than in instances in which the incidence angle is perpendicular to the surface.

[0040] As mentioned above, the return pulse width may be used to determine a reflectance of the target surface. This additional elongation of duration of the return pulse, if not corrected, may accordingly cause the LiDAR system to measure these elongated return pulses as having a higher reflectance than it should be. It thus may be desirable to correct for the elongation caused by the variation in target ranges associated with target surfaces being at certain angles in order to recover the reflectance properties of the corresponding target or do return-power based corrections.

[0041] Embodiments of present disclosure are described below. In various embodiments of the present disclosure, a correction factor may be determined to compensate for the additional elongation of return pulse widths that may occur due to target surface angles. For example, the correction factor may correspond to an angle of the target surface with respect to the LiDAR system and may be used to adjust the pulse width. In these and other embodiments, for an individual point in a point cloud obtained from a LiDAR scan, its neighboring points can be used to estimate a distribution of target ranges illuminated by the central laser spot. Based on this estimate (and the correction factor), correction for the change in elongation that comes from a distribution of target ranges may be performed to recover the return power information.

[0042] FIG. 2 illustrates one or more example LiDAR systems 210 and 220A-220I disposed or included in a motor vehicle 200. Vehicle 200 can be a car, a sport utility vehicle (SUV), a truck, a train, a wagon, a bicycle, a motorcycle, a tricycle, a bus, a mobility scooter, a tram, a ship, a boat, an underwater vehicle, an airplane, a helicopter, an unmanned aviation vehicle (UAV), a spacecraft, etc. Motor vehicle 200 can be a vehicle having any automated level. For example, motor vehicle 200 can be a partially automated vehicle, a highly automated vehicle, a fully automated vehicle, or a driverless vehicle A partially automated vehicle can perform some driving functions without a human driver’s intervention. For example, a partially automated vehicle can perform blind-spot monitoring, lane keeping and / or lane changing operations, automated emergency braking, smart cruising and / or traffic following, or the like. Certain operations of a partially automated vehicle may be limited to specific applications or driving scenarios (e g., limited to only freeway driving). A highly automated vehicle can generally perform all operations of a partially automated vehicle but with less limitations. A highly automated vehicle can also detect its own limits in operating the vehicle and ask the driver to take over the control of the vehicle when necessary A fully automated vehicle can perform all vehicle operations without a driver’s intervention but can also detect its own limits and ask the driver to take over when necessary. A driverless vehicle can operate on its own without any driver intervention.

[0043] In typical configurations, motor vehicle 200 comprises one or more LiDAR systems 210 and 220A-220I. Each of LiDAR systems 210 and 220A-220I can be a scanning-based LiDAR system and / or a non-scanning LiDAR system (e.g., a flash LiDAR). A scanning-based LiDAR system scans one or more light beams in one or more directions (e.g , horizontal and vertical directions) to detect objects in a field-of-view (FOV). A non-scanning based LiDAR system transmits laser light to illuminate an FOV without scanning. For example, a flash LiDAR is a type of non-scanning based LiDAR system. A flash LiDAR can transmit laser light to simultaneously illuminate an FOV using a single light pulse or light shot

[0044] A LiDAR system is a frequently-used sensor of a vehicle that is at least partially automated. In one embodiment, as shown in FIG. 2, motor vehicle 200 may include a single LiDAR system 210 (e.g., without LiDAR systems 220A-220I) disposed at the highest position of the vehicle (e.g., at the vehicle roof). Disposing LiDAR system 210 at the vehicle roof facilitates a 360-degree scanning around vehicle 200. In some other embodiments, motor vehicle 200 can include multiple LiDAR systems, including two or more of systems 210 and / or 220A-220I. As shown in FIG. 2, in one embodiment, multiple LiDAR systems 210 and / or 220A-220I are attached to vehicle 200 at different locations of the vehicle. For example, LiDAR system 220A is attached to vehicle 200 at the front right comer; LiDAR system 220B is attached to vehicle 200 at the front center position; LiDAR system 220C is attached to vehicle 200 at the front left comer; LiDAR system 220D is attached to vehicle 200 at the right-side rear view mirror; LiDAR system 220E is attached to vehicle 200 at the left-side rear view mirror; LiDAR system 220F is attached to vehicle 200 at the back center position; LiDAR system 220G is attached to vehicle 200 at the back right comer; LiDAR system 220H is attached to vehicle 200 at the back left corner; and / or LiDAR system 2201 is attached to vehicle 200 at the center towards the backend (e.g., back end of the vehicle roof). It is understood that one or more LiDAR systems can be distributed and attached to a vehicle in any desired manner and FIG. 2 only illustrates one embodiment. As another example, LiDAR systems 220D and 220E may be attached to the B-pillars of vehicle 200 instead of the rear-view mirrors. As another example, LiDAR system 220B may be attached to the windshield of vehicle 200 instead of the front bumper

[0045] In some embodiments, LiDAR systems 210 and 220A-220I are independent LiDAR systems having their own respective laser sources, control electronics, transmitters, receivers, and / or steering mechanisms. In other embodiments, some of LiDAR systems 210 and 220A-220I can share one or more components, thereby forming a distributed sensor system. In one example, optical fibers are used to deliver laser light from a centralized laser source to all LiDAR systems. For instance, system 210 (or another system that is centrally positioned or positioned anywhere inside the vehicle 200) includes a light source, a transmitter, and a light detector, but has no steering mechanisms. System 210 may distribute transmission light to each of systems 220A-220I. The transmission light may be distributed via optical fibers. Optical connectors can be used to couple the optical fibers to each of system 210 and 220A-220I. In some examples, one or more of systems 220A-220I include steering mechanisms but no light sources, transmitters, or light detectors. A steering mechanism may include one or more moveable mirrors such as one or more polygon mirrors, one or more single plane mirrors, one or more multi-plane mirrors, or the like. Embodiments of the light source, transmitter, steering mechanism, and light detector are described in more detail below. Via the steering mechanisms, one or more of systems 220A-220I scan light into one or more respective FOVs and receive corresponding return light. The return light is formed by scattering or reflecting the transmission light by one or more objects in the FOVs. Systems 220A-220I may also include collection lens and / or other optics to focus and / or direct the return light into optical fibers, which deliver the received return light to system 210. System 210 includes one or more light detectors for detecting the received return light In some examples, system 210 is disposed inside a vehicle such that it is in a temperature-controlled environment, while one or more systems 220A-220I may be at least partially exposed to the external enviromnent.

[0046] FIG. 3 is a block diagram 300 illustrating interactions between vehicle onboard LiDAR system(s) 310 and multiple other systems including a vehicle perception and planning system 320. LiDAR sy stem(s) 310 can be mounted on or integrated to a vehicle. LiDAR system(s) 310 include sensor(s) that scan laser light to the surrounding environment to measure the distance, angle, and / or velocity of objects. Based on the scattered light that returned to LiDAR system(s) 310, it can generate sensor data (e.g., image data or 3D point cloud data) representing the perceived external enviromnent.

[0047] LiDAR system(s) 310 can include one or more of short-range LiDAR sensors, medium-range LiDAR sensors, and long-range LiDAR sensors A short-range LiDAR sensor measures objects located up to about 20-50 meters from the LiDAR sensor. Short-range LiDAR sensors can be used for, e.g., monitoring nearby moving objects (e.g., pedestrians crossing street in a school zone), parking assistance applications, or the like A medium-range LiDAR sensor measures objects located up to about 70-200 meters from the LiDAR sensor. Medium-range LiDAR sensors can be used for, e.g., monitoring road intersections, assistance for merging onto or leaving a freeway, or the like. A long-range LiDAR sensor measures objects located up to about 200 meters and beyond. Long-range LiDAR sensors are typically used when a vehicle is travelling at a high speed (e.g., on a freeway), such that the vehicle’s control systems may only have a few seconds (e.g., 6-8 seconds) to respond to any situations detected by the LiDAR sensor. As shown in FIG 3, in one embodiment, the LiDAR sensor data can be provided to vehicle perception and planning system 320 via a communication path 313 for further processing and controlling the vehicle operations. Communication path 313 can be any wired or wireless communication links that can transfer data

[0048] With reference still to FIG. 3, in some embodiments, other vehicle onboard sensor(s) 330 are configured to provide additional sensor data separately or together with LiDAR system(s) 310. Other vehicle onboard sensors 330 may include, for example, one or more camera(s) 332, one or more radar(s) 334, one or more ultrasonic sensor(s) 336, and / or other sensor(s) 338. Camera(s) 332 can take images and / or videos of the external environment of a vehicle. Camera(s) 332 can take, for example, high-definition (HD) videos having millions of pixels in each frame. A camera includes image sensors that facilitate producing monochrome or color images and videos. Color information may be important in interpreting data for some situations (e.g., interpreting images of traffic lights). Color information may not be available from other sensors such as LiDAR or radar sensors. Camera(s) 332 can include one or more of narrow-focus cameras, wider-focus cameras, side-facing cameras, infrared cameras, fisheye cameras, or the like. The image and / or video data generated by camera(s) 332 can also be provided to vehicle perception and planning system 320 via communication path 333 for further processing and controlling the vehicle operations. Communication path 333 can be any wired or wireless communication links that can transfer data Camera(s) 332 can be mounted on, or integrated to, a vehicle at any location (e.g., rear-view mirrors, pillars, front grille, and / or back bumpers, etc.).

[0049] Other vehicle onboard sensor(s) 330 can also include radar sensor(s) 334. Radar sensor(s) 334 use radio waves to determine the range, angle, and velocity of objects. Radar sensor(s) 334 produce electromagnetic waves in the radio or microwave spectrum. The electromagnetic waves reflect off an object and some of the reflected waves return to the radar sensor, thereby providing information about the object’s position and velocity. Radar sensor(s) 334 can include one or more of short-range radar(s), medium-range radar(s), and long-range radar(s). A short-range radar measures objects located at about 0.1-30 meters from the radar. A short-range radar is useful in detecting objects located near the vehicle, such as other vehicles, buildings, walls, pedestrians, bicyclists, etc. A short-range radar can be used to detect a blind spot, assist in lane changing, provide rear-end collision warning, assist in parking, provide emergency braking, or the like. A medium-range radar measures objects located at about 30-80 meters from the radar. A long-range radar measures objects located at about 80-200 meters Medium- and / or long- range radars can be useful in, for example, traffic following, adaptive cruise control, and / or highway automatic braking. Sensor data generated by radar sensor(s) 334 can also be provided to vehicle perception and planning system 320 via communication path 333 for further processing and controlling the vehicle operations. Radar sensor(s) 334 can be mounted on, or integrated to, a vehicle at any location (e.g., rear-view mirrors, pillars, front grille, and / or back bumpers, etc.).

[0050] Other vehicle onboard sensor(s) 330 can also include ultrasonic sensor(s) 336. Ultrasonic sensor(s) 336 use acoustic waves or pulses to measure objects located external to a vehicle. The acoustic waves generated by ultrasonic sensor(s) 336 are transmitted to the surrounding environment. At least some of the transmitted waves are reflected off an object and return to the ultrasonic sensor(s) 336. Based on the return signals, a distance of the object can be calculated. Ultrasonic sensor(s) 336 can be useful in, for example, checking blind spots, identifying parking spaces, providing lane changing assistance into traffic, or the like Sensor data generated by ultrasonic sensor(s) 336 can also be provided to vehicle perception and planning system 320 via communication path 333 for further processing and controlling the vehicle operations Ultrasonic sensor(s) 336 can be mounted on, or integrated to, a vehicle at any location (e.g., rear-view mirrors, pillars, front grille, and / or back bumpers, etc.). In some embodiments, one or more other sensor(s) 338 may be attached in a vehicle and may also generate sensor data. Other sensor(s) 338 may include, for example, global positioning systems (GPS), inertial measurement units (IMU), or the like. Sensor data generated by other sensor(s) 338 can also be provided to vehicle perception and planning system 320 via communication path 333 for further processing and controlling the vehicle operations. It is understood that communication path 333 may include one or more communication links to transfer data between the various sensor(s) 330 and vehicle perception and planning system 320.

[0051] In some embodiments, as shown in FIG. 3, sensor data from other vehicle onboard sensor(s) 330 can be provided to vehicle onboard LiDAR sy stem(s) 310 via communication path 331. LiDAR sy stem(s) 310 may process the sensor data from other vehicle onboard sensor(s) 330. For example, sensor data from camera(s) 332, radar sensor(s) 334, ultrasonic sensor(s) 336, and / or other sensor(s) 338 may be correlated or fused with sensor data LiDAR sy stem(s) 310, thereby at least partially offloading the sensor fusion process performed by vehicle perception and planning system 320. It is understood that other configurations may also be implemented for transmitting and processing sensor data from the various sensors (e.g., data can be transmitted to a cloud or edge computing service provider for processing and then the processing results can be transmitted back to the vehicle perception and planning system 320 and / or LiDAR system 310).

[0052] With reference still to FIG. 3, in some embodiments, sensors onboard other vehicle(s) 350 are used to provide additional sensor data separately or together with LiDAR system(s) 310. For example, two or more nearby vehicles may have their own respective LiDAR sensor(s), camera(s), radar sensor(s), ultrasonic sensor(s), etc. Nearby vehicles can communicate and share sensor data with one another. Communications between vehicles are also referred to as V2V (vehicle to vehicle) communications. For example, as shown in FIG. 3, sensor data generated by other vehicle(s) 350 can be communicated to vehicle perception and planning system 320 and / or vehicle onboard LiDAR system(s) 310, via communication path 353 and / or communication path 351, respectively. Communication paths 353 and 351 can be any wired or wireless communication links that can transfer data.

[0053] Sharing sensor data facilitates a better perception of the environment external to the vehicles. For instance, a first vehicle may not sense a pedestrian that is behind a second vehicle but is approaching the first vehicle. The second vehicle may share the sensor data related to this pedestrian with the first vehicle such that the first vehicle can have additional reaction time to avoid collision with the pedestrian. In some embodiments, similar to data generated by sensor(s) 330, data generated by sensors onboard other vehicle(s) 350 may be correlated or fused with sensor data generated by LiDAR system(s) 310 (or with other LiDAR systems located in other vehicles), thereby at least partially offloading the sensor fusion process performed by vehicle perception and planning system 320.

[0054] In some embodiments, intelligent infrastructure system(s) 340 are used to provide sensor data separately or together with LiDAR system(s) 310. Certain infrastructures may be configured to communicate with a vehicle to convey information and vice versa. Communications between a vehicle and infrastructures are generally referred to as V2I (vehicle to infrastructure) communications. For example, intelligent infrastructure system(s) 340 may include an intelligent traffic light that can convey its status to an approaching vehicle in a message such as “changing to yellow in 5 seconds.” Intelligent infrastructure system(s) 340 may also include its own LiDAR system mounted near an intersection such that it can convey traffic monitoring information to a vehicle For example, a leftturning vehicle at an intersection may not have sufficient sensing capabilities because some of its own sensors may be blocked by traffic in the opposite direction. In such a situation, sensors of intelligent infrastructure system(s) 340 can provide useful data to the left-turning vehicle. Such data may include, for example, traffic conditions, information of objects in the direction the vehicle is turning to, traffic light status and predictions, or the like. These sensor data generated by intelligent infrastructure system(s) 340 can be provided to vehicle perception and planning system 320 and / or vehicle onboard LiDAR system(s) 310, via communication paths 343 and / or 341 , respectively. Communication paths 343 and / or 341 can include any wired or wireless communication links that can transfer data. For example, sensor data from intelligent infrastructure system(s) 340 may be transmitted to LiDAR system(s) 310 and correlated or fused with sensor data generated by LiDAR system(s) 310, thereby at least partially offloading the sensor fusion process performed by vehicle perception and planning system 320. V2V and V2I communications described above are examples of vehicle-to-X (V2X) communications, where the “X” represents any other devices, systems, sensors, infrastructure, or the like that can share data with a vehicle.

[0055] With reference still to FIG. 3, via various communication paths, vehicle perception and planning system 320 receives sensor data from one or more of LiDAR system(s) 310, othervehicle onboard sensor(s) 330, other vehicle(s) 350, and / or intelligent infrastructure system(s) 340. In some embodiments, different types of sensor data are correlated and / or integrated by a sensor fusion sub-system 322. For example, sensor fusion sub-system 322 can generate a 360-degree model using multiple images or videos captured by multiple cameras disposed at different positions of the vehicle. Sensor fusion sub-system 322 obtains sensor data from different types of sensors and uses the combined data to perceive the environment more accurately. For example, a vehicle onboard camera 332 may not capture a clear image because it is facing the sun or a light source (e.g., another vehicle’s headlight during nighttime) directly. A LiDAR system 310 may not be affected as much and therefore sensor fusion sub-system 322 can combine sensor data provided by both camera 332 and LiDAR system 310, and use the sensor data provided by LiDAR system 310 to compensate the unclear image captured by camera 332. As another example, in a rainy or foggy weather, a radar sensor 334 may work better than a camera 332 or a LiDAR system 310. Accordingly, sensor fusion sub-system 322 may use sensor data provided by the radar sensor 334 to compensate the sensor data provided by camera 332 or LiDAR system 310.

[0056] In other examples, sensor data generated by othervehicle onboard sensor(s) 330 may have a lower resolution (e.g., radar sensor data) and thus may need to be correlated and confirmed by LiDAR system(s) 310, which usually has a higher resolution. For example, a sewage cover (also referred to as a manhole cover) may be detected by radar sensor 334 as an object towards which a vehicle is approaching. Due to the low-resolution nature of radar sensor 334, vehicle perception and planning system 320 may not be able to determine whether the object is an obstacle that the vehicle needs to avoid High-resolution sensor data generated by LiDAR system(s) 310 thus can be used to correlated and confirm that the object is a sewage cover and causes no harm to the vehicle.

[0057] Vehicle perception and planning system 320 further comprises an object classifier 323 Using raw sensor data and / or correlated / fused data provided by sensor fusion sub-system 322, object classifier 323 can use any computer vision techniques to detect and classify the objects and estimate the positions of the objects. In some embodiments, object classifier 323 can use machine-learning based techniques to detect and classify objects. Examples of the machine-learning based techniques include utilizing algorithms such as region-based convolutional neural networks (R-CNN), Fast R-CNN, Faster R-CNN, histogram of oriented gradients (HOG), region-based fully convolutional network (R-FCN), single shot detector (SSD), spatial pyramid pooling (SPP-net), and / or You Only Look Once (Yolo).

[0058] Vehicle perception and planning system 320 further comprises a road detection sub-system 324. Road detection sub- system 324 localizes the road and identifies objects and / or markings on the road. For example, based on raw or fused sensor data provided by radar sensor(s) 334, camera(s) 332, and / or LiDAR system(s) 310, road detection sub- system 324 can build a 3D model of the road based on machine-learning techniques (e.g., pattern recognition algorithms for identifying lanes) Using the 3D model of the road, road detection sub- system 324 can identify objects (e.g., obstacles or debris on the road) and / or markings on the road (e.g., lane lines, turning marks, crosswalk marks, or the like).

[0059] Vehicle perception and planning system 320 further comprises a localization and vehicle posture subsystem 325. Based on raw or fused sensor data, localization and vehicle posture sub-system 325 can determine position of the vehicle and the vehicle’s posture. For example, using sensor data from LiDAR system(s) 310, camera(s) 332, and / or GPS data, localization and vehicle posture sub-system 325 can determine an accurate position of the vehicle on the road and the vehicle’s six degrees of freedom (e.g., whether the vehicle is moving forward or backward, up or down, and left or right). In some embodiments, high-definition (HD) maps are used for vehicle localization. HD maps can provide highly detailed, three-dimensional, computerized maps that pinpoint a vehicle’s location. For instance, using the HD maps, localization and vehicle posture sub-system 325 can determine precisely the vehicle’s current position (e.g., which lane of the road the vehicle is currently in, how close it is to a curb or a sidewalk) and predict vehicle’s future positions.

[0060] Vehicle perception and planning system 320 further comprises obstacle predictor 326. Objects identified by object classifier 323 can be stationary (e.g., a light pole, a road sign) or dynamic (e.g., a moving pedestrian, bicycle, another car). For moving objects, predicting their moving path or future positions can be important to avoid collision. Obstacle predictor 326 can predict an obstacle trajectory and / or warn the driver or the vehicle planning sub- system 328 about a potential collision For example, if there is a high likelihood that the obstacle’s trajectory intersects with the vehicle’s current moving path, obstacle predictor 326 can generate such a warning. Obstacle predictor 326 can use a variety of techniques for making such a prediction. Such techniques include, for example, constant velocity or acceleration models, constant turn rate and velocity / acceleration models, Kalman Filter and Extended Kalman Filter based models, recurrent neural network (RNN) based models, long short-term memory (LSTM) neural network based models, encoder-decoder RNN models, or the like.

[0061] With reference still to FIG. 3, in some embodiments, vehicle perception and planning system 320 further comprises vehicle planning sub-system 328. Vehicle planning sub-system 328 can include one or more planners such as a route planner, a driving behaviors planner, and a motion planner. The route planner can plan the route of a vehicle based on the vehicle’s current location data, target location data, traffic information, etc The driving behavior planner adjusts the timing and planned movement based on how other objects might move, using the obstacle prediction results provided by obstacle predictor 326. The motion planner determines the specific operations the vehicle needs to follow. The planning results are then communicated to vehicle control system 380 via vehicle interface 370. The communication can be performed through communication paths 327 and 371, which include any wired or wireless communication links that can transfer data.

[0062] Vehicle control system 380 controls the vehicle’s steering mechanism, throttle, brake, etc., to operate the vehicle according to the planned route and movement In some examples, vehicle perception and planning system 320 may further comprise a user interface 360, which provides a user (e.g., a driver) access to vehicle control system 380 to, for example, override or take over control of the vehicle when necessary. User interface 360 may also be separate from vehicle perception and planning system 320. User interface 360 can communicate with vehicle perception and planning system 320, for example, to obtain and display raw or fused sensor data, identified objects, vehicle’s location / posture, etc. These displayed data can help a user to better operate the vehicle. User interface 360 can communicate with vehicle perception and planning system 320 and / or vehicle control system 380 via communication paths 321 and 361 respectively, which include any wired or wireless communication links that can transfer data. It is understood that the various systems, sensors, communication links, and interfaces in FIG. 3 can be configured in any desired manner and not limited to the configuration shown in FIG. 3.

[0063] FIG. 4 is a block diagram illustrating an example LiDAR system 400. LiDAR system 400 can be used to implement LiDAR systems 210, 220A-220I, and / or 310 shown in FIGs. 1 and 2. In one embodiment, LiDAR system 400 comprises a light source 410, a transmitter 420, an optical receiver and light detector 430, a steering system 440, and a control circuitry 350. These components are coupled together using communications paths 412, 414, 422, 432, 442, 452, and 462. These communications paths include communication links (wired or wireless, bidirectional or unidirectional) among the various LiDAR system components, but need not be physical components themselves. While the communications paths can be implemented by one or more electrical wires, buses, or optical fibers, the communication paths can also be wireless channels or free-space optical paths so that no physical communication medium is present. For example, in one embodiment of LiDAR system 400, communication path 414 between light source 410 and transmitter 420 may be implemented using one or more optical fibers. Communication paths 432 and 452 may represent optical paths implemented using free space optical components and / or optical fibers. And communication paths 412, 422, 442, and 462 may be implemented using one or more electrical wires that carry electrical signals. The communications paths can also include one or more of the above types of communication mediums (e.g., they can include an optical fiber and a free-space optical component, or include one or more optical fibers and one or more electrical wires).

[0064] In some embodiments, LiDAR system 400 can be a coherent LiDAR system. One example is a frequency- modulated continuous- wave (FMCW) LiDAR. Coherent LiDARs detect objects by mixing return light from the objects with light from the coherent laser transmitter. Thus, as shown in FIG. 4, if LiDAR system 400 is a coherent LiDAR, it may include a route 472 providing a portion of transmission light from transmitter 420 to optical receiver and light detector 430. Route 372 may include one or more optics (e.g., optical fibers, lens, mirrors, etc.) for providing the light from transmitter 420 to optical receiver and light detector 430. The transmission light provided by transmitter 420 may be modulated light and can be split into two portions. One portion is transmitted to the FOV, while the second portion is sent to the optical receiver and light detector of the LiDAR system. The second portion is also referred to as the light that is kept local (LO) to the LiDAR system. The transmission light is scattered or reflected by various objects in the FOV and at least a portion of it forms return light The return light is subsequently detected and interferometrically recombined with the second portion of the transmission light that was kept local. Coherent LiDAR provides a means of optically sensing an object’s range as well as its relative velocity along the line-of-sight (LOS).

[0065] LiDAR system 400 can also include other components not depicted in FIG. 4, such as power buses, power supplies, LED indicators, switches, etc. Additionally, other communication connections among components may be present, such as a direct connection between light source 410 and optical receiver and light detector 430 to provide a reference signal so that the time from when a light pulse is transmitted until a return light pulse is detected can be accurately measured.

[0066] Light source 410 outputs laser light for illuminating objects in a field of view (FOV). The laser light can be infrared light having a wavelength in the range of 700nm to 1mm. Light source 410 can be, for example, a semiconductor-based laser (e.g., a diode laser) and / or a fiber-based laser A semiconductor-based laser can be, for example, an edge emitting laser (EEL), a vertical cavity surface emitting laser (VCSEL), an external-cavity diode laser, a vertical-extemal-cavity surface-emitting laser, a distributed feedback (DFB) laser, a distributed Bragg reflector (DBR) laser, an interband cascade laser, a quantum cascade laser, a quantum well laser, a double heterostructure laser, or the like. A fiber-based laser is a laser in which the active gain medium is an optical fiber doped with rare-earth elements such as erbium, ytterbium, neodymium, dysprosium, praseodymium, thulium and / or holmium. In some embodiments, a fiber laser is based on double-clad fibers, in which the gain medium forms the core of the fiber surrounded by two layers of cladding. The double-clad fiber allows the core to be pumped with a high-power beam, thereby enabling the laser source to be a high power fiber laser source.

[0067] In some embodiments, light source 410 comprises a master oscillator (also referred to as a seed laser) and power amplifier (MOPA). The power amplifier amplifies the output power of the seed laser. The power amplifier can be a fiber amplifier, a bulk amplifier, or a semiconductor optical amplifier. The seed laser can be a diode laser (e.g., a Fabry-Perot cavity laser, a distributed feedback laser), a solid-state bulk laser, or a tunable external-cavity diode laser. In some embodiments, light source 410 can be an optically pumped microchip laser. Microchip lasers are alignment-free monolithic solid-state lasers where the laser crystal is directly contacted with the end mirrors of the laser resonator. A microchip laser is typically pumped with a laser diode (directly or using a fiber) to obtain the desired output power. A microchip laser can be based on neodymium-doped yttrium aluminum garnet (Y3AI5O12) laser crystals (i.e., Nd:YAG), or neodymium-doped vanadate (i.e., NlhYVCh) laser crystals. In some examples, light source 410 may have multiple amplification stages to achieve a high power gain such that the laser output can have high power, thereby enabling the LiDAR system to have a long scanning range. In some examples, the power amplifier of light source 410 can be controlled such that the power gain can be varied to achieve any desired laser output power.

[0068] FIG. 5 is a block diagram illustrating an example fiber-based laser source 500 having a seed laser and one or more pumps (e.g., laser diodes) for pumping desired output power. Fiber-based laser source 500 is an example of light source 410 depicted in FIG. 4. In some embodiments, fiber-based laser source 500 comprises a seed laser 502 to generate initial light pulses of one or more wavelengths (e g., infrared wavelengths such as 1550 nm), which are provided to a wavelength-division multiplexor (WDM) 504 via an optical fiber 503. Fiber-based laser source 500 further comprises a pump 506 for providing laser power (e.g., of a different wavelength, such as 980 nm) to WDM 504 via an optical fiber 505. WDM 504 multiplexes the light pulses provided by seed laser 502 and the laser power provided by pump 506 onto a single optical fiber 507. The output of WDM 504 can then be provided to one or more pre-amplifier(s) 508 via optical fiber 507. Pre-amplifier(s) 508 can be optical amplifier(s) that amplify optical signals (e.g., with about 10-30 dB gain). In some embodiments, pre-amplifier(s) 508 are low noise amplifiers. Preamplifiers) 508 output to an optical combiner 510 via an optical fiber 509. Combiner 510 combines the output laser light of pre-amplifier(s) 508 with the laser power provided by pump 512 via an optical fiber 511. Combiner 510 can combine optical signals having the same wavelength or different wavelengths. One example of a combiner is a WDM. Combiner 510 provides combined optical signals to a booster amplifier 514, which produces output light pulses via optical fiber 515. The booster amplifier 514 provides further amplification of the optical signals (e.g., another 20-40dB). The output light pulses can then be transmitted to transmitter 420 and / or steering mechanism 440 (shown in FIG. 4). It is understood that FIG. 5 illustrates one example configuration of fiber-based laser source 500. Laser source 500 can have many other configurations using different combinations of one or more components shown in FIG. 5 and / or other components not shown in FIG. 5 (e.g., other components such as power supplies, lens(es), filters, splitters, combiners, etc ).

[0069] In some variations, fiber-based laser source 500 can be controlled (e.g., by control circuitry 350) to produce pulses of different amplitudes based on the fiber gain profile of the fiber used in fiber-based laser source 500. Communication path 412 couples fiber-based laser source 500 to control circuitry 350 (shown in FIG. 4) so that components of fiber-based laser source 500 can be controlled by or otherwise communicate with control circuitry 350. Alternatively, fiber-based laser source 500 may include its own dedicated controller. Instead of control circuitry 350 communicating directly with components of fiber-based laser source 500, a dedicated controller of fiber-based laser source 500 communicates with control circuitry 350 and controls and / or communicates with the components of fiber-based laser source 500. Fiber-based laser source 500 can also include other components not shown, such as one or more power connectors, power supplies, and / or power lines.

[0070] Referencing FIG 4, typical operating wavelengths of light source 410 comprise, for example, about 850 nm, about 905 nm, about 940 nm, about 1064 nm, and about 1550 nm For laser safety, the upper limit of maximum usable laser power is set by the U.S. FDA (U.S. Food and Drug Administration) regulations. The optical power limit at 1550 nm wavelength is much higher than those of the other aforementioned wavelengths. Further, at 1550 nm, the optical power loss in a fiber is low. There characteristics of the 1550 nm wavelength make it more beneficial for long-range LiDAR applications. The amount of optical power output from light source 410 can be characterized by its peak power, average power, pulse energy, and / or the pulse energy density The peak power is the ratio of pulse energy to the width of the pulse (e.g., full width at half maximum or FWHM). Thus, a smaller pulse width can provide a larger peak power for a fixed amount of pulse energy. A pulse width can be in the range of nanosecond or picosecond. The average power is the product of the energy of the pulse and the pulse repetition rate (PRR). As described in more detail below, the PRR represents the frequency of the pulsed laser light. In general, the smaller the time interval between the pulses, the higher the PRR. The PRR typically corresponds to the maximum range that a LiDAR system can measure. Light source 410 can be configured to produce pulses at high PRR to meet the desired number of data points in a point cloud generated by the LiDAR system. Light source 410 can also be configured to produce pulses at medium or low PRR to meet the desired maximum detection distance. Wall plug efficiency (WPE) is another factor to evaluate the total power consumption, which may be a useful indicator in evaluating the laser efficiency. For example, as shown in FIG. 2, multiple LiDAR systems may be attached to a vehicle, which may be an electrical-powered vehicle or a vehicle otherwise having limited fuel or battery power supply. Therefore, high WPE and intelligent ways to use laser power are often among the important considerations when selecting and configuring light source 410 and / or designing laser delivery systems for vehicle-mounted LiDAR applications.

[0071] It is understood that the above descriptions provide non-limiting examples of a light source 410. Light source 410 can be configured to include many other types of light sources (e.g., laser diodes, short-cavity fiber lasers, solid-state lasers, and / or tunable external cavity diode lasers) that are configured to generate one or more light signals at various wavelengths. In some examples, light source 410 comprises amplifiers (e.g., pre-amplifiers and / or booster amplifiers), which can be a doped optical fiber amplifier, a solid-state bulk amplifier, and / or a semiconductor optical amplifier. The amplifiers are configured to receive and amplify light signals with desired gams. With reference back to FIG. 4, LiDAR system 400 further comprises a transmitter 420 Light source 410 provides laser light (e.g., in the form of a laser beam) to transmitter 420. The laser light provided by light source 410 can be amplified laser light with a predetermined or controlled wavelength, pulse repetition rate, and / or power level. Transmitter 420 receives the laser light from light source 410 and transmits the laser light to steering mechanism 440 with low divergence. In some embodiments, transmitter 420 can include, for example, optical components (e.g , lens, fibers, mirrors, etc ) for transmitting one or more laser beams to a field-of-view (FOV) directly or via steering mechanism 440. While FIG. 4 illustrates transmitter 420 and steering mechanism 440 as separate components, they may be combined or integrated as one system in some embodiments. Steering mechanism 440 is described in more detail below.

[0072] Laser beams provided by light source 410 may diverge as they travel to transmitter 420. Therefore, transmitter 420 often comprises a collimating lens configured to collect the diverging laser beams and produce more parallel optical beams with reduced or minimum divergence. The collimated optical beams can then be further directed through various optics such as mirrors and lens. A collimating lens may be, for example, a single planoconvex lens or a lens group. The collimating lens can be configured to achieve any desired properties such as the beam diameter, divergence, numerical aperture, focal length, or the like. A beam propagation ratio or beam quality factor (also referred to as the M2factor) is used for measurement of laser beam quality. In many LiDAR applications, it is important to have good laser beam quality in the generated transmitting laser beam. The M2factor represents a degree of variation of a beam from an ideal Gaussian beam. Thus, the M2factor reflects how well a collimated laser beam can be focused on a small spot, or how well a divergent laser beam can be collimated. Therefore, light source 410 and / or transmitter 420 can be configured to meet, for example, a scan resolution requirement while maintaining the desired M2factor.

[0073] One or more of the light beams provided by transmitter 420 are scanned by steering mechanism 440 to a FOV Steering mechanism 440 scans light beams in multiple dimensions (e.g., in both the horizontal and vertical dimension) to facilitate LiDAR system 400 to map the environment by generating a 3D point cloud. A horizontal dimension can be a dimension that is parallel to the horizon or a surface associated with the LiDAR system or a vehicle (e.g., a road surface). A vertical dimension is perpendicular to the horizontal dimension (i.e., the vertical dimension forms a 90-degree angle with the horizontal dimension). Steering mechanism 440 will be described in more detail below. The laser light scanned to an FOV may be scattered or reflected by an object in the FOV. At least a portion of the scattered or reflected light forms return light that returns to LiDAR system 400 FIG. 4 further illustrates an optical receiver and light detector 430 configured to receive the return light Optical receiver and light detector 430 comprises an optical receiver that is configured to collect the return light from the FOV. The optical receiver can include optics (e.g., lens, fibers, mirrors, etc.) for receiving, redirecting, focusing, amplifying, and / or filtering return light from the FOV. For example, the optical receiver often includes a collection lens (e.g., a single plano-convex lens or a lens group) to collect and / or focus the collected return light onto a light detector.

[0074] A light detector detects the return light focused by the optical receiver and generates current and / or voltage signals proportional to the incident intensity of the return light. Based on such current and / or voltage signals, the depth information of the object in the FOV can be derived. One example method for deriving such depth information is based on the direct TOF (time of flight), which is described in more detail below A light detector may be characterized by its detection sensitivity, quantum efficiency, detector bandwidth, linearity, signal to noise ratio (SNR), overload resistance, interference immunity, etc. Based on the applications, the light detector can be configured or customized to have any desired characteristics. For example, optical receiver and light detector 430 can be configured such that the light detector has a large dynamic range while having a good linearity. The light detector linearity indicates the detector’s capability of maintaining linear relationship between input optical signal power and the detector’s output. A detector having good linearity can maintain a linear relationship over a large dynamic input optical signal range.

[0075] To achieve desired detector characteristics, configurations or customizations can be made to the light detector’s structure and / or the detector’s material system. Various detector structures can be used for a light detector. For example, a light detector structure can be a PIN based structure, which has an undoped intrinsic semiconductor region (i.e., an “i” region) between a p-type semiconductor and ann-type semiconductor region. Other light detector structures comprise, for example, an APD (avalanche photodiode) based structure, a PMT (photomultiplier tube) based structure, a SiPM (Silicon photomultiplier) based structure, a SPAD (single-photon avalanche diode) based structure, and / or quantum wires. For material systems used in a light detector, Si, InGaAs, and / or Si / Ge based materials can be used. It is understood that many other detector structures and / or material systems can be used in optical receiver and light detector 430.

[0076] A light detector (e.g., an APD based detector) may have an internal gain such that the input signal is amplified when generating an output signal. However, noise may also be amplified due to the light detector’s internal gain. Common types of noise include signal shot noise, dark current shot noise, thermal noise, and amplifier noise. In some embodiments, optical receiver and light detector 430 may include a pre-amplifier that is a low noise amplifier (LNA) In some embodiments, the pre-amplifier may also include a transimpedance amplifier (TIA), which converts a current signal to a voltage signal. For a linear detector system, input equivalent noise or noise equivalent power (NEP) measures how sensitive the light detector is to weak signals. Therefore, they can be used as indicators of the overall system performance. For example, the NEP of a light detector specifies the power of the weakest signal that can be detected and therefore it in turn specifies the maximum range of a LiDAR system. It is understood that various light detector optimization techniques can be used to meet the requirement of LiDAR system 400. Such optimization techniques may include selecting different detector structures, materials, and / or implementing signal processing techniques (e.g., filtering, noise reduction, amplification, or the like). For example, in addition to, or instead of, using direct detection of return signals (e.g., by using ToF), coherent detection can also be used for a light detector. Coherent detection allows for detecting amplitude and phase information of the received light by interfering the received light with a local oscillator. Coherent detection can improve detection sensitivity and noise immunity.

[0077] FIG. 4 further illustrates that LiDAR system 400 comprises steering mechanism 440. As described above, steering mechanism 440 directs light beams from transmitter 420 to scan an FOV in multiple dimensions. A steering mechanism is referred to as a raster mechanism, a scanning mechanism, or simply a light scanner. Scanning light beams in multiple directions (e.g , in both the horizontal and vertical directions) facilitates a LiDAR system to map the environment by generating an image or a 3D point cloud. A steering mechanism can be based on mechanical scanning and / or solid-state scanning. Mechanical scanning uses rotating mirrors to steer the laser beam or physically rotate the LiDAR transmitter and receiver (collectively referred to as transceiver) to scan the laser beam. Solid-state scanning directs the laser beam to various positions through the FOV without mechanically moving any macroscopic components such as the transceiver. Solid-state scanning mechanisms include, for example, optical phased arrays based steering and flash LiDAR based steering. In some embodiments, because solid-state scanning mechanisms do not physically move macroscopic components, the steering performed by a solid-state scanning mechanism may be referred to as effective steering. A LiDAR system using solid-state scanning may also be referred to as a non-mechanical scanning or simply non-scanning LiDAR system (a flash LiDAR system is an example non-scanning LiDAR system).

[0078] Steering mechanism 440 can be used with a transceiver (e.g., transmitter 420 and optical receiver and light detector 430) to scan the FOV for generating an image or a 3D point cloud. As an example, to implement steering mechanism 440, a two-dimensional mechanical scanner can be used with a single-point or several single-point transceivers A single-point transceiver transmits a single light beam or a small number of light beams (e g., 2-8 beams) to the steering mechanism. A two-dimensional mechanical steering mechanism comprises, for example, polygon mirror(s), oscillating mirror(s), rotating prism(s), rotating tilt mirror surface(s), single-plane or multi-plane mirror(s), or a combination thereof. In some embodiments, steering mechanism 440 may include non-mechanical steering mechanism(s) such as solid-state steering mechanism(s). For example, steering mechanism 440 can be based on tuning wavelength of the laser light combined with refraction effect, and / or based on reconfigurable grating / phase array. In some embodiments, steering mechanism 440 can use a single scanning device to achieve two-dimensional scanning or multiple scanning devices combined to realize two-dimensional scanning.

[0079] As another example, to implement steering mechanism 440, a one-dimensional mechanical scanner can be used with an array or a large number of single-point transceivers. Specifically, the transceiver array can be mounted on a rotating platform to achieve 360-degree horizontal field of view. Alternatively, a static transceiver array can be combined with the one-dimensional mechanical scanner. A one-dimensional mechanical scanner comprises polygon mirror(s), oscillating mirror(s), rotating prism(s), rotating tilt mirror surface(s), or a combination thereof, for obtaining a forward-looking horizontal field of view. Steering mechanisms using mechanical scanners can provide robustness and reliability in high volume production for automotive applications.

[0080] As another example, to implement steering mechanism 440, a two-dimensional transceiver can be used to generate a scan image or a 3D point cloud directly. In some embodiments, a stitching or micro shift method can be used to improve the resolution of the scan image or the field of view being scanned. For example, using a two- dimensional transceiver, signals generated at one direction (e.g , the horizontal direction) and signals generated at the other direction (e.g., the vertical direction) may be integrated, interleaved, and / or matched to generate a higher or full resolution image or 3D point cloud representing the scanned FOV.

[0081] Some implementations of steering mechanism 440 comprise one or more optical redirection elements (e.g., mirrors or lenses) that steer return light signals (e.g., by rotating, vibrating, or directing) along a receive path to direct the return light signals to optical receiver and light detector 430 The optical redirection elements that direct light signals along the transmitting and receiving paths may be the same components (e.g., shared), separate components (e.g , dedicated), and / or a combination of shared and separate components. This means that in some cases the transmitting and receiving paths are different although they may partially overlap (or in some cases, substantially overlap or completely overlap).

[0082] With reference still to FIG. 4, LiDAR system 400 further comprises control circuitry 350. Control circuitry 350 can be configured and / or programmed to control various parts of the LiDAR system 400 and / or to perform signal processing. In a typical system, control circuitry 350 can be configured and / or programmed to perform one or more control operations including, for example, controlling light source 410 to obtain the desired laser pulse timing, the pulse repetition rate, and power; controlling steering mechanism 440 (e.g , controlling the speed, direction, and / or other parameters) to scan the FOV and maintain pixel registration and / or aligmnent; controlling optical receiver and light detector 430 (e.g., controlling the sensitivity, noise reduction, filtering, and / or other parameters) such that it is an optimal state; and monitoring overall system health / status for functional safety (e.g., monitoring the laser output power and / or the steering mechanism operating status for safety).

[0083] Control circuitry 350 can also be configured and / or programmed to perform signal processing to the raw data generated by optical receiver and light detector 430 to derive distance and reflectance information, and perform data packaging and communication to vehicle perception and planning system 320 (shown in FIG 3). For example, control circuitry 350 determines the time it takes from transmitting a light pulse until a corresponding return light pulse is received; determines when a return light pulse is not received for a transmitted light pulse; determines the direction (e.g., horizontal and / or vertical information) for a transmitted / return light pulse; determines the estimated range in a particular direction; derives the reflectivity of an object in the FOV, and / or determines any other type of data relevant to LiDAR system 400.

[0084] LiDAR system 400 can be disposed in a vehicle, which may operate in many different environments including hot or cold weather, rough road conditions that may cause intense vibration, high or low humidities, dusty areas, etc. Therefore, in some embodiments, optical and / or electronic components of LiDAR system 400 (e.g., optics in transmitter 420, optical receiver and light detector 430, and steering mechanism 440) are disposed and / or configured in such a manner to maintain long term mechanical and optical stability. For example, components in LiDAR system 400 may be secured and sealed such that they can operate under all conditions a vehicle may encounter. As an example, an anti-moisture coating and / or hermetic sealing may be applied to optical components of transmitter 420, optical receiver and light detector 430, and steering mechanism 440 (and other components that are susceptible to moisture). As another example, housing(s), enclosure(s), fairing(s), and / or window can be used in LiDAR system 400 for providing desired characteristics such as hardness, ingress protection (IP) rating, selfcleaning capability, resistance to chemical and resistance to impact, or the like. In addition, efficient and economical methodologies for assembling LiDAR system 400 may be used to meet the LiDAR operating requirements while keeping the cost low.

[0085] It is understood by a person of ordinary skill in the art that FIG. 4 and the above descriptions are for illustrative purposes only, and a LiDAR system can include other functional units, blocks, or segments, and can include variations or combinations of these above functional units, blocks, or segments. For example, LiDAR system 400 can also include other components not depicted in FIG. 4, such as power buses, power supplies, LED indicators, switches, etc. Additionally, other connections among components may be present, such as a direct connection between light source 410 and optical receiver and light detector 430 so that light detector 430 can accurately measure the time from when light source 410 transmits a light pulse until light detector 430 detects a return light pulse.

[0086] These components shown in FIG 4 are coupled together using communications paths 412, 414, 422, 432, 442, 452, and 462. These communications paths represent communication (bidirectional or unidirectional) among the various LiDAR system components but need not be physical components themselves. While the communications paths can be implemented by one or more electrical wires, buses, or optical fibers, the communication paths can also be wireless channels or open-air optical paths so that no physical communication medium is present. For example, in one example LiDAR system, communication path 414 includes one or more optical fibers; communication path 452 represents an optical path; and communication paths 412, 422, 442, and 462 are all electrical wires that carry electrical signals. The communication paths can also include more than one of the above types of communication mediums (e.g., they can include an optical fiber and an optical path, or one or more optical fibers and one or more electrical wires)

[0087] As described above, some LiDAR systems use the time-of-flight (ToF) of light signals (e.g., light pulses) to determine the distance to objects in a light path. For example, with reference to FIG. 6A, an example LiDAR system 600 includes a laser light source (e.g., a fiber laser), a steering mechanism (e.g., a system of one or more moving mirrors), and a light detector (e.g., a photodetector with one or more optics) LiDAR system 600 can be implemented using, for example, LiDAR system 400 described above. LiDAR system 600 transmits a light pulse 602 along light path 604 as determined by the steering mechanism of LiDAR system 600. In the depicted example, light pulse 602, which is generated by the laser light source, is a short pulse of laser light. Further, the signal steering mechanism of the LiDAR system 600 is a pulsed-signal steering mechanism. However, it should be appreciated that LiDAR systems can operate by generating, transmitting, and detecting light signals that are not pulsed and derive ranges to an object in the surrounding environment using techniques other than time-of-flight. For example, some LiDAR systems use frequency modulated continuous waves (i.e., “FMCW”). It should be further appreciated that any of the techniques described herein with respect to time-of-flight based systems that use pulsed signals also may be applicable to LiDAR systems that do not use one or both of these techniques.

[0088] Referring back to FIG. 6A (e.g , illustrating a time-of-flight LiDAR system that uses light pulses), when light pulse 602 reaches object 606, light pulse 602 scatters or reflects to form a return light pulse 608. Return light pulse 608 may return to system 600 along light path 610. The time from when transmitted light pulse 602 leaves LiDAR system 600 to when return light pulse 608 arrives back at LiDAR system 600 can be measured (e.g , by a processor or other electronics, such as control circuitry 350, within the LiDAR system). This time-of-flight combined with the knowledge of the speed of light can be used to determine the range / distance from LiDAR system 600 to the portion of object 606 where light pulse 602 scattered or reflected.

[0089] By directing many light pulses, as depicted in FIG. 6B, LiDAR system 600 scans the external environment (e.g., by directing light pulses 602, 622, 626, 630 along light paths 604, 624, 628, 632, respectively). As depicted in FIG. 6C, LiDAR system 600 receives return light pulses 608, 642, 648 (which correspond to transmitted light pulses 602, 622, 630, respectively). Return light pulses 608, 642, and 648 are formed by scattering or reflecting the transmitted light pulses by one of objects 606 and 614. Return light pulses 608, 642, and 648 may return to LiDAR system 600 along light paths 610, 644, and 646, respectively. Based on the direction of the transmitted light pulses (as determined by LiDAR system 600) as well as the calculated range from LiDAR system 600 to the portion of objects that scatter or reflect the light pulses (e.g., the portions of objects 606 and 614), the external environment within the detectable range (e.g., the field of view between path 604 and 632, inclusively) can be precisely mapped or plotted (e.g., by generating a 3D point cloud or images).

[0090] If a corresponding light pulse is not received for a particular transmitted light pulse, then LiDAR system 600 may determine that there are no objects within a detectable range of LiDAR system 600 (e.g., an object is beyond the maximum scanning distance of LiDAR system 600). For example, in FIG. 6B, light pulse 626 may not have a corresponding return light pulse (as illustrated in FIG. 6C) because light pulse 626 may not produce a scattering event along its transmission path 628 within the predetermined detection range. LiDAR system 600, or an external system in communication with LiDAR system 600 (e.g., a cloud system or service), can interpret the lack of return light pulse as no object being disposed along light path 628 within the detectable range of LiDAR system

[0091] 600.

[0092] In FIG. 6B, light pulses 602, 622, 626, and 630 can be transmitted in any order, serially, in parallel, or based on other timings with respect to each other. Additionally, while FIG. 6B depicts transmitted light pulses as being directed in one dimension or one plane (e.g., the plane of the paper), LiDAR system 600 can also direct transmitted light pulses along other dimension(s) or plane(s). For example, LiDAR system 600 can also direct transmitted light pulses in a dimension or plane that is perpendicular to the dimension or plane shown in FIG. 6B, thereby forming a 2-dimensional transmission of the light pulses. This 2-dimensional transmission of the light pulses can be point-by-point, line-by-line, all at once, or in some other manner. That is, LiDAR system 600 can be configured to perform a point scan, a line scan, a one-shot without scanning, or a combination thereof. A point cloud or image from a 1-dimensional transmission of light pulses (e g., a single horizontal line) can generate 2- dimensional data (e.g., (1) data from the horizontal transmission direction and (2) the range or distance to objects). Similarly, a point cloud or image from a 2-dimensional transmission of light pulses can generate 3-dimensional data (e.g., (1) data from the horizontal transmission direction, (2) data from the vertical transmission direction, and (3) the range or distance to objects). In general, a LiDAR system performing an n-dimensional transmission of light pulses generates (w+1) dimensional data. This is because the LiDAR system can measure the depth of an object or the range / distance to the object, which provides the extra dimension of data. Therefore, a 2D scanning by a LiDAR system can generate a 3D point cloud for mapping the external environment of the LiDAR system.

[0093] The density of a point cloud refers to the number of measurements (data points) per area performed by the LiDAR sy stem. A point cloud density relates to the LiDAR scanning resolution. Typically, a larger point cloud density, and therefore a higher resolution, is desired at least for the region of interest (ROI). The density of points in a point cloud or image generated by a LiDAR system is equal to the number of pulses divided by the field of view In some embodiments, the field of view can be fixed. Therefore, to increase the density of points generated by one set of transmission-receiving optics (or transceiver optics), the LiDAR system may need to generate a pulse more frequently. In other words, a light source in the LiDAR system may have a higher pulse repetition rate (PRR). On the other hand, by generating and transmitting pulses more frequently, the farthest distance that the LiDAR system can detect may be limited. For example, if a return signal from a distant object is received after the system transmits the next pulse, the return signals may be detected in a different order than the order in which the corresponding signals are transmitted, thereby causing ambiguity if the sy stem cannot correctly correlate the return signals with the transmitted signals.

[0094] To illustrate, consider an example LiDAR system that can transmit laser pulses with a pulse repetition rate between 500 kHz and 1 MHz. Based on the time it takes for a pulse to return to the LiDAR system and to avoid mix-up of return pulses from consecutive pulses in a typical LiDAR design, the farthest distance the LiDAR system can detect may be 300 meters and 150 meters for 500 kHz and 1 MHz, respectively. The density of points of a LiDAR system with 500 kHz repetition rate is half of that with 1 MHz. Thus, this example demonstrates that, if the system cannot correctly correlate return signals that arrive out of order, increasing the repetition rate from 500 kHz to 1 MHz (and thus improving the density of points of the system) may reduce the detection range of the system. Various techniques are used to mitigate the tradeoff between higher PRR and limited detection range. For example, multiple wavelengths can be used for detecting objects in different ranges. Optical and / or signal processing techniques (e.g., pulse encoding techniques) are also used to correlate between transmitted and return light signals Various systems, apparatus, and methods described herein may be implemented using digital circuitry, or using one or more computers using well-known computer processors, memory units, storage devices, computer software, and other components. Typically, a computer includes a processor for executing instructions and one or more memories for storing instructions and data. A computer may also include, or be coupled to, one or more mass storage devices, such as one or more magnetic disks, internal hard disks and removable disks, magneto-optical disks, optical disks, etc.

[0095] Various systems, apparatus, and methods described herein may be implemented using computers operating in a client-server relationship. Typically, in such a system, the client computers are located remotely from the server computers and interact via a network. The client-server relationship may be defined and controlled by computer programs running on the respective client and server computers. Examples of client computers can include desktop computers, workstations, portable computers, cellular smartphones, tablets, or other types of computing devices

[0096] Various systems, apparatus, and methods described herein may be implemented using a computer program product tangibly embodied in an information carrier, e.g., in a non-transitory machine-readable storage device, for execution by a programmable processor; and the method processes and steps described herein, including one or more of the steps of at least some of the FIGS. 2-22, may be implemented using one or more computer programs that are executable by such a processor. A computer program is a set of computer program instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0097] A high-level block diagram of an example apparatus that may be used to implement systems, apparatus and methods described herein is illustrated in FIG. 7. Apparatus 700 comprises a processor 710 operatively coupled to a persistent storage device 720 and a main memory device 730. Processor 710 controls the overall operation of apparatus 700 by executing computer program instructions that define such operations. The computer program instructions may be stored in persistent storage device 720, or other computer-readable medium, and loaded into main memory device 730 when execution of the computer program instructions is desired. For example, processor 710 may be used to implement one or more components and systems described herein, such as control circuitry 450 (shown in FIG. 4), vehicle perception and planning system 320 (shown in FIG. 3), and vehicle control system 380 (shown in FIG. 3). Thus, the method steps of at least some of FIGS. 2-22 can be defined by the computer program instructions stored in main memory device 730 and / or persistent storage device 720 and controlled by processor 710 executing the computer program instructions. For example, the computer program instructions can be implemented as computer executable code programmed by one skilled in the art to perform an algorithm defined by the method steps discussed herein in connection with at least some of FIGS. 2-22. Accordingly, by executing the computer program instructions, the processor 710 executes an algorithm defined by the method steps of these aforementioned figures. Apparatus 700 also includes one or more network interfaces 780 for communicating with other devices via a network. Apparatus 700 may also include one or more input / output devices 790 that enable user interaction with apparatus 700 (e g., display, keyboard, mouse, speakers, buttons, etc.)

[0098] Processor 710 may include both general and special purpose microprocessors and may be the sole processor or one of multiple processors of apparatus 700. Processor 710 may comprise one or more central processing units (CPUs), and one or more graphics processing units (GPUs), which, for example, may work separately from and / or multi-task with one or more CPUs to accelerate processing, e.g., for various image processing applications described herein. Processor 710, persistent storage device 720, and / or main memory device 730 may include, be supplemented by, or incorporated in, one or more application-specific integrated circuits (ASICs) and / or one or more field programmable gate arrays (FPGAs).

[0099] Persistent storage device 720 and main memory device 730 each comprise a tangible non-transitory computer readable storage medium Persistent storage device 720, and main memory device 730, may each include high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDR RAM), or other random access solid state memory devices, and may include non-volatile memory, such as one or more magnetic disk storage devices such as internal hard disks and removable disks, magneto-optical disk storage devices, optical disk storage devices, flash memory devices, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM) disks, or other non-volatile solid state storage devices.

[0100] Input / output devices 790 may include peripherals, such as a printer, scanner, display screen, etc. For example, input / output devices 790 may include a display device such as a cathode ray tube (CRT), plasma or liquid crystal display (LCD) monitor for displaying information to a user, a keyboard, and a pointing device such as a mouse or a trackball by which the user can provide input to apparatus 700.

[0101] Any or all of the functions of the systems and apparatuses discussed herein may be performed by processor 710, and / or incorporated in, an apparatus or a system such as LiDAR system 400. Further, LiDAR system 400 and / or apparatus 700 may utilize one or more neural networks or other deep-leaming techniques performed by processor 710 or other systems or apparatuses discussed herein

[0102] One skilled in the art will recognize that an implementation of an actual computer or computer system may have other structures and may contain other components as well, and that FIG. 7 is a high-level representation of some of the components of such a computer for illustrative purposes.

[0103] FIG. 8A illustrates an example process 800 that may be performed to correct LiDAR return pulse elongation (also referred to as pulse width adjustment), according to one or more embodiments of the present disclosure. Each operation or block of the process 800 described herein, may comprise a computing process that may be performed using any combination of hardware, firmware, and / or software For instance, various functions may be carried out by a processor executing instructions stored in memory The process 800 may also be embodied as computer-usable instructions stored on computer storage media. The process 800 may be provided by a standalone application, a service or hosted service (standalone or in combination with another hosted service), as a microservice via an application programming interface (API) or a plug-in to another product, to name a few. The process 800 may be performed by any suitable system or device. For example, one or more operations of the process 800 may be performed by a LiDAR system described with respect to FIGS. 2-7 of the present disclosure. For instance, a controller of the LiDAR system (e.g , the control circuitry 450 of FIG. 4) is described as performing one or more of the operations of the process 800. However, any suitable component may perform any of the operations described herein.

[0104] The process 800 may be performed with respect to one or more points of a point cloud 850. For example, the controller may cause a transmitter of the LiDAR system (e.g., the transmitter 420 of FIG. 4) to scan a field of view of the LiDAR system. The scanning of the FOV may result in the generation of the point cloud 850 For example, in some embodiments, the scanning may include the LiDAR system transmitting one or more transmission pulses, detecting one or more corresponding return pulses based on one or more reflections of the transmission pulses off of targets, recording one or more points and corresponding information based on the return pulses and then rotating the LiDAR transmitter by an angle increment. Such a process may be repeated until the LiDAR system has rotated a full 360 degrees to perform a scan. The point cloud 850 may be based on one or more scans.

[0105] As indicated above, the point cloud 850 may include multiple points corresponding to objects and / or features (generally referred to as “targets”) included in the FOV. For example, a given point may be obtained based on a transmission pulse striking a particular area of a target and at least a portion of the transmission pulse reflecting off the particular area and being detected as a corresponding return pulse. The given point and corresponding information may be generated based on one or more characteristics of the corresponding return pulse.

[0106] Additionally or alternatively, the point cloud 850 may include three-dimensional spatial coordinates (“coordinates”) associated therewith. The coordinates may respectively correspond to individual points of the point cloud 850 and may indicate the relative locations in 3D space with respect to the LiDAR system of the corresponding target areas associated with their corresponding points. Further, reference to a given point of the point cloud may also generally refer to the coordinates corresponding to the given point. Similarly, reference to the location of a given point may be referring to the location of the target area to which the given point corresponds (e.g., as indicated by the corresponding coordinates).

[0107] In some embodiments, the process 800 may be performed with respect to one or more points of the point cloud 850 to determine elongation compensation for each of the one or more points for which the process 800 may be performed. In these and other embodiments, the process 800 may be performed with respect to a subset of the points of the point cloud 850. Additionally or alternatively, the process 800 may be performed with respect to every point of the point cloud 850. In the present discussion, the process 800 is described as being performed with respect to a particular point of the point cloud 850 referred to as a “reference point 802” to ease the explanation. For instance, the process 800 as described may be used to perform elongation compensation for the reference point 802.

[0108] Further, in general, the elongation compensation of the process 800 may be based on relationships between the reference point 802 and one or more neighbor points of the reference point. For example, FIG. 8B illustrates an example reference point 802 that may correspond to a LiDAR transmission pulse 803 that may strike a target surface 805 at an incidence angle that may result in an impact area of the transmission pulse 803 on the target surface 805 being elliptical. For example, the impact area may be between a first edge point 807a and a second edge point 807b of the transmission pulse 803. The location of the reference point 802 may correspond to the coordinates obtained based on a return pulse corresponding to the transmission pulse 803 and may be at the center of the impact area in the illustrated example.

[0109] Further, the first edge point 807a may be a first distance “dl” away from an origin point 815 of the corresponding LiDAR system. A magnitude of a corresponding first edge vector 811a from the origin point 815 to the first edge point 807a may accordingly correspond to the first distance. The second edge point 807b may be a second distance “d2” away from the origin point 815. A magnitude of a corresponding second edge vector 811b from the origin point 815 to the second edge point 807b may accordingly correspond to the second distance. Further, the reference point 802 may be a reference distance “dref” away from the origin point 815. A magnitude of a corresponding reference vector 813 from the origin point 815 to the reference point 802 may accordingly correspond to the reference distance. The reference distance may be included in the point cloud 850 as corresponding to the reference point 802 and accordingly may have a known value associated therewith, but the first distance and the second distance may not be known. However, an angle between the first edge vector 811a and the second edge vector 811b may be known based on a known beam divergence of the transmission pulse 803. Note that in the present disclosure a distance from the origin of the LiDAR system to a particular point may also be referred to as the range or range distance of such point.

[0110] Further, FIG. 8B illustrates an example neighbor point 809 of the reference point 802. The neighbor point 809 may be a third distance “d3” away from the origin point 815. Further, like the reference distance, the third distance may be included in the point cloud 850 as corresponding to the neighbor point 809 and accordingly may have a known value associated therewith. In addition, a magnitude of a corresponding neighbor-point vector 817 from the origin point 815 to the neighbor point 809 may accordingly correspond to the third distance. Moreover, an angle between the reference vector 813 and the neighbor-point vector 817 may be known based on a scanning pattern of the LiDAR system — e.g., based on an angular step ratio of the LiDAR system between the transmission pulse 803 and an additional transmission pulse that corresponds to the neighbor point 809.

[0111] Further, a reference difference between the reference distance and the third distance may have a proportional relationship to a first difference between the reference distance and the first distance. Similarly, the reference difference may have a proportional relationship to a second difference between the reference distance and the second distance. Further, a combination of the first difference and the second difference may indicate a third distance difference between the first distance and the second distance. As discussed above, the third distance difference may correspond to the pulse width elongation of the return pulse that corresponds to the reference point 802.

[0112] The process 800 generally relates to using known information corresponding to the reference point 802 (e.g., the reference distance, the coordinates of reference point 802, etc.), one or more neighbor points such as the neighbor point 809 (e.g., the third distance, the coordinates of neighbor point 809, etc.), and the LiDAR system (e.g., beam divergence, scanning pattern, etc ) to determine elongation correction based on the relationships between the reference point 802, the neighbor points, and the edge points 807.

[0113] Note that although FIG. 8B is depicted two-dim ensionally, it is understood that the elements discussed therein are three-dimensional. The illustration of FIG. 8B is accordingly to help with the ease of explanation but is not necessarily meant to be completely spatially accurate. Further, the neighbor point 809 is used as merely an example of a neighbor point that may be used to correct for pulse width elongation. It is understood that any number of neighbor points may be used, as discussed in detail with respect to the process 800 of FIG. 8A.

[0114] Returning to FIG. 8A, the process 800 may include a correction factor determination operation 804 (“correction factor determination 804”). In some embodiments, the correction factor determination 804 may be used to determine a correction factor for the reference point 802. In general, the correction factor may at least partially indicate the proportional relationship between different range distances that may be caused by the angle of the target surface with respect to the LiDAR system. As discussed in further detail, the correction factor may be used to perform the elongation compensation associated with the reference point 802.

[0115] The correction factor determination 804 may include an angle determination operation 806 in some embodiments. The angle determination 806 may include determining one or more angles 808 related to the angle of incidence of a transmission pulse corresponding to the reference point 802. In the present disclosure, a point that is recorded based on a return pulse that is a reflection of at least a portion a transmission pulse off a target surface may be referred to as corresponding to such transmission pulse. Further, reference to a “return pulse off a surface” may refer to the portion of the transmission pulse that may be reflected off the surface and detected at the LiDAR system as a corresponding return pulse.

[0116] In general, the angles 808 may be determined based on a reference vector between the LiDAR system transmitter (e.g., between an origin of the coordinate system used to generate the coordinates) and the reference point 802. In these and other embodiments, the reference vector may indicate the trajectory of the transmission pulse corresponding to the reference point 802. In these and other embodiments, the angle 808 may be determined based on one or more additional vectors respectively between the reference point 802 and one or more additional points. In some embodiments, the one or more additional points may be neighbor points of the reference point 802. In these and other embodiments, the one or more additional points may be the nearest neighbor points of the reference point 802.

[0117] In some embodiments, one or more trigonometric functions may be applied to the one or more angles 808. The trigonometric functions may include a cosine function or a sine function depending on the angle. In these and other embodiments, the resulting values may be used as a correction factor 812.

[0118] By way of example, in some embodiments, a normal angle “(|)” between the reference vector and a normal of the target surface may be determined as the angle 808. In these and other embodiments, the correction factor 812 may be obtained by calculating cosine of the normal angle “<|>” — e.g., “correction_factor = cos(4>)”.

[0119] In some embodiments, a first technique may be used to determine the correction factor 812 based on the normal angle 4>. For example, referring to FIG. 9A, a point 902 of a target surface 904 may be an example of the reference point 802 of FIGS 8A and 8B. Further, a point 906 of the target surface 904 may be a first nearest neighbor point of the reference point 906 and a point 908 may be a second nearest neighbor point of the reference point 902. In some embodiments, the normal angle c|> may be the angle between a normal 910 of the surface 904 and a reference vector 912 between the reference point 902 and an origin point 914 corresponding to the origin of the LiDAR system coordinate system.

[0120] The normal 910 may be determined using any suitable technique. For example, in some embodiments, the normal 910 may be determined based on a cross product of vectors between the reference point 902 and the neighbor points 906 and 908. For instance, referring to FIG. 9B, in some embodiments, a first additional vector 920 between the reference point 902 and the first neighbor point 906 may be determined using any suitable technique — e.g., based on reference coordinates associated with the reference point 902 and first neighbor coordinates associated with the first neighbor point 906. Additionally or alternatively, a second additional vector 922 between the reference point 902 and the second neighbor point 908 may be determined using any suitable technique — e.g., based on the reference coordinates associated with the reference point 902 and second neighbor coordinates associated with the second neighbor point 908. In these and other embodiments, the normal 910 may be determined by performing a first cross-product operation with respect to the first additional vector 920 and the second additional vector 908 The normal 910 may be expressed as a normal vector that is output by performing the first cross-product operation.

[0121] In these and other embodiments, the normal angle <f> may be determined based on the normal vector and the reference vector 912. For example, in some embodiments, the normal angle may be determined by performing a second cross-product operation with respect to the reference vector 912 and the normal vector. In these and other embodiments, the correction factor 812 may accordingly be determined by taking the cosine of the normal angle£iF

[0122] Modifications, additions, or omissions may be made to FIGS 9A and 9B without departing from the scope of the present disclosure. For example, although FIGS. 9A and 9B are depicted two-dim ensionally, it is understood that the surface 904, the points 902, 906, and 908, and the vectors associated therewith may be three-dimensional. The illustrations of FIGS. 9A and 9B are accordingly to help with the ease of explanation but are not necessarily meant to be completely spatially accurate.

[0123] Returning to the correction factor determination 804 of FIG. 8A, by way of another example, in some embodiments, one or more vector-difference angles between the reference vector and one or more of the additional vectors may be used as the angles 808. In these and other embodiments, the correction factor 812 may be determined based on a sine function being applied to the one or more vector-difference angles.

[0124] The ability to use vector-difference angles as the angle(s) 808 may be based on certain characteristics of the target surface and / or the neighbor points that are that correspond to the additional vectors used to determine the vector-difference angles. Further, the number of neighbor points — and accordingly the number of vector-difference angles — that may be used may also be based on certain characteristics of the target surface and / or the neighbor points.

[0125] For example, the LiDAR coordinate system may have a horizontal component that indicates a horizontal shift (e.g., a horizontal angle) from the LiDAR system, a vertical component that indicates a vertical shift (e.g., a vertical angle) from the LiDAR system, and a depth component that indicates a distance from the LiDAR system. In these and other embodiments, the ability to use vector-difference angles as the angle(s) 808 may be based on whether the neighbor points have the same horizontal value and / or the same vertical value.

[0126] By way of example, referring back to FIGS. 9A and 9B, an example instance may be such that the first neighbor point 906 and the reference point 902 share a same horizontal component value (e.g., same horizontal angle). Further in this example, the first neighbor point 906 may be determined as being the closest neighbor point of the reference point 902 having the same horizontal component value as the reference point 902. In some embodiments, a second technique may be used in this example to determine the correction factor 812 based on a first vector-difference angle between the reference vector 912 of FIG. 9 A and the first additional vector 920 between the reference point 902 and the first neighbor point 906, as illustrated in FIG. 9B. In some embodiments, the first vector-difference angle “a 1” may be determined by taking the dot product of the reference vector 912 and the first additional vector 920. In this example, the resulting angle value for the first vector-difference angle “al” may be used as the angle 808. Additionally or alternatively, the correction coefficient in this example may be obtained by performing a sine function with respect to the first vector-difference anglee.g., “correction_factor = sin(al )”.

[0127] Additionally or alternatively, the second neighbor point 908 and the reference point 902 may be determined as sharing a same vertical component value (e.g., a same vertical angle). In addition, in this example, the first neighbor point 906 may be determined as being the closest neighbor point of the reference point 902 having the same vertical component value as the reference point 902 and the second neighbor point 908 may be determined as being the closest neighbor point of the reference point 902 having the same vertical component value as the reference point 902. In these and other embodiments, a third technique may be used in this example to determine the correction factor 812 based on the first vector-difference angle “al ” and a second vector-difference angle “al”. As indicated above, the first vector-difference angle may be between the reference vector 91 of FIG. 9A and the first additional vector 920 between the reference point 902 and the first neighbor point 906 of FIG. 9B. In addition, the second vector-difference angle may be between the reference vector 912 of FIG 9A and the second additional vector 922 between the reference point 902 and the second neighbor point 908, as illustrated in FIG. 9B. As also discussed above, the first vector-difference angle “al” may be determined by taking the dot product of the reference vector 912 and the first additional vector 920. Additionally or alternatively, the second vector-difference angle “a2” may be determined by taking the dot product of the reference vector 912 and the second additional vector 922.1n this example, the resulting angle value for the first vector-difference angle “al” may be used as a first angle 808 and the resulting angle value for the second vector-difference angle “a2” may be used as a second angle 808. Additionally or alternatively, the correction coefficient in this example may be obtained by performing a sine function with respect to the first vector-difference angle and performing a sine function with respect to the second vectordifference angle multiplying the two valuese.g., “correction_factor = sin(al)* sin(a2)”.

[0128] Returning to FIG. 8A, the process 800 may include a range spread value determination operation 814 (“range spread value determination 814”). As discussed above, the range differences between the reference point 802 and one or more neighbor points may be proportional to the range differences between the center of an impact area and the edges of the impact area. The range spread value determination 814 therefore generally relates to determining a range spread value 828 in which the range spread value 828 relates to different range differences between the reference point 802 and the one or more neighbor points.

[0129] The range spread value determination 814 may include a range difference determination operation 816 (“range difference determmation 816”). The range difference determination 816 may include determining respective range differences 818 between the reference point 802 and one or more other points of the point cloud 850. In some embodiments, the other points may each be neighbor points of the reference point 802. Additionally or alternatively, a respective range difference determination may be made with respect to every neighbor point and / or just a subset of neighbor points. As indicated above, the range differences 818 may indicate the difference between the reference distance (or “range”) of the reference point 802 and the LiDAR system and the particular distance of a corresponding neighbor point and the LiDAR system. For example, referring back to FIG. 8B, a particular range difference (“Rd809”) between the reference point 802 and the neighbor point 809 may be the difference between the reference distance “dref” and the third distance “d3” — e.g., “Rd809=|dref-d31”. In these and other embodiments, the individual range values for the reference point 802 and the neighbor points that may be used to determine the range difference values may be obtained from information included in and / or with the point cloud 850.

[0130] By way of example, FIG. 10A illustrates an example two-dimensional depiction of a reference point 1002. In the illustrated example, neighbor points 1006a-1006h of the reference point 1002 may be selected to determine respective range differences betw een the reference point 1002 and each of the neighbor points 1006a-1006h. In some embodiments, the range differences may be in absolute values. For example, FIG. 10B illustrates an example chart 1050 that indicates a first range difference “Rdl” with respect to a first neighbor point 1006a and the reference point 1002; a second range difference “Rd2” with respect to a second neighbor point 1006b and the reference point 1002; a third range difference “Rd3” with respect to a third neighbor point 1006c and the reference point 1002; a fourth range difference “Rd4” with respect to a fourth neighbor point 1006d and the reference point 1002; a fifth range difference “Rd5” with respect to a fifth neighbor point 1006e and the reference point 1002; a sixth range difference “Rd6” with respect to a sixth neighbor point 1006f and the reference point 1002; a seventh range difference “Rd7” with respect to a seventh neighbor point 1006g and the reference point 1002; and an eight range difference “Rd8” with respect to an eight neighbor point 1006h and the reference point 1002.

[0131] Note that the example of FIGS 10A and 10B use of neighbor points that all are disposed on the same plane is for ease of explanation. However, such an example is not meant to be limiting and the neighbor points may be disposed on any plane. Further, in some embodiments, all of the neighbor points in the 3D space may be used to determine respective range differences 818.

[0132] In some embodiments, the range spread value determination may include a scaled difference value determination operation 822 (“scaled difference value determination 822”). The scaled difference value determination 822 may include applying a fixed scaling factor 820 (also referred to as a “resolution factor”) to the respective values of the range differences 818 to obtain a respective scaled difference value 824 for each of the range differences 818. In these and other embodiments, the scaling factor 820 may be based on the scanning pattern and beam divergence corresponding to the LiDAR system. For example, in some embodiments, the scaling factor 820 may be equal to the beam divergence divided by an angular step ratio of the LiDAR system (e.g., “scaling_factor=beam_divergence / angular_step_ratio”). The angular step ratio may correspond to an amount of angular rotation the LiDAR system may move between transmission pulses.

[0133] Additionally or alternatively, the scaled difference values 824 may be determined by multiplying the scaling factor 820 by the respective range differences 818. In these and other embodiments, the scaling factor 820 may be the same for two or more of the range differences and / or may be different for two or more of the range differences. For instance, the angular step ratio may vary in different directions such that the scaling factor may differ.

[0134] For example, FIG. 10C illustrates a chart 1052 of scaled difference values “Sd / ” for the range differences “Rd / ” of the chart 1050 of FIG. 10B by applying a scaling factor “SF / ” to each of the range differences “Rd / ” In these and other embodiments, two or more of the scaling factors “SF / ” may be the same and / or two or more may be different.

[0135] In some embodiments, the range spread value determination 814 may include a scaled difference value processing operation 826 (“scaled difference value processing 826”). The scaled difference value processing 826 may include performing one or more operations with respect to the scaled difference values 824 to obtain a range spread value 828. In general, the range spread value 828 may indicate a spread with respect to the differences in ranges between the reference range of the reference point 802 and the respective ranges of the neighbor points.

[0136] For example, in some embodiments, the scaled difference value processing 826 may include averaging a set of the scaled difference values 824 such that the range spread value 828 is the average of the scaled difference values 824. Additionally or alternatively, the scaled difference value processing 826 may include identifying, as the range spread value 828, the maximum scaled difference value 824 from the set of the scaled difference values 824. The use of the average may provide a more accurate elongation compensation, but at the same time may underestimate the amount of elongation that may occur. Conversely, the use of the maximum may be less likely to underestimate the amount of elongation The decision as to which to use may be based on specific system requirements and characteristics. In some embodiments, the set of scaled difference values 824 used in the scaled difference value processing 826 may include all of the scaled difference values 824. Additionally or alternatively, the set of scaled difference values 824 used in the scaled difference value processing 826 may only include those that satisfy a scaled difference value threshold. In these and other embodiments, the scaled difference value threshold may be threshold scaled difference value that corresponds to a threshold range difference. For example, the scaled difference value threshold may be a value between 1-5 meters. Additionally or alternatively, satisfaction of the scaled difference value threshold may include having a scaled difference value that is within the difference value threshold (e.g., less than or equal to the difference value threshold).

[0137] An example of the scaled difference value determination 822 and the scaled difference value processing 826 is now given with respect to FIG. 10D for example values for “Rdz”, “Sdz”, the scaling factor “SFz” of FIGS. 10B and IOC, and in which the scaled difference value threshold has a value of 2 meters. In particular, a chart 1062 of FIG. 10D illustrates example values for range differences “Rdz” of FIG. 10B. For example, in the chart 1062 "Rd 1 =20m“. "Rd2= 2m”, "Rd3=2.2m“. "Rd4=10m“. "Rd5=0.6m“. "Rd6=16m“. “Rd7=1.6m”, and "Rd8=lm“. Further, a chart 1064 illustrates an example scaling factor of “0.5” that may be used for “SF1”, “SF2”, “SF3”, “SF6”, “SF7”, and “SF8”. In addition, chart 1064 illustrates that a scaling factor of “2” may be used for “SF4” and “SF5”. In addition, FIG. 10D illustrates a multiplication function being applied between the charts 1062 and 1064 to obtain a chart 1066. The chart 1066 accordingly indicates different example scaled difference values “Sdz” of FIG 10C that may be obtained by applying the scaling factors “SFz” to the range differences of the chart 1062.

[0138] In addition, as illustrated in the chart 1066, scaled difference value “Sdl” has a value of “10”, scaled difference value “Sd4” has a value of “20”, and scaled difference value “Sd6” has a value of “8”, each of which is greater than the example difference value threshold of “2”. Therefore, those values may be omitted from the set of scaled difference values that may be used to determine the range spread value 828. In these and other embodiments, the remaining scaled difference values “Sd2” (with a value of “1”), “Sd3” (with a value of “1 1”), “Sd5” (with a value of “1.2”), “Sd7” (with a value of “0.8”), and “Sd8” (with a value of “0.5”) may accordingly be used to determine the range spread value 828.

[0139] In instances in which the scaled difference value processing 826 includes averaging the set of scaled difference values, the range spread value 828 in the example of FIG. 10D may be an average of “Sd2”, “Sd3”, “Sd5”, “Sd7”, and “Sd8” (e.g., the “range_spread_value = (1+1.1+1 ,2+0.8+0.5) / 5 = 0.92 m”). Additionally or alternatively, in instances in which the scaled difference value processing 826 includes identifying the maximum scaled difference value as the range spread value 828, the range spread value in the example of FIG. 10D may be “1.2 m” because that is the highest value in the set remaining after filtering based on the threshold.

[0140] Returning to FIG. 8A, the process 800 may also include a pulse width adjustment operation 834 (“pulse width adjustment 834”) The pulse width adjustment 834 may include adjusting a measured pulse width 830 corresponding to the reference point 802 (which may be obtained from information in the point cloud 850 in some embodiments) to compensate for elongation of the measured pulse width 830. In these and other embodiments, the pulse width adjustment 834 may result in obtaining a corrected pulse width 836 that may be an adjustment of the measured pulse width 830 to compensate for elongation of the measured pulse width 830 that may occur due to the angle of the target surface.

[0141] In some embodiments, the pulse width adjustment 834 may be based on the correction factor 812, the range spread value 828, and a time / distance factor 832. In particular, the correction factor 812 multiplied by the range spread value 828 may provide an indication as to an overall range difference with respect to different portions of the edge of the impact area. For example, with reference to FIG. 8B, the correction factor multiplied by the range spread value 828 may provide a value that estimates the difference between the first distance “dl” and the second distance “d2” — e.g., “(correction_factor*range_spread) « (|dl-d2|).

[0142] As indicated above, the elongation of the pulse width is directly related to the distance difference. The time / distance factor 832 accordingly is used to convert the distance value to a time value. For example, the time / distance factor 832 may relate to the speed of light. In particular, the time / distance factor 832 may be the inverse of the speed of light divided by “2”. The time / distance factor 832 may accordingly be double the amount of time it takes light to travel a certain distance — e.g., 1 ns / 0.15m. The doubling is due to the light traveling from the LiDAR system to the target surface and then back from the target surface to the LiDAR system. As such, the time corresponding to the return pulse of the reference point 802 corresponds to light travelling twice the distance between the target surface and the LiDAR system.

[0143] The pulse width adjustment (“PwA”) based on the correction factor 812, the time / distance factor 832, and the range spread value 828 may accordingly be expressed as follows: “PwA = correction_factor*range_spread* time / distance_factor.” In these and other embodiments, the corrected pulse width 836 may be a result of applying the pulse width adjustment to the measured pulse width 830. For example, the pulse width adjustment may be subtracted from the measured pulse width 830.

[0144] A further concrete example of determining the corrected pulse width 836 is given with respect to the example of FIG. 10D as follows:

[0145] • Range spread average = (1+1.1+1 ,2+0.8+0.5) / 5 = 0.92 m

[0146] • Range spread max = 1.2 m o Either Range Spread Average or Range Spread Max may be used for the range spread value 828 in the adjustment calculation

[0147] • Example: distance_to_time_factor (time / distance factor 832) = 1 ns per 0.15 m

[0148] • Example: correction_factor = 0.5

[0149] • Angle_elongation (e.g., PwA) = range_spread * 1 / 0 15 * correction_factor = 4 ns

[0150] • Measured elongation (or also referred to as the measured pulse width 830) for reference point 802 = 8 ns

[0151] • Corrected elongation (also referred to as corrected pulse width 834) for the reference point 802 = measured elongation - Angle_elongation = 8ns - 4 ns = 4 ns.

[0152] The process 800 may accordingly be used to perform pulse width adjustments that may correspond to target surfaces being at certain angles with respect a LiDAR system Modifications, additions, or omissions may be made to the process 800 without departing from the scope of the present disclosure. For example, although illustrated as discrete blocks or operations, various blocks or operations of the process 800 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementations. Further, in some embodiments, one or more of the operations may be combined into fewer operations or expanded out to include additional operations. Further, as indicated above, the process 800 may be performed with respect to any number of points of the point cloud 850 that may be used as a corresponding reference point for the subsequent processing. FIG. 11 illustrates an example method 1100 that may be performed to correct LiDAR return pulse elongation (also referred to as pulse width adjustment), according to one or more embodiments of the present disclosure. Each operation or block of the method 11 OOdescribed herein, may comprise a computing process that may be performed using any combination of hardware, firmware, and / or software For instance, various functions may be carried out by a processor executing instructions stored in memory The method 1 lOOmay also be embodied as computer-usable instructions stored on computer storage media. The method 11 OOmay be provided by a standalone application, a service or hosted service (standalone or in combination with another hosted service), as a microservice via an application programming interface (API) or a plug-in to another product, to name a few. The method 1100 may be performed by any suitable system or device For example, one or more operations of the process 800 may be performed by a LiDAR system described with respect to FIGS. 2-7 of the present disclosure. For instance, a controller of the LiDAR system (e.g , the control circuitry 450 of FIG. 4) is described as performing one or more of the operations of the method 1100. However, any suitable component may perform any of the operations described herein. Further, one or more of the operations of the process 800 may be included with and / or performed with respect to the method 1100.

[0153] The method 1100 may include a block 1102. Block 1102 may include determining a correction factor that corresponds to an angle of a surface of a target surface with respect to a LiDAR system. In some embodiments, one or more of the operations described with respect to the correction factor determination of FIG. 8A may be performed at block 1102.

[0154] The method 1100 may include block 1104 as well. Block 1104 may include adjusting, based on the correction factor, a pulse width of a return pulse off the target surface. In some embodiments, one or more of the operations described with respect to the pulse width adjustment 834 of FIG. 8A may be performed at block 1102 Modifications, additions, or omissions may be made to the method 1100 without departing from the scope of the present disclosure. For example, although illustrated as discrete blocks or operations, various blocks or operations of the method 1100 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementations. Further, in some embodiments, one or more of the operations may be combined into fewer operations or expanded out to include additional operations. Further, as indicated above, the method 1100 may be performed with respect to any number of points of a point cloud that may be used as a corresponding reference point for the subsequent processing. In addition, although not explicitly discussed with respect to the method 1100, any one of and / or all the operations described with respect to the process 800 may be performed with respect to the method 1100 without departing from the scope of the present disclosure.

[0155] The foregoing specification is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the specification, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.

[0156] The subject technology of the present disclosure is illustrated, for example, according to various aspects described below. Various examples of aspects of the present disclosure are described as numbered examples (1 , 2, 3, etc.) for convenience These are provided as examples and do not limit the present disclosure The aspects of the various implementations described herein may be omitted, substituted for aspects of other implementations, or combined with aspects of other implementations unless context dictates otherwise. For example, one or more aspects of example 1 below may be omitted, substituted for one or more aspects of another example (e.g., example 2) or examples, or combined with aspects of another example The following is a non-limiting summary of some example implementations presented herein.

[0157] Example 1. A method for correcting Light Detection And Ranging (LiDAR) return pulse elongation, the method comprising: determining a correction factor that corresponds to an angle of a surface of a target surface with respect to a LiDAR system; and adjusting, based on the correction factor, a pulse width of a return pulse off the target surface, the pulse width corresponding to a duration of reception of the return pulse

[0158] Example 2. The method of Example 1, wherein determining the correction factor includes: determining a surface normal of the target surface; determining a normal angle between the surface normal and a reference vector between an origin of the LiDAR system and a reference point corresponding to the return pulse; and determining the correction factor based on the normal angle.

[0159] Example 3. The method of Example 2, wherein the c orrection factor is determined as a trigonometric function of the normal angle.

[0160] Example 4. The method of Example 3, wherein the trigonometric function is a cosine function.

[0161] Example 5. The method of any of Examples 2-4, wherein the surface normal is determined based on a plurality of points corresponding to a plurality of return pulses that correspond to the target surface.

[0162] Example 6. The method of Example 5, wherein the plurality of points used to determine the surface normal include: the reference point corresponding to the return pulse; a first nearest neighbor point of the reference point corresponding to a first additional return pulse off the target surface; and a second nearest neighbor point of the reference point corresponding to a second additional return pulse off the target surface.

[0163] Example 7. The method of any of Examples 1-6, wherein determining the correction factor includes: determining a reference vector between an origin of the LiDAR system and a reference point corresponding to the return pulse; determining an additional vector between the reference point and an additional point corresponding to an additional return pulse off the target surface; determining a vector-difference angle between the reference vector and the additional vector; and determining the correction factor based on the vector-difference angle.

[0164] Example 8. The method of Example 7, wherein the c orrection factor is determined as trigonometric function of the vector-difference angle.

[0165] Example 9. The method of Example 8, wherein the trigonometric function is a sine function.

[0166] Example 10 The method of any of Examples 7-9, wherein the operations of claim 7 are performed in response to a determination that the target surface is a ground surface. Example 11 The method of any of Examples claim 7-10, wherein the additional point is a nearest neighbor to the reference point.

[0167] Example 12 The method of any of Examples 1-11, wherein determining the correction factor includes: determining a reference vector between an origin of the LiDAR system a reference point corresponding to the return pulse; determining a first additional vector between the reference point and a first additional point corresponding to a first additional return pulse off the target surface; determining a second additional vector between the reference point and a second additional point corresponding to a second additional return pulse off the target surface; determining a first vector-difference angle between the reference vector and the first additional vector; determining a second vector-difference angle between the reference vector and the second additional vector; and determining the correction factor based on the first vector-difference angle and the second vectordifference angle.

[0168] Example 13 The method ofExample 12, wherein the correction factor is determined based on a first trigonometric function of the first vector-difference angle and a second trigonometric function of the second vectordifference angle.

[0169] Example 14 The method ofExample 13, wherein: the first trigonometric function of the first vector-difference angle is sine of the first vector-difference angle; and the second trigonometric function of the second vector-difference angle is sine of the second vectordifference angle.

[0170] Example 15 The method of any of Example 13 or Example 14, wherein the correction factor is determined by multiplying sine of the first vector-difference angle by sine of the second vector-difference angle.

[0171] Example 16 The method of any of Examples 1-15, wherein the adjusting of the pulse width is based on applying the correction factor to a range spread value that is determined based on at least one range distance difference between a reference point corresponding to the return pulse and at least one neighbor point of the reference point.

[0172] Example 17 The method ofExample 16, wherein the adjusting of the pulse width is further based on a scaling factor that is based on a beam divergence corresponding to the LiDAR system and a scanning pattern corresponding to the LiDAR system

[0173] Example 18 The method of any of Examples 1-17, wherein the adjusting of the pulse width is based on applying the correction factor to range spread value that is determined based on a plurality of range distance differences between the reference point and a plurality of neighbor points of the reference point

[0174] Example 19 The method ofExample 18, wherein the overall range spread value is based on a plurality of scaled difference values respectively determined with respect to individual range distance differences of the plurality of range distance differences.

[0175] Example 20 The method ofExample 19, wherein the range spread value includes an average of the plurality of scaled difference values. Example 21 The method of any of Example 19 or Example 20, wherein the range spread value is a maximum value of the plurality of scaled difference values.

[0176] Example 22 The method of any of Examples 19- 1, wherein each scaled difference value of the plurality of scaled difference values satisfies a scaled difference value threshold. Example 23 A Light Detection And Ranging (LiDAR) system comprising: a transceiver and scanner configured to scan a field of view (FOV) with transmission light pulses to obtain a point cloud corresponding to the FOV based on return light pulses corresponding to the transmission light pulses; and a controller configured to perform the method of any of Examples 1-22. Example 24 The LiDAR system of Example 23, further comprising a laser source configured to generate the transmission light pulses.

[0177] Example 25 A vehicle comprising a LiDAR system of any of claim 23 or claim 24.

Claims

CLAIMSWhat is claimed is:

1. A method for correcting Light Detection And Ranging (LiDAR) return pulse elongation, the method comprising: determining a correction factor that corresponds to an angle of a surface of a target surface with respect to a LiDAR system; and adjusting, based on the correction factor, a pulse width of a return pulse off the target surface, the pulse width corresponding to a duration of reception of the return pulse2. The method of claim 1 , wherein determining the correction factor includes: determining a surface normal of the target surface; determining a normal angle between the surface normal and a reference vector between an origin of theLiDAR system and a reference point corresponding to the return pulse; and determining the correction factor based on the normal angle.

3. The method of claim 2, wherein the correction factor is determined as a trigonometric function of the normal angle.

4. The method of claim 3, wherein the trigonometric function is a cosine function.

5. The method of claim 2, wherein the surface normal is determined based on a plurality of points corresponding to a plurality of return pulses that correspond to the target surface.

6. The method of claim 5, wherein the plurality of points used to determine the surface normal include: the reference point corresponding to the return pulse; a first nearest neighbor point of the reference point corresponding to a first additional return pulse off the target surface; and a second nearest neighbor point of the reference point corresponding to a second additional return pulse off the target surface.

7. The method of claim 1 , wherein determining the correction factor includes: determining a reference vector between an origin of the LiDAR system and a reference point corresponding to the return pulse; determining an additional vector between the reference point and an additional point corresponding to an additional return pulse off the target surface; determining a vector-difference angle between the reference vector and the additional vector; and determining the correction factor based on the vector-difference angle.

8. The method of claim 7, wherein the correction factor is determined as trigonometric function of the vector-difference angle.

9. The method of claim 8, wherein the trigonometric function is a sine function.

10. The method of claim 7, wherein the operations of claim 7 are performed in response to a determination that the target surface is a ground surface.

11. The method of claim 7, wherein the additional point is a nearest neighbor to the reference point.

12. The method of claim 1 , wherein determining the correction factor includes: determining a reference vector between an origin of the LiDAR system a reference point corresponding to the return pulse; determining a first additional vector between the reference point and a first additional point corresponding to a first additional return pulse off the target surface; determining a second additional vector between the reference point and a second additional point corresponding to a second additional return pulse off the target surface; determining a first vector-difference angle between the reference vector and the first additional vector; determining a second vector-difference angle between the reference vector and the second additional vector; and determining the correction factor based on the first vector-difference angle and the second vectordifference angle.

13. The method of claim 12, wherein the correction factor is determined based on a first trigonometric function of the first vector-difference angle and a second trigonometric function of the second vector-difference angle.

14. The method of claim 13 , wherein: the first trigonometric function of the first vector-difference angle is sine of the first vector-difference angle; and the second trigonometric function of the second vector-difference angle is sine of the second vectordifference angle.

15. The method of claim 13 , wherein the correction factor is determined by multiplying sine of the first vector-difference angle by sine of the second vector-difference angle.

16. The method of claim 1 , wherein the adjusting of the pulse width is based on applying the correction factor to a range spread value that is determined based on at least one range distance difference between a reference point corresponding to the return pulse and at least one neighbor point of the reference point.

17. The method of claim 16, wherein the adjusting of the pulse width is further based on a scaling factor that is based on a beam divergence corresponding to the LiDAR system and a scanning pattern corresponding to the LiDAR system18. The method of claim 1 , wherein the adjusting of the pulse width is based on applying the correction factor to range spread value that is determined based on a plurality of range distance differences between the reference point and a plurality of neighbor points of the reference point.

19. The method of claim 18, wherein the overall range spread value is based on a plurality of scaled difference values respectively determined with respect to individual range distance differences of the plurality of range distance differences.

20. The method of claim 19, wherein the range spread value includes an average of the plurality' of scaled difference values.

21. The method of claim 19, wherein the range spread value is a maximum value of the plurality of scaled difference values.

22. The method of claim 19, wherein each scaled difference value of the plurality of scaled difference values satisfies a scaled difference value threshold.

23. A Light Detection And Ranging (LiDAR) system comprising: a transceiver and scanner configured to scan a field of view (FOV) with transmission light pulses to obtain a point cloud corresponding to the FOV based on return light pulses corresponding to the transmission light pulses; and a controller configured to perform operations comprising: determining, for a reference point of the point cloud, a correction factor that corresponds to an angle of a surface of a target surface with respect to the LiDAR sy stem; and adjusting, based on the correction factor, a pulse width of a return pulse off the target surface that corresponds to the reference point, the pulse width corresponding to a duration of reception of the return pulse24. The LiDAR system of claim 23, wherein determining the correction factor includes: determining a surface normal of the target surface; determining a normal angle between the surface normal and a reference vector between an origin of the LiDAR sy stem and the reference point corresponding to the return pulse; and determining the correction factor based on the normal angle.

25. The LiDAR system of claim 24, wherein the correction factor is determined as a trigonometric function of the normal angle.

26. The LiDAR system of claim 25, wherein the trigonometric function is a cosine function.

27. The LiDAR system of claim 24, wherein the surface normal is determined based on a plurality of points corresponding to a plurality of return pulses that correspond to the target surface.

28. The LiDAR system of claim 27, wherein the plurality of points used to determine the surface normal include: the reference point corresponding to the return pulse; a first nearest neighbor point of the reference point corresponding to a first additional return pulse off the target surface; and a second nearest neighbor point of the reference point corresponding to a second additional return pulse off the target surface.

29. The LiDAR system of claim 23, wherein determining the correction factor includes: determining a reference vector between an origin of the LiDAR system and the reference point corresponding to the return pulse; determining an additional vector between the reference point and an additional point corresponding to an additional return pulse off the target surface; determining a vector-difference angle between the reference vector and the additional vector; and determining the correction factor based on the vector-difference angle.

30. The LiDAR system of claim 29, wherein the correction factor is determined as trigonometric function of the vector-difference angle.

31. The LiDAR system of claim 30, wherein the trigonometric function is a sine function.

32. The method of claim 7, wherein the operations of claim 7 are performed in response to a determination that the target surface is a ground surface.

33. The LiDAR system of claim 29, wherein the additional point is a nearest neighbor to the reference point.

34. The LiDAR system of claim 23, wherein determining the correction factor includes: determining a reference vector between an origin of the LiDAR system a reference point corresponding to the return pulse; determining a first additional vector between the reference point and a first additional point corresponding to a first additional return pulse off the target surface; determining a second additional vector between the reference point and a second additional point corresponding to a second additional return pulse off the target surface;determining a first vector-difference angle between the reference vector and the first additional vector; determining a second vector-difference angle between the reference vector and the second additional vector; and determining the correction factor based on the first vector-difference angle and the second vectordifference angle.

35. The LiDAR system of claim 34, wherein the correction factor is determined based on a first trigonometric function of the first vector-difference angle and a second trigonometric function of the second vectordifference angle.

36. The LiDAR system of claim 35, wherein: the first trigonometric function of the first vector-difference angle is sine of the first vector-difference angle; and the second trigonometric function of the second vector-difference angle is sine of the second vectordifference angle.

37. The LiDAR system of claim 35, wherein the correction factor is determined by multiplying sine of the first vector-difference angle by sine of the second vector-difference angle.

38. The LiDAR system of claim 23, wherein the adjusting of the pulse width is based on applying the correction factor to a range spread value that is determined based on at least one range distance difference between a reference point corresponding to the return pulse and at least one neighbor point of the reference point.

39. The LiDAR system of claim 38, wherein the adjusting of the pulse width is further based on a scaling factor that is based on a beam divergence corresponding to the LiDAR system and a scanning pattern corresponding to the LiDAR system.

40. The LiDAR system of claim 23, wherein the adjusting of the pulse width is based on applying the correction factor to range spread value that is determined based on a plurality of range distance differences between the reference point and a plurality of neighbor points of the reference point.

41. The LiDAR system of claim 40, wherein the overall range spread value is based on a plurality of scaled difference values respectively determined with respect to individual range distance differences of the plurality of range distance differences.

42. The LiDAR system of claim 41 , wherein the range spread value includes an average of the plurality of scaled difference values.

43. The LiDAR system of claim 41 , wherein the range spread value is a maximum value of the plurality of scaled difference values.

44. The method of claim 19, wherein each scaled difference value of the plurality of scaled difference values satisfies a scaled difference value threshold.

45. The LiDAR system of claim 23, further comprising a laser source configured to generate the transmission light pulses.

46. A vehicle comprising a LiDAR system of claim 23.

Citation Information

Patent Citations

  • System and method for determining range in 3D imaging systems

    US20090076758A1

  • Monitoring of vehicles using light ranging systems

    US20190179029A1

  • Surface Normal Determination for LIDAR Range Samples by Detecting Probe Pulse Stretching

    US20200172095A1

  • Real-time monitoring DC offset of ADC data of lidar system

    US20230305161A1