Laser trigger patterns to reduce noise and isolate signal origin
Patent Information
- Application Number
- PCT/US2024/043113
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-21
- Filing Date
- 2024-08-20
- Publication Date
- 2025-10-09
AI Technical Summary
Conventional LiDAR systems face issues with range ambiguity and interference due to increased laser pulse repetition rates, leading to false detections and data point density variations, which can be dangerous for self-driving vehicles.
Implementing a timing jitter pattern with non-random and optionally random timing jitters to create variable time intervals between laser pulses, ensuring accurate object detection and reducing interference between LiDAR systems.
The proposed timing jitter pattern significantly reduces or eliminates range ambiguity and interference, enabling accurate object detection and stable point cloud generation, enhancing the safety and reliability of LiDAR systems in autonomous vehicles.
Smart Images

Figure US2024043113_09102025_PF_FP_ABST
Abstract
Description
LASER TRIGGER PATTERNS TO REDUCE NOISE AND ISOLATE SIGNAL ORIGINCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 533,889, filed August 21, 2023, entitled “LASER TRIGGER PATTERNS TO REDUCE NOISE AND ISOLATE SIGNAL ORIGIN.” This application is related to U.S. Patent Application Serial No. 16 / 282,163 (issued as U.S. Patent No. 11,391,823), filed February 21, 2019, entitled “LIDAR DETECTION SYSTEMS AND METHODS WITH HIGH REPETITION RATE TO OBSERVE FAR OBJECTS.” The contents of both applications are hereby incorporated by reference in their entireties for all purposes.FIELD OF THE TECHNOLOGY
[0002] This disclosure relates generally to light detection and ranging (LiDAR) systems and, more particularly, to technologies for significantly reducing or eliminating false detections or noises due to range ambiguity and / or interference return light pulses for a LiDAR system.BACKGROUND
[0003] 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 nonscanning 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 system 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.SUMMARY
[0004] Existing systems can enable vehicles to be driven semi-autonomously or fully autonomously. Such systems may use one or more of range finding, mapping, or object detection technologies to provide sensory input to assist in semi-autonomous or fully autonomous vehicle control. Conventional LiDAR systems designed to observe far-away objects (e.g., objects located 200 meters or more away from the LiDAR system) have a relatively slow laser pulse repetition rate. The relatively slow laser pulse repetition rate results in a relatively low scan resolution, but does not result in too many false detections (e.g., false positives). However, in order to improve the resolution, conventional LiDAR systems may increase its laser pulse repetition rate. But the increase of the laser pulse repetition rate also results in false detections. That is, if the correspondence between a transmitted laser pulse and a received return light pulse is wrong, an object that is relatively far away may be detected as an object that is relatively close to the LiDAR system. The false detection is also sometimes referred to as “range ambiguity” or “aliasing.” False detections may also be a result of interference return light signals from another interfering LiDAR system. Such false detections (e.g., false positives) may adversely affect the operation of a vehicle have a conventional LiDAR system.
[0005] Techniques have been developed to reduce the range ambiguity or aliasing. Such techniques may introduce a purely-random time interval between two successive transmission laser pulses such that the time intervals between laser pulses are variables. While introducing a purely-random time interval may help reducing the range ambiguity, there may be problems. For example, for a particular transmission laser pulse, it may have eight neighboring transmission laser pulses (in both the vertical and horizontal scanning directions as shown in FIG. 9B and described in greater detail below). The randomly-introduced time intervals or time delays with respect to the particular transmission laser pulse may cause its time position to be very close to one of its eight neighbors. Therefore, randomly-introduced time intervals or time delays may not always help to identify the correspondence between a transmission laser pulse and a particular received return light pulse. There may still be a falsedetection, false positive, or even a skip of a data point. As such, purely-random time intervals may not be used to significantly reduce or eliminate the range ambiguity or aliasing. Moreover, purely-random time intervals may introduce accumulated differences in the density of points in a point cloud generated by the LiDAR system. As a result, it may cause one scan line in the point cloud to have a higher data point density than another scan line. The data point density variation may cause data point shifting and / or missing data points in the point cloud data. This in turn may cause the perception algorithm to see no objects while the a physical object actually exists at the location in the FOV. It therefore can be particularly dangerous if the LiDAR system is used for a self-driving vehicle.
[0006] Technologies described in this disclosure use a timing jitter pattern for deriving the variable time intervals. The timing jitter pattern may have non-random timing jitter only, or may have both non-random timing jitters superimposed with random timing jitters. As one example of a timing jitter pattern having non-random timing jitters only, it can be formed such that all timing jitters in the timing jitter pattern are constrained within a jitter range and any two neighboring timing jitters in the timing jitter pattern satisfy a minimum jitter difference. Such a timing jitter pattern can greatly reduce or entirely eliminate the likelihood that a transmission light pulse is transmitted too close to another transmission light pulse. For a timing jitter pattern having both the non-random timing jitters and random timing jitters, the random timing jitters in the timing jitter pattern are introduced to further reduce interference between LiDAR systems. For instance, if two LiDAR systems using a timing jitter pattern that has the same non-random timing jitters, the two LiDAR systems may interfere with each other because the time positions of their transmission light pulses may be undesirably synchronized. To solve this problem, random timing jitters can be superimposed on top of the non-random timing jitters to form a unique timing jitter pattern for each of the interfering LiDAR systems. Because the time jitter patterns have unique random timing jitters, the interfering LiDAR system are no longer synchronized even if they are applied with the same non-random timing jitters. As a result, the random timing jitters can be used to further improve the timing jitter pattern to eliminate the possible interference between the two LiDAR systems. Typically, the random timing jitters are small compared to the non-random timing jitters. Therefore, the timing jitter patterns described in this disclosure can be used for LiDAR systems to accurately detect objects while significantly reducing or eliminating range ambiguity and interference..
[0007] In one example, A method for operating a light ranging and detection (LiDAR) system is provided. The method comprises transmitting, according to a first timing jitter pattern, a plurality of transmission light pulses in two orthogonal directions. The first timing jitter pattern includes predetermined non-random timing jitters satisfying one or more constraints. The first timing jitter pattern represents variable time intervals between successive transmission light pulses of the plurality of transmission light pulses. The method further comprises receiving a plurality of return light pulses from external of the LiDAR system. The plurality of return light pulses includes a first return light pulse and one or more neighboring return light pulses of the first return light pulse. The plurality of return light pulses is formed based on at least the plurality of transmission light pulses. The method further comprises, for the first return light pulse and at least one neighboring return light pulse of the plurality of return light pulses, calculating, based on the timing jitter pattern, a plurality of object distances to obtain calculated object distances. The method further comprises rejecting, based on filter criteria, one or more uncorrelated object distances of the calculated object distances. The uncorrelated object distances correspond to one or more transmission light pulses uncorrelated with any of the plurality of return light pulses caused by at least one of a range ambiguity or interference return light pulses. The method further comprises providing remaining object distances of the at least two calculated object distances for generating point cloud data.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] 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.
[0009] FIG. 1 illustrates one or more example LiDAR systems disposed or included in a motor vehicle.
[0010] FIG. 2 is a block diagram illustrating interactions between an example LiDAR system and multiple other systems including a vehicle perception and planning system.
[0011] FIG. 3 is a block diagram illustrating an example LiDAR system.
[0012] FIG. 4A is a block diagram illustrating an example fiber-based laser source.
[0013] FIG. 4B is a block diagram illustrating an example semiconductor-based laser source.
[0014] FIGs. 5A-5C illustrate an example LiDAR system using pulse signals to measure distances to objects disposed in a field-of-view (FOV).
[0015] FIG. 6 is a block diagram illustrating an example apparatus used to implement systems, apparatus, and methods in various embodiments.
[0016] FIG. 7 shows an illustrative scenario in which a conventional LiDAR system can detect objects but is unable to distinguish a distance difference between multiple objects.
[0017] FIG. 8 shows an illustrative timing diagram for illustrating range ambiguity or aliasing problem related to multiple transmission light pulses with respect to a return light pulse, based on prior art technologies.
[0018] FIG. 9A is a block diagram illustrating an example LiDAR system that is configured to significantly reduce or eliminate range ambiguity using the timing jitter pattern described herein, according to some embodiments.
[0019] FIG. 9B illustrates example timing diagrams of transmission light pulses with and without timing jitter, and possible return light pulse time positions, according to some embodiments.
[0020] FIG. 9C illustrates an example a pattern of transmission light pulses in a two- dimension scanning, according to some embodiments.
[0021] FIG. 10A is an example timing jitter pattern that has predetermined non-random timing jitters, according to some embodiments.
[0022] FIG. 10B illustrates an example accumulative timing jitter pattern derived based on timing jitter pattern shown in FIG. 10A, according to some embodiments.
[0023] FIG. 10C-10D are another examples of timing jitter patterns having only non-random timing jitters, according to some embodiments.
[0024] FIG. 11 is a block diagram of a control circuitry of a LiDAR system configured to perform object distance calculations and filtering using a timing jitter pattern having nonrandom timing jitters and optionally random timing jitters.
[0025] FIG. 12A are timing diagrams illustrating distance calculation using multiple transmission light pulses with respect to one or more return light pulses, according to some embodiments.
[0026] FIG. 12B illustrates example formulas for calculating object distances, according to some embodiments.
[0027] FIGs. 12C and 12D are examples methods for applying filtering criteria for rejecting uncorrelated object distances, according to some embodiments.
[0028] FIG. 13 A is a flowchart illustrating an example method for operating a LiDAR system to eliminate or significantly reduce range ambiguity and / or interference using timing jitter patterns, according to some embodiments.
[0029] FIGs. 13B and 13C are flowcharts illustrating example methods for calculating object distances and filtering out uncorrelated object distances, according to some embodiments.DETAILED DESCRIPTION
[0030] 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.
[0031] Throughout the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise:
[0032] 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.
[0033] 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.
[0034] The term “based on” is not exclusive and allows for being based on additional factors not described unless the context clearly dictates otherwise.
[0035] 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.
[0036] 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 return light pulse could be termed a second return light pulse and, similarly, a second return light pulse could be termed a first return light pulse, without departing from the scope of the various described examples. The first return light pulse and the second return light pulse can both be return light pulses and, in some cases, can be separate and different return light pulses.
[0037] In addition, throughout the specification, the meaning of “a”, “an”, and “the” includes plural references, and the meaning of “in” includes “in” and “on”.
[0038] 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.
[0039] 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.
[0040] 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 thecomputing 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.
[0041] Existing systems can enable vehicles to be driven semi-autonomously or fully autonomously. Such systems may use one or more of range finding, mapping, or object detection technologies to provide sensory input to assist in semi-autonomous or fully autonomous vehicle control. Conventional LiDAR systems designed to observe far-away objects (e.g., objects located 200 meters or more away from the LiDAR system) have a relatively slow laser pulse repetition rate. The relatively slow laser pulse repetition rate results in a relatively low scan resolution, but does not result in too many false detections (e.g., false positives). However, in order to improve the resolution, conventional LiDAR systems may increase its laser pulse repetition rate. But the increase of the laser pulse repetition rate also results in false detections. That is, if the correspondence between a transmitted laser pulse and a received return light pulse is wrong, an object that is relatively far away may be detected as an object that is relatively close to the LiDAR system. The false detection is also sometimes referred to as “range ambiguity” or “aliasing.” False detections may also be a result of interference return light signals from another interfering LiDAR system. Such false detections (e.g., false positives) may adversely affect the operation of a vehicle have a conventional LiDAR system.
[0042] Techniques have been developed to reduce the range ambiguity or aliasing. Such techniques may introduce a purely-random time interval between two successive transmissionlaser pulses such that the time intervals between laser pulses are variables. While introducing a purely-random time interval may help reducing the range ambiguity, there may be problems. For example, for a particular transmission laser pulse, it may have eight neighboring transmission laser pulses (in both the vertical and horizontal scanning directions as shown in FIG. 9B and described in greater detail below). The randomly-introduced time intervals or time delays with respect to the particular transmission laser pulse may cause its time position to be very close to one of its eight neighbors. Therefore, randomly-introduced time intervals or time delays may not always help to identify the correspondence between a transmission laser pulse and a particular received return light pulse. There may still be a false detection, false positive, or even a skip of a data point. As such, purely-random time intervals may not be used to significantly reduce or eliminate the range ambiguity or aliasing. Moreover, purely-random time intervals may introduce accumulated differences in the density of points in a point cloud generated by the LiDAR system. As a result, it may cause one scan line in the point cloud to have a higher data point density than another scan line. The data point density variation may cause data point shifting and / or missing data points in the point cloud data. This in turn may cause the perception algorithm to see no objects while the a physical object actually exists at the location in the FOV. It therefore can be particularly dangerous if the LiDAR system is used for a self-driving vehicle.
[0043] Technologies described in this disclosure use a timing jitter pattern for deriving the variable time intervals. The timing jitter pattern may have non-random timing jitter only, or may have both non-random timing jitters superimposed with random timing jitters. As one example of a timing jitter pattern having non-random timing jitters only, it can be formed such that all timing jitters in the timing jitter pattern are constrained within a jitter range and any two neighboring timing jitters in the timing jitter pattern satisfy a minimum jitter difference. Such a timing jitter pattern can greatly reduce or entirely eliminate the likelihood that a transmission light pulse is transmitted too close to another transmission light pulse. For a timing jitter pattern having both the non-random timing jitters and random timing jitters, the random timing jitters in the timing jitter pattern are introduced to further reduce interference between LiDAR systems. For instance, if two LiDAR systems using a timing jitter pattern that has the same non-random timing jitters, the two LiDAR systems may interfere with each other because the time positions of their transmission light pulses may be undesirably synchronized. To solve this problem, random timing jitters can be superimposed on top of the non-random timing jitters to form a unique timing jitter pattern for each of the interferingLiDAR systems. Because the time jitter patterns have unique random timing jitters, the interfering LiDAR system are no longer synchronized even if they are applied with the same non-random timing jitters. As a result, the random timing jitters can be used to further improve the timing jitter pattern to eliminate the possible interference between the two LiDAR systems. Typically, the random timing jitters are small compared to the non-random timing jitters. Therefore, the timing jitter patterns described in this disclosure can be used for LiDAR systems to accurately detect objects while significantly reducing or eliminating range ambiguity and interference..
[0044] In one example, A method for operating a light ranging and detection (LiDAR) system is provided. The method comprises transmitting, according to a first timing jitter pattern, a plurality of transmission light pulses in two orthogonal directions. The first timing jitter pattern includes predetermined non-random timing jitters satisfying one or more constraints. The first timing jitter pattern represents variable time intervals between successive transmission light pulses of the plurality of transmission light pulses. The method further comprises receiving a plurality of return light pulses from external of the LiDAR system. The plurality of return light pulses includes a first return light pulse and one or more neighboring return light pulses of the first return light pulse. The plurality of return light pulses is formed based on at least the plurality of transmission light pulses. The method further comprises, for the first return light pulse and at least one neighboring return light pulse of the plurality of return light pulses, calculating, based on the timing jitter pattern, a plurality of object distances to obtain calculated object distances. The method further comprises rejecting, based on filter criteria, one or more uncorrelated object distances of the calculated object distances. The uncorrelated object distances correspond to one or more transmission light pulses uncorrelated with any of the plurality of return light pulses caused by at least one of a range ambiguity or interference return light pulses. The method further comprises providing remaining object distances of the at least two calculated object distances for generating point cloud data.
[0045] FIG. 1 illustrates one or more example LiDAR systems 110 and 120A-120I disposed or included in a motor vehicle 100. Vehicle 100 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 100 can be a vehicle having any automated level. For example, motor vehicle 100 can be a partially automated vehicle, a highly automatedvehicle, 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.
[0046] In typical configurations, motor vehicle 100 comprises one or more LiDAR systems 110 and 120A-120I. Each of LiDAR systems 110 and 120A-120I can be a scanning-based LiDAR system and / or a non-scanning LiDAR system (e.g., a flash LiDAR). A scanningbased 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.
[0047] A LiDAR system is a frequently-used sensor of a vehicle that is at least partially automated. In one embodiment, as shown in FIG. 1, motor vehicle 100 may include a single LiDAR system 110 (e.g., without LiDAR systems 120A-120I) disposed at the highest position of the vehicle (e.g., at the vehicle roof). Disposing LiDAR system 110 at the vehicle roof facilitates a 360-degree scanning around vehicle 100. In some other embodiments, motor vehicle 100 can include multiple LiDAR systems, including two or more of systems 110 and / or 120A-120I. As shown in FIG. 1, in one embodiment, multiple LiDAR systems 110 and / or 120A-120I are attached to vehicle 100 at different locations of the vehicle. For example, LiDAR system 120A is attached to vehicle 100 at the front right corner; LiDAR system 120B is attached to vehicle 100 at the front center position; LiDAR system 120C is attached to vehicle 100 at the front left corner; LiDAR system 120D is attached to vehicle 100 at the right-side rear view mirror; LiDAR system 120E is attached to vehicle 100 at theleft-side rear view mirror; LiDAR system 120F is attached to vehicle 100 at the back center position; LiDAR system 120G is attached to vehicle 100 at the back right corner; LiDAR system 120H is attached to vehicle 100 at the back left corner; and / or LiDAR system 1201 is attached to vehicle 100 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. 1 only illustrates one embodiment. As another example, LiDAR systems 120D and 120E may be attached to the B-pillars of vehicle 100 instead of the rear-view mirrors. As another example, LiDAR system 120B may be attached to the windshield of vehicle 100 instead of the front bumper.
[0048] In some embodiments, LiDAR systems 110 and 120A-120I 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 110 and 120A- 1201 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 110 (or another system that is centrally positioned or positioned anywhere inside the vehicle 100) includes a light source, a transmitter, and a light detector, but has no steering mechanisms. System 110 may distribute transmission light to each of systems 120A-120I. The transmission light may be distributed via optical fibers. Optical connectors can be used to couple the optical fibers to each of system 110 and 120A- 1201. In some examples, one or more of systems 120A-120I 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 120A-120I 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 120A-120I 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 110. System 110 includes one or more light detectors for detecting the received return light. In some examples, system 110 is disposed inside a vehicle such that it is in a temperature-controlled environment, while one or more systems 120A-120I may be at least partially exposed to the external environment.
[0049] FIG. 2 is a block diagram 200 illustrating interactions between vehicle onboard LiDAR system(s) 210 and multiple other systems including a vehicle perception and planning system 220. LiDAR system(s) 210 can be mounted on or integrated to a vehicle. LiDAR system(s) 210 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) 210, it can generate sensor data (e.g., image data or 3D point cloud data) representing the perceived external environment.
[0050] LiDAR system(s) 210 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 mediumrange 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. 2, in one embodiment, the LiDAR sensor data can be provided to vehicle perception and planning system 220 via a communication path 213 for further processing and controlling the vehicle operations. Communication path 213 can be any wired or wireless communication links that can transfer data.
[0051] With reference still to FIG. 2, in some embodiments, other vehicle onboard sensor(s) 230 are configured to provide additional sensor data separately or together with LiDAR system(s) 210. Other vehicle onboard sensors 230 may include, for example, one or more camera(s) 232, one or more radar(s) 234, one or more ultrasonic sensor(s) 236, and / or other sensor(s) 238. Camera(s) 232 can take images and / or videos of the external environment of a vehicle. Camera(s) 232 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) 232 caninclude 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) 232 can also be provided to vehicle perception and planning system 220 via communication path 233 for further processing and controlling the vehicle operations. Communication path 233 can be any wired or wireless communication links that can transfer data. Camera(s) 232 can be mounted on, or integrated to, a vehicle at any location (e.g., rearview mirrors, pillars, front grille, and / or back bumpers, etc.).
[0052] Other vehicle onboard sensor(s) 230 can also include radar sensor(s) 234. Radar sensor(s) 234 use radio waves to determine the range, angle, and velocity of objects. Radar sensor(s) 234 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) 234 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) 234 can also be provided to vehicle perception and planning system 220 via communication path 233 for further processing and controlling the vehicle operations. Radar sensor(s) 234 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.).
[0053] Other vehicle onboard sensor(s) 230 can also include ultrasonic sensor(s) 236. Ultrasonic sensor(s) 236 use acoustic waves or pulses to measure objects located external to a vehicle. The acoustic waves generated by ultrasonic sensor(s) 236 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) 236. Based on the return signals, a distance of the object can be calculated. Ultrasonic sensor(s) 236 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) 236 can also be provided to vehicleperception and planning system 220 via communication path 233 for further processing and controlling the vehicle operations. Ultrasonic sensor(s) 236 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.).
[0054] In some embodiments, one or more other sensor(s) 238 may be attached in a vehicle and may also generate sensor data. Other sensor(s) 238 may include, for example, global positioning systems (GPS), inertial measurement units (IMU), or the like. Sensor data generated by other sensor(s) 238 can also be provided to vehicle perception and planning system 220 via communication path 233 for further processing and controlling the vehicle operations. It is understood that communication path 233 may include one or more communication links to transfer data between the various sensor(s) 230 and vehicle perception and planning system 220.
[0055] In some embodiments, as shown in FIG. 2, sensor data from other vehicle onboard sensor(s) 230 can be provided to vehicle onboard LiDAR system(s) 210 via communication path 231. LiDAR system(s) 210 may process the sensor data from other vehicle onboard sensor(s) 230. For example, sensor data from camera(s) 232, radar sensor(s) 234, ultrasonic sensor(s) 236, and / or other sensor(s) 238 may be correlated or fused with sensor data LiDAR system(s) 210, thereby at least partially offloading the sensor fusion process performed by vehicle perception and planning system 220. 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 220 and / or LiDAR system 210).
[0056] With reference still to FIG. 2, in some embodiments, sensors onboard other vehicle(s) 250 are used to provide additional sensor data separately or together with LiDAR system(s) 210. 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. 2, sensor data generated by other vehicle(s) 250 can be communicated to vehicle perception and planning system 220 and / or vehicle onboard LiDAR system(s) 210, via communication path 253 and / or communication path 251, respectively. Communication paths 253 and 251 can be any wired or wireless communication links that can transfer data.
[0057] 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) 230, data generated by sensors onboard other vehicle(s) 250 may be correlated or fused with sensor data generated by LiDAR system(s) 210 (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 220.
[0058] In some embodiments, intelligent infrastructure system(s) 240 are used to provide sensor data separately or together with LiDAR system(s) 210. 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) 240 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) 240 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 left-turning 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) 240 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) 240 can be provided to vehicle perception and planning system 220 and / or vehicle onboard LiDAR system(s) 210, via communication paths 243 and / or 241, respectively. Communication paths 243 and / or 241 can include any wired or wireless communication links that can transfer data. For example, sensor data from intelligent infrastructure system(s) 240 may be transmitted to LiDAR system(s) 210 and correlated or fused with sensor data generated by LiDAR system(s) 210, thereby at least partially offloading the sensor fusion process performed by vehicle perception and planning system 220. 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.
[0059] With reference still to FIG. 2, via various communication paths, vehicle perception and planning system 220 receives sensor data from one or more of LiDAR system(s) 210, other vehicle onboard sensor(s) 230, other vehicle(s) 250, and / or intelligent infrastructure system(s) 240. In some embodiments, different types of sensor data are correlated and / or integrated by a sensor fusion sub-system 222. For example, sensor fusion sub-system 222 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 222 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 232 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 210 may not be affected as much and therefore sensor fusion sub-system 222 can combine sensor data provided by both camera 232 and LiDAR system 210, and use the sensor data provided by LiDAR system 210 to compensate the unclear image captured by camera 232. As another example, in a rainy or foggy weather, a radar sensor 234 may work better than a camera 232 or a LiDAR system 210. Accordingly, sensor fusion sub-system 222 may use sensor data provided by the radar sensor 234 to compensate the sensor data provided by camera 232 or LiDAR system 210.
[0060] In other examples, sensor data generated by other vehicle onboard sensor(s) 230 may have a lower resolution (e.g., radar sensor data) and thus may need to be correlated and confirmed by LiDAR system(s) 210, which usually has a higher resolution. For example, a sewage cover (also referred to as a manhole cover) may be detected by radar sensor 234 as an object towards which a vehicle is approaching. Due to the low-resolution nature of radar sensor 234, vehicle perception and planning system 220 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) 210 thus can be used to correlated and confirm that the object is a sewage cover and causes no harm to the vehicle.
[0061] Vehicle perception and planning system 220 further comprises an object classifier 223. Using raw sensor data and / or correlated / fused data provided by sensor fusion subsystem 222, object classifier 223 can use any computer vision techniques to detect and classify the objects and estimate the positions of the objects. In some embodiments, object classifier 223 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).
[0062] Vehicle perception and planning system 220 further comprises a road detection subsystem 224. Road detection sub-system 224 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) 234, camera(s) 232, and / or LiD AR system(s) 210, road detection sub-system 224 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 224 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).
[0063] Vehicle perception and planning system 220 further comprises a localization and vehicle posture sub-system 225. Based on raw or fused sensor data, localization and vehicle posture sub-system 225 can determine position of the vehicle and the vehicle’s posture. For example, using sensor data from LiDAR system(s) 210, camera(s) 232, and / or GPS data, localization and vehicle posture sub-system 225 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 225 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.
[0064] Vehicle perception and planning system 220 further comprises obstacle predictor 226. Objects identified by object classifier 223 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 226 can predict an obstacle trajectory and / or warn the driver or the vehicle planning subsystem 228 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 226 can generate such a warning. Obstacle predictor 226 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 / accel eration models, Kalman Filter andExtended 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.
[0065] With reference still to FIG. 2, in some embodiments, vehicle perception and planning system 220 further comprises vehicle planning sub-system 228. Vehicle planning sub-system 228 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 226. The motion planner determines the specific operations the vehicle needs to follow. The planning results are then communicated to vehicle control system 280 via vehicle interface 270. The communication can be performed through communication paths 227 and 271, which include any wired or wireless communication links that can transfer data.
[0066] Vehicle control system 280 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 220 may further comprise a user interface 260, which provides a user (e.g., a driver) access to vehicle control system 280 to, for example, override or take over control of the vehicle when necessary. User interface 260 may also be separate from vehicle perception and planning system 220. User interface 260 can communicate with vehicle perception and planning system 220, 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 260 can communicate with vehicle perception and planning system 220 and / or vehicle control system 280 via communication paths 221 and 261 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. 2 can be configured in any desired manner and not limited to the configuration shown in FIG. 2.
[0067] FIG. 3 is a block diagram illustrating an example LiDAR system 300. LiDAR system 300 can be used to implement LiDAR systems 110, 120A-120I, and / or 210 shown in FIGs. 1 and 2. In one embodiment, LiDAR system 300 comprises a light source 310, a transmitter 320, an optical receiver and light detector 330, a steering system 340, and control circuitry 350. These components are coupled together using communications paths 312, 314, 322,332, 342, 352, 362, and 372. 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 300, communication path 314 between light source 310 and transmitter 320 may be implemented using one or more optical fibers. Communication paths 332 and 352 may represent optical paths implemented using free space optical components and / or optical fibers. And communication paths 312, 322, 342, and 362 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).
[0068] In some embodiments, LiDAR system 300 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. 3, if LiDAR system 300 is a coherent LiDAR, it may include a route 372 providing a portion of transmission light from transmitter 320 to optical receiver and light detector 330. Route 372 may include one or more optics (e.g., optical fibers, lens, mirrors, etc.) for providing the light from transmitter 320 to optical receiver and light detector 330. The transmission light provided by transmitter 320 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 330 of the LiDAR system 300. The second portion is also referred to as the light that is kept local (LO) to the LiDAR system 300. 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).
[0069] LiDAR system 300 can also include other components not depicted in FIG. 3, such as power buses, power supplies, LED indicators, switches, etc. Additionally, other communication connections among components may be present, such as a direct connectionbetween light source 310 and optical receiver and light detector 330 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.
[0070] Light source 310 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 700 nm to 1mm. Light source 310 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.
[0071] In some embodiments, light source 310 comprises a master oscillator (also referred to as a seed laser) and power amplifier (MOP A). 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 310 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., ND:YV04) laser crystals. In some examples, light source 310 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 310 can be controlled such that the power gain can be varied to achieve any desired laser output power.
[0072] FIG. 4A is a block diagram illustrating an example fiber-based laser source 400 having a seed laser and one or more pumps (e.g., laser diodes) for pumping desired output power. Fiber-based laser source 400 is an example of light source 310 depicted in FIG. 3. In some embodiments, fiber-based laser source 400 comprises a seed laser 402 configured 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) 404 via an optical fiber 403. Fiber-based laser source 400 further comprises a pump 406 for providing laser power (e.g., of a different wavelength, such as 980 nm) to WDM 404 via an optical fiber 405. WDM 404 multiplexes the light pulses provided by seed laser 402 and the laser power provided by pump 406 onto a single optical fiber 407. The output of WDM 404 can then be provided to one or more pre-amplifier(s) 408 via optical fiber 407. Pre-amplifier(s) 408 can be optical amplifier(s) that amplify optical signals (e.g., with about 10-30 dB gain). In some embodiments, pre-amplifier(s) 408 are low noise amplifiers. Pre-amplifier(s) 408 output to an optical combiner 410 via an optical fiber 409. Combiner 410 combines the output laser light of pre-amplifier(s) 408 with the laser power provided by pump 412 via an optical fiber 411. Combiner 410 can combine optical signals having the same wavelength or different wavelengths. One example of a combiner is a WDM. Combiner 410 provides combined optical signals to a booster amplifier 414, which produces output light pulses via optical fiber 415. The booster amplifier 414 provides further amplification of the optical signals (e.g., another 20-40 dB). The output light pulses can then be transmitted to transmitter 320 and / or steering mechanism 340 (shown in FIG. 3). It is understood that FIG. 4A illustrates one example configuration of fiber-based laser source 400. Laser source 400 can have many other configurations using different combinations of one or more components shown in FIG. 4A and / or other components not shown in FIG. 4A (e.g., other components such as power supplies, lens(es), filters, splitters, combiners, etc.).
[0073] In some variations, fiber-based laser source 400 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 400. Communication path 312 couples fiber-based laser source 400 to control circuitry 350 (shown in FIG. 3) so that components of fiber-based laser source 400 can be controlled by or otherwise communicate with control circuitry 350. Alternatively, fiber-based laser source 400 may include its own dedicated controller. Instead of control circuitry 350 communicating directly with components of fiber-based laser source 400, a dedicated controller of fiber-based laser source 400 communicates with controlcircuitry 350 and controls and / or communicates with the components of fiber-based laser source 400. Fiber-based laser source 400 can also include other components not shown, such as one or more power connectors, power supplies, and / or power lines.
[0074] FIG. 4B is a block diagram illustrating an example semiconductor-based laser source 440. Semiconductor-based laser source 440 is an example of light source 310 depicted in FIG. 3. In the example shown in FIG. 4B, laser source 440 is a Vertical-Cavity Surface- Emitting Laser (VCSEL), which is a type of semiconductor laser diode with a distinctive structure that allows it to emit light vertically from the surface of the chip, rather than through the edge of the chip like the edge-emitting laser (EEL) diodes. VCSELs have advantages like high-speed operation and easy integration into semiconductor devices. FIG. 4B shows a cross-sectional view of an example VCSEL 440. In this example, the VCSEL 440 includes a metal contact layer 442, an upper Bragg reflector 444, an active region 446, a lower Bragg reflector 448, a substrate 450, and another metal contact 452. In the VCSEL 440, the metal contacts 442 and 452 are for making electrical contacts so that electrical current and / or voltage can be provided to VCSEL 440 for generating laser light. The substrate layer 450 is a semiconductor substrate, which can be, for example, a gallium arsenide (GaAs) substrate. VCSEL 440 uses a laser resonator, which includes two distributed Bragg reflector (DBR) reflectors (i.e., upper Bragg reflector 444 and lower Bragg reflector 448) with an active region 446 sandwiched between the DBR reflectors. The active region 446 includes, for example, one or more quantum wells for the laser light generation. The planar DBR- reflectors can be mirrors having layers with alternating high and low refractive indices. Each layer has a thickness of a quarter of the laser wavelength in the material, yielding intensity reflectivities above e.g., 99%. High reflectivity mirrors in VCSELs can balance the short axial length of the gain region. In one example of VCSEL 440, the upper and lower DBR reflectors 444 and 448 can be doped as p-type and n-type materials, forming a diode junction. In another example, the p-type and n-type regions may be embedded between the reflectors, requiring a more complex semiconductor process to make electrical contact to the active region, but eliminating electrical power loss in the DBR structure. The active region 446 is sandwiched between the DBR reflectors 444 and 448 of the VCSEL 440. The active region is where the laser light generation occurs. The active region 446 typically has a quantum well or quantum dot structure, which contains the gain medium responsible for light amplification. When an electric current is applied to the active region 446, it generates photons by stimulated emission. The distance between the upper and lower DBR reflectors 444 and 448defines the cavity length of the VCSEL 440. The cavity length in turn determines the wavelength of the emitted light and influences the laser's performance characteristics. When an electrical current is applied to the VCSEL 440, it generates light that bounces between the DBR reflectors 444 and 448 and exits the VCSEL 440 through, for example, the lower DBR reflector 448, producing a highly coherent and vertically emitted laser beam 454. VCSEL 440 can provide an improved beam quality, low threshold current, and the ability to produce single-mode or multi-mode output.
[0075] In some variations, VCSEL 440 can be controlled (e.g., by control circuitry 350) to produce pulses of different amplitudes. Communication path 312 couples VCSEL 440 to control circuitry 350 (shown in FIG. 3) so that components of VCSEL 440 can be controlled by or otherwise communicate with control circuitry 350. Alternatively, VCSEL 440 may include its own dedicated controller. Instead of control circuitry 350 communicating directly with components of VCSEL 400, a dedicated controller of VCSEL 440 communicates with control circuitry 350 and controls and / or communicates with the components of VCSEL 440. VCSEL 440 can also include other components not shown, such as one or more power connectors, power supplies, and / or power lines.
[0076] VCSEL 440 can be used to generate laser pulses or continuous wave (CW) lasers. To generate laser pulses, control circuitry 350 modulates the current supplied to the VCSEL 440. By rapidly turning the supply current on and off, pulses of laser light can be generated. The duration, repetition rate, and shape of the pulses can be controlled by adjusting the modulation parameters. As another example, VCSEL 440 can also be a mode-locked VCSEL that uses a combination of current modulation and optical feedback to obtain ultra- short pulses. The mode-locked VCSEL may also be controlled to synchronize the phases of the laser modes to produce very short and high-intensity pulses. As another example, VCSEL 440 can use Q-Switching techniques, which includes an optical switch in the laser cavity, temporarily blocking the lasing action and allows energy to build up in the cavity. When the switch is opened, a high-intensity pulse is emitted. As another example, VCSEL 440 can also have external modulation performed by an external modulator (not shown), such as an electro-optic or acousto-optic modulator. The external modulation can be used in combination with the VCSEL itself to create pulsed output. The external modulator can be used to control the pulse duration and repetition rate. The type of VCSEL used as at least a part of light source 310 depends on the application and the required pulse characteristics, such as pulse duration, repetition rate, and peak power.
[0077] Referencing FIG. 3, typical operating wavelengths of light source 310 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 310 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 310 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 310 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. 1, 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 310 and / or designing laser delivery systems for vehicle-mounted LiDAR applications.
[0078] It is understood that the above descriptions provide non-limiting examples of a light source 310. Light source 310 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 310 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 asemiconductor optical amplifier. The amplifiers are configured to receive and amplify light signals with desired gains.
[0079] With reference back to FIG. 3, LiDAR system 300 further comprises a transmitter 320. Light source 310 provides laser light (e.g., in the form of a laser beam) to transmitter 320. The laser light provided by light source 310 can be amplified laser light with a predetermined or controlled wavelength, pulse repetition rate, and / or power level. Transmitter 320 receives the laser light from light source 310 and transmits the laser light to steering mechanism 340 with low divergence. In some embodiments, transmitter 320 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 340. While FIG. 3 illustrates transmitter 320 and steering mechanism 340 as separate components, they may be combined or integrated as one system in some embodiments. Steering mechanism 340 is described in more detail below.
[0080] Laser beams provided by light source 310 may diverge as they travel to transmitter 320. Therefore, transmitter 320 often comprises a collimating lens or a lens group 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 plano-convex 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 310 and / or transmitter 320 can be configured to meet, for example, a scan resolution requirement while maintaining the desired M2factor.
[0081] One or more of the light beams provided by transmitter 320 are scanned by steering mechanism 340 to a FOV. Steering mechanism 340 scans light beams in multiple dimensions (e.g., in both the horizontal and vertical dimension) to facilitate LiDAR system 300 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 avehicle (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 340 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 300. FIG. 3 further illustrates an optical receiver and light detector 330 configured to receive the return light. Optical receiver and light detector 330 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.
[0082] 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 330 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.
[0083] 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 an n-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 materialsystems 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 330.
[0084] 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 330 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 300. 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.
[0085] FIG. 3 further illustrates that LiDAR system 300 comprises steering mechanism 340. As described above, steering mechanism 340 directs light beams from transmitter 320 to scan an FOV in multiple dimensions. A steering mechanism is also 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. Solidstate scanning directs the laser beam to various positions through the FOV withoutmechanically moving any macroscopic components such as the transceiver. Solid-state scanning mechanisms include, for example, optical phased arrays based steering and flash LiD AR 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 LiD AR system using solid- state scanning may also be referred to as a non-mechanical scanning or simply non-scanning LiD AR system (a flash LiD AR system is an example non-scanning LiD AR system).
[0086] Steering mechanism 340 can be used with a transceiver (e.g., transmitter 320 and optical receiver and light detector 330) to scan the FOV for generating an image or a 3D point cloud. As an example, to implement steering mechanism 340, 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 340 may include non-mechanical steering mechanism(s) such as solid-state steering mechanism(s). For example, steering mechanism 340 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 340 can use a single scanning device to achieve two-dimensional scanning or multiple scanning devices combined to realize two-dimensional scanning.
[0087] As another example, to implement steering mechanism 340, 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.
[0088] As another example, to implement steering mechanism 340, 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 thescan 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.
[0089] Some implementations of steering mechanism 340 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 330. 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).
[0090] With reference still to FIG. 3, LiDAR system 300 further comprises control circuitry 350. Control circuitry 350 can be configured and / or programmed to control various parts of the LiDAR system 300 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 310 to obtain the desired laser pulse timing, the pulse repetition rate, and power; controlling steering mechanism 340 (e.g., controlling the speed, direction, and / or other parameters) to scan the FOV and maintain pixel registration and / or alignment; controlling optical receiver and light detector 330 (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).
[0091] 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 330 to derive distance and reflectance information, and perform data packaging and communication to vehicle perception and planning system 220 (shown in FIG. 2). 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 300.
[0092] LiDAR system 300 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 300 (e.g., optics in transmitter 320, optical receiver and light detector 330, and steering mechanism 340) are disposed and / or configured in such a manner to maintain long term mechanical and optical stability. For example, components in LiDAR system 300 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 320, optical receiver and light detector 330, and steering mechanism 340 (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 300 for providing desired characteristics such as hardness, ingress protection (IP) rating, self-cleaning capability, resistance to chemical and resistance to impact, or the like. In addition, efficient and economical methodologies for assembling LiDAR system 300 may be used to meet the LiDAR operating requirements while keeping the cost low.
[0093] It is understood by a person of ordinary skill in the art that FIG. 3 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 300 can also include other components not depicted in FIG. 3, 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 310 and optical receiver and light detector 330 so that light detector 330 can accurately measure the time from when light source 310 transmits a light pulse until light detector 330 detects a return light pulse.
[0094] These components shown in FIG. 3 are coupled together using communications paths 312, 314, 322, 332, 342, 352, 362, and 372. 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 nophysical communication medium is present. For example, in one example LiDAR system, communication path 314 includes one or more optical fibers; communication path 352 represents an optical path; and communication paths 312, 322, 342, and 362 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).
[0095] 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. 5A, an example LiDAR system 500 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 500 can be implemented using, for example, LiDAR system 300 described above. LiDAR system 500 transmits a light pulse 502 along light path 504 as determined by the steering mechanism of LiDAR system 500. In the depicted example, light pulse 502, which is generated by the laser light source, is a short pulse of laser light. Further, the signal steering mechanism of the LiDAR system 500 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.
[0096] Referring back to FIG. 5A (e.g., illustrating a time-of-flight LiDAR system that uses light pulses), when light pulse 502 reaches object 506, light pulse 502 scatters or reflects to form a return light pulse 508. Return light pulse 508 may return to system 500 along light path 510. The time from when transmitted light pulse 502 leaves LiDAR system 500 to when return light pulse 508 arrives back at LiDAR system 500 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 / di stance from LiDAR system 500 to the portion of object 506 where light pulse 502 scattered or reflected.
[0097] By directing many light pulses, as depicted in FIG. 5B, LiDAR system 500 scans the external environment (e.g., by directing light pulses 502, 522, 526, 530 along light paths 504, 524, 528, 532, respectively). As depicted in FIG. 5C, LiDAR system 500 receives return light pulses 508, 542, 548 (which correspond to transmitted light pulses 502, 522, 530, respectively). Return light pulses 508, 542, and 548 are formed by scattering or reflecting the transmitted light pulses by one of objects 506 and 514. Return light pulses 508, 542, and 548 may return to LiDAR system 500 along light paths 510, 544, and 546, respectively. Based on the direction of the transmitted light pulses (as determined by LiDAR system 500) as well as the calculated range from LiDAR system 500 to the portion of objects that scatter or reflect the light pulses (e.g., the portions of objects 506 and 514), the external environment within the detectable range (e.g., the field of view between path 504 and 532, inclusively) can be precisely mapped or plotted (e.g., by generating a 3D point cloud or images).
[0098] If a corresponding light pulse is not received for a particular transmitted light pulse, then LiDAR system 500 may determine that there are no objects within a detectable range of LiDAR system 500 (e.g., an object is beyond the maximum scanning distance of LiDAR system 500). For example, in FIG. 5B, light pulse 526 may not have a corresponding return light pulse (as illustrated in FIG. 5C) because light pulse 526 may not produce a scattering event along its transmission path 528 within the predetermined detection range. LiDAR system 500, or an external system in communication with LiDAR system 500 (e.g., a cloud system or service), can interpret the lack of return light pulse as no object being disposed along light path 528 within the detectable range of LiDAR system 500.
[0099] In FIG. 5B, light pulses 502, 522, 526, and 530 can be transmitted in any order, serially, in parallel, or based on other timings with respect to each other. Additionally, while FIG. 5B depicts transmitted light pulses as being directed in one dimension or one plane (e.g., the plane of the paper), LiDAR system 500 can also direct transmitted light pulses along other dimension(s) or plane(s). For example, LiDAR system 500 can also direct transmitted light pulses in a dimension or plane that is perpendicular to the dimension or plane shown in FIG. 5B, 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 500 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 / / -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 / di stance 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.
[0100] The density of a point cloud refers to the number of measurements (data points) per area performed by the LiDAR system. 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 system cannot correctly correlate the return signals with the transmitted signals.
[0101] 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. Forexample, 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.
[0102] 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.
[0103] 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.
[0104] 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. 1-13, 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.
[0105] 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. 6. Apparatus 600 comprises a processor 610 operatively coupled to a persistent storage device 620 and a main memory device 630. Processor 610 controls the overall operation of apparatus 600 byexecuting computer program instructions that define such operations. The computer program instructions may be stored in persistent storage device 620, or other computer-readable medium, and loaded into main memory device 630 when execution of the computer program instructions is desired. For example, processor 610 may be used to implement one or more components and systems described herein, such as control circuitry 350 (shown in FIG. 3), vehicle perception and planning system 220 (shown in FIG. 2), and vehicle control system 280 (shown in FIG. 2). Thus, the method steps of at least some of FIGS. 1-13 can be defined by the computer program instructions stored in main memory device 630 and / or persistent storage device 620 and controlled by processor 610 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. 1-13. Accordingly, by executing the computer program instructions, the processor 610 executes an algorithm defined by the method steps of these aforementioned figures. Apparatus 600 also includes one or more network interfaces 680 for communicating with other devices via a network. Apparatus 600 may also include one or more input / output devices 690 that enable user interaction with apparatus 600 (e.g., display, keyboard, mouse, speakers, buttons, etc.).
[0106] Processor 610 may include both general and special purpose microprocessors and may be the sole processor or one of multiple processors of apparatus 600. Processor 610 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 610, persistent storage device 620, and / or main memory device 630 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).
[0107] Persistent storage device 620 and main memory device 630 each comprise a tangible non-transitory computer readable storage medium. Persistent storage device 620, and main memory device 630, 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 memorydevices, 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.
[0108] Input / output devices 690 may include peripherals, such as a printer, scanner, display screen, etc. For example, input / output devices 690 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 600.
[0109] Any or all of the functions of the systems and apparatuses discussed herein may be performed by processor 610, and / or incorporated in, an apparatus or a system such as LiDAR system 300. Further, LiDAR system 300 and / or apparatus 600 may utilize one or more neural networks or other deep-learning techniques performed by processor 610 or other systems or apparatuses discussed herein.
[0110] 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. 6 is a high-level representation of some of the components of such a computer for illustrative purposes.[OHl] FIG. 7 shows an illustrative scenario in which a conventional LiDAR system can detect objects but is unable to distinguish a distance difference between multiple objects. In particular, FIG. 7 shows LiDAR system 700, which can include transmitter 704 and receiver 706. LiDAR system 700 is configured to detect a near object 730 and a far object 740. Far object 740 is located farther away from LiDAR system 700 than near object 730. During operation, transmitter 704 transmits a transmission light pulse T1 first, followed by another transmission light pulse T2. When transmission light pulses T1 and T2 reach objects 730 and 740, return light pulses R1 and R2 are formed by reflecting or scattering the transmission light pulses from objects 730 and 740. In particular, as shown in FIG. 7, return light pulse R1 may be formed in response to transmission light pulse Tl, and return light pulse R2 may be formed in response to transmission light pulse T2. Receiver 706 may receive return light pulse R2 before it receives return light pulse Rl, even though transmission light pulse Tl was transmitted before transmission light pulse T2. This is because return light pulse R2 isformed by the near object 730, which may be located much closer to LiDAR system 700 than the far object 740.
[0112] Receipt of return light pulse R2 before return light pulse R1 may cause system confusion of the correct correspondence of transmitted and received light pulses. For example, the LiDAR system 700 may correspond the return light pulse R2 to the earlier transmitted light pulse Tl, and thus calculate the distance incorrectly. This effect is referred to as the range ambiguity or aliasing. Conventionally, in order to prevent or reduce the range ambiguity, the repetition rate of transmission light pulses is slowed down, so that the time interval between the transmission light pulses Tl and T2 is large enough so that the return light pulse R1 can always return before the LiDAR system 700 sends the next transmission light pulse T2. For example, this time interval is set to be no less than the round trip time of light traveling in the maximum detection distance. However, a relatively slow repetition rate results in a relatively low resolution because the LiDAR system 700 does not provide a high number of data points per second. To increase the resolution, a high repetition rate system is oftentimes required. But increasing the repetition rate effectively limits the distance the LiDAR system 700 can accurately detect objects. The distance of a detected object can be calculated to be 0.5*c / M, where c denotes the speed of light, and M denotes the repetition rate of the transmission light pulses.
[0113] FIG. 8 shows an illustrative timing diagram for further illustrating the range ambiguity or aliasing problem. As shown in FIG. 8, transmission light pulse Tl is transmitted at time, tn; transmission light pulse T2 is transmitted at time, tn; and return light pulse R1 is received at time, tRi. A conventional LiDAR system has a fixed repetition rate, denoted by M. Thus, the time interval between two neighboring transmission light pulses can be calculated as 1 / M. For example, if the repetition rate is 1 MHz, then the time interval is 1 ps. Based on the formula that a distance between the LiDAR system and an object can be calculated as 0.5* c / M, a 1 MHz repetition rate of the transmission light pulses results in an object distance of about 150 meters. If the object is located at a distance greater than 150 meters, such as 180 meters, the return light pulse R1 is received at time that exceeds the Ips time interval (e.g., about 1.2 ps after time, tn, and 0.2 ps after time, tn). As such, FIG. 8 shows that there are two transmission light pulses Tl and T2 before the system receives the return light pulse R1. The LiDAR system therefore may not distinguish whether the return light pulse R1 is the return light pulse corresponding to transmission light pulses Tl or T2. Conventional systems may typically consider that return light pulse R1 corresponds totransmission light pulse T2 (e.g., because objects that are relatively far away typically have weak return signals). If the LiDAR system determines that return light pulse R1 corresponds to T2, the system may determine the object is located at about 30 meters from the system (i.e., (1.2-1.0 ps)*c / 2 is about 30 meters). In this regard, the return light pulse R1 is considered a “ghost” pulse or alias pulse because an object that is actually far away is being considered as an object that is close. Registering the object at 30 meters instead of 180 meters may result in undesired actions (e.g., an erroneous brake by an autonomous car system). As defined herein, a “ghost” object is associated with the incorrect distance calculation. Referring to the example above, the return light pulse R1 is actually at 180 meters, but the system registers R1 at 30 meters.
[0114] With reference back to FIG. 7A, range ambiguity is one problem. Another problem relates to interference. For example, an interfering LiDAR system 710 may be transmitting light pulses (e.g., Ti) at the same or similar direction when LiDAR system 700 is transmitting. Thus, when the light pulse Ti reaches the same object 740, it forms a return light pulse Ri. Return light pulse Ri is meant for the interfering LiDAR system 710, but may also be received by the receiver of the LiDAR system 700. With respect to LiDAR system 700, the return light pulse Ri is an interference return light pulse. FIG. 8 also shows that the interference return light pulse Ri may be received at a time position between time positions of to and to, or any other time positions. The interference return light pulse Ri, however, does not correspond to any of the transmission light pulses TI, T2, or T3. Therefore, calculating object distances with respect to return light pulse Ri would result in false detection or noise.
[0115] Techniques have been developed to reduce the range ambiguity, aliasing, and interference return light signals as illustrated above. Such techniques may introduce a purely- random time intervals between any two successive transmission light pulses (e.g., TI and T2 shown in FIG. 8 such that the time intervals between laser pulses are variables. While introducing a purely-random time interval may help to reduce the range ambiguity, there may be problems. For example, referring to FIG. 9B, for a particular transmission light pulse, it has eight neighboring transmission light pulses (in both the vertical and horizontal scanning directions). The randomly-introduced time intervals or time delays for a particular transmission light pulse may cause its time position to be very close to one of its eight neighbors. Therefore, randomly-introduced time intervals or time delays may not help to always identify the correct transmission light pulse for a particular received return light pulse, or may still result in a false detection. As such, purely-random time intervals may not be usedto significantly reduce or eliminate the range ambiguity or aliasing. Moreover, purely- random time intervals may introduce accumulated differences in the density of points in a point cloud generated by the LiDAR system. As a result, it may cause one scan line in the point cloud to have a higher data point density than another scan line. The data point density variation may cause data point shifting and / or missing data points in the point cloud data. This in turn may cause the perception algorithm to see no objects while the objects actually exist at the location in the FOV. It therefore can be particularly dangerous if the LiDAR system is used for a self-driving vehicle.
[0116] Systems and methods described in this disclosure use a timing jitter pattern that includes non-random timing jitters and optionally random timing jitters, for correctly and accurately rejecting false distance calculations caused by range ambiguity and / or interferences. FIG. 9A shows an illustrative LiDAR system 900 that is configured to significantly reduce or eliminate range ambiguity and interferences using the timing jitter pattern described herein, according to some embodiments. System 900 can include a transmitter 910, an optical receiver and light detector 952, a steering mechanism 945, control circuitry 960, and an imaging system 980. Components of LiDAR system 900 may be substantially the same or similar to those LiDAR system 300 described above. For illustration purposes and simplicity, other components and systems may exist as part of the LiDAR system 900 but are not shown in FIG. 9 A. In FIG. 9 A, transmitter 910 can include a clock 912, a repetition rate / time interval adjustment circuitry 920 (herein after referred to as the time interval adjustment circuitry 920), control circuitry 930, and light source 940. Clock 912 may be a system clock that serves as a reference clock for one or more components in system 900. A reference clock may be necessary for synchronization between the transmitter 910, the control circuitry 960, the optical receiver and light detector 952, and other components of the LiDAR system 900.
[0117] With reference still to FIG. 9A, light source 940 emits transmission light pulses 914, which are provided to steering mechanism 945 for scanning the FOV of the LiDAR system 900. Time interval adjustment circuitry 920 may be operative to control and / or adjust the repetition rate / time interval of the transmission light pulses 914 provided by light source 940, according to a timing jitter pattern 922. In one example, a timing jitter pattern 922 described herein is provided to, or generated by, time interval adjustment circuitry 920. The timing jitter pattern may be a first timing jitter pattern that includes predetermined non-random timing jitters. The first timing jitter pattern is determined based on conditions like theLiDAR system’ s operational requirements. The timing jitters in the first timing jitter pattern are formed such that they are within a jitter range and have a minimum jitter difference between any two neighboring timing jitters. In other examples, timing jitter pattern 922 provided to, or generated by, the time interval adjustment circuitry 920 may be a second timing jitter pattern. The second timing jitter pattern can be the first timing jitter pattern superimposed with random timing jitters. The first and second timing jitter patterns are described below in greater detail.
[0118] Time interval adjustment circuitry 920 can vary the repetition rate / time intervals for neighboring transmission light pulses such that successive transmission light pulses have varied repetition rate / time intervals according to the timing jitter pattern 922. The time intervals between successive transmission light pulses transmitted based on timing jitter pattern 922 are varied but not purely random. Thus, the timing jitters in timing jitter pattern 922 are not purely random. As described above, purely-random time intervals may cause a transmission light pulse to be transmitted too close to a neighboring light pulse, which in turn causes false detection or misdetection.
[0119] With reference still to FIG. 9A, as described above, the timing jitter pattern 922 is used to control the time positions of the transmission light pulses 914. In particular, control circuitry 960 (e.g., substantially the same or similar as control circuitry 350 in FIG. 3) may receive the timing jitter pattern 922 from time interval adjustment circuitry 920 for each transmission light pulse. Control circuitry 960 may cause light source 940 to transmit laser light pulses in accordance with the timing jitter pattern 922. FIG. 9B illustrates example timing diagrams of transmission light pulses with and without timing jitter, and possible return light pulses and their time positions. The time positions of the transmission light pulses may correspond to the laser triggering time positions, with no or minimum differences. With reference to FIG. 9B, timing diagram 915 illustrates time positions of the transmission light pulses Cl, C2, C3, and C4 having no timing jitters. That is, if no timing jitters are applied to the laser triggering, the transmission light pulses Cl, C2, C3, and C4 are transmitted at fixed time intervals. That is, the time intervals between any two successive transmission light pulses are identical (denoted by f).
[0120] Timing diagram 925 in FIG. 9B illustrates time positions of the transmission light pulses that are transmitted according to a timing jitter pattern described herein. As shown, for a first transmission light pulse Tl, a timing jitter ji is applied. Therefore, rather than transmitting at the nominal time position tvi, the first transmission light pulse Tl istransmitted at the time position tn, where tTi=tvi+ji. In this example, timing jitter ji is -21 ns. Therefore, the time position of the first transmission light pulse Ti is thus tn = (tvi-21) ns. In other words, the first transmission light pulse Tl is transmitted 21 ns before the nominal time position tvi (which can be the same as time position of the light pulse Cl in timing diagram 915 when there is no timing jitter applied). Next, the second transmission light pulse T2 is transmitted at the time position to by applying the timing jitter j 2. As shown in FIG. 9B, if there is no timing jitter applied, the nominal time position tv2 for transmitting the second transmission light pulse T2 should thus be tv2 = (tri+t), where t denotes the length of a firing cycle when there are no timing jitters. A firing cycle is defined by the time interval between the time positions of transmitting two successive transmission light pulses, or the time interval between two successive laser triggers. Thus, when there are no timing jitters, as shown in timing diagram 915, the length of a firing cycle is always t. The length of the firing cycle is the inverse of the repetition rate or the laser triggering rate or the pulse repetition rate. In timing diagram 925, the time position of the second transmission light pulse T2 is thus to = (tv2+j2), where tv2 denotes to the nominal time position if there is no timing jitter applied in this firing cycle. In one example, j2 is -3 ns, and therefore the time position of the second transmission light pulse T2 is tn = (tv2-3) ns.
[0121] Similarly, FIG. 9B shows that the third transmission light pulse T3 is transmitted at the time position tn, which is equal to (tvs+j 3). The time position tv3 is the nominal time position for the third transmission light pulse if there is no timing jitter. That is, tv3 is equal to (ta+t). In this example, timing jitter j 3 can be, for example, -15 ns. Thus, the time position t is tv3-15 ns. Similarly, the fourth transmission light pulse T4 is transmitted at the time position tT4, which is equal to (tv4+j4), where tv4 is the nominal time position for the fourth transmission light pulse T4 if there is no timing jitter, and j4 is the timing jitter applied to the fourth transmission light pulse T4. In one example, timing jitter j 4 is -9 ns. Therefore, the fourth transmission light pulse T4 is transmitted at the time position (tv4-9) ns.
[0122] As can be seen from the timing diagram 925, the time intervals between neighboring transmission light pulses are varied and are not always equal to the time period of the firing cycle t. For example, the first time interval between the first and second transmission light pulses Tl and T2 is equal to (t+j2); the second time interval between the second and third light pulses is equal to (t+j 3); and the third time interval between the third and fourth light pulses is equal to (t+j 4), and so on. In the above examples, the first, second, and third time intervals are thus (t-21), (t-3), and (t-15). Variable time intervals controlled by a timing jitterpattern described herein can be used to reject false distance calculations, and therefore resolve range ambiguity and interference as described below.
[0123] With reference back to FIG. 9 A, a receiver of LiDAR system 900 can include an optical receiver and light detector 952, control circuitry 360, and imaging system 380. Optical receiver and light detector 952 may detect return light pulses originating from transmission light pulses that are reflected or scattered back from one or more objects. It can be substantially the same or similar to optical receiver and light detector 330 in FIG. 3. FIG. 9B shows a timing diagram 935 that have three example return light pulses Rl, R2, and R3 received at time positions tRi, tR2, and tR3, respectively. As can be seen from FIG. 9B, the first return light pulse Rl is received at time position tRi, which may have two preceding transmission light pulses T1 and T2 at time positions tn and tn. Time positions tn and tn correspond to the light pulses transmitted in the two immediately-preceding firing cycles before the first return light pulse Rl is received at time position tRi. Thus, with respect to first return light pulse Rl, T2 is the last transmission light pulse and T1 is the second-last transmission light pulse.
[0124] FIG. 9B also shows that the second return light pulse is received at time position tR2, which may have three preceding transmission light pulses Tl, T2, and T3 at time positions tn, tn, and t , respectively. Among the three time positions, time positions tn and t correspond to the light pulses transmitted in the two immediately-preceding firing cycles before the second return light pulse R2 is received at time position tR2. Thus, with respect to second return light pulse R2, T3 is the last transmission light pulse, T2 is the second-last transmission light pulse, and Tl is the third-last transmission light pulse. Similarly, the third return light pulse R3 is received at time position tR3, which may have four preceding transmission light pulses T1-T4. And time positions tn and tn correspond to the light pulses transmitted in the two immediately-preceding firing cycles before the third return light pulse R3 is received at time position tR3.
[0125] With reference back to FIG. 9A, control circuity 960 may receive the timing jitter pattern 922 from time interval adjustment circuitry 920. From the timing jitter pattern 922, the control circuitry 960 can determine the absolute time position at which the light source 940 should fire laser light pulses as described above using FIG. 9B. The control circuitry 960 can use the timing jitter pattern 922 for analyzing the correspondence between any particular return light pulse and one or more transmission light pulses; and make rejection to the false distance calculations to provide filtered results. With reference to FIG. 9B, in some examples,for any particular return light pulses Rl, R2, or R3 received at time positions tRi, tR2, or tR3, the control circuitry 960 calculates object distances using the two time positions corresponding to the light pulses transmitted in the two immediately-preceding firing cycles before the particular return light pulse is received. This is referred to as the two-cycle calculation. In other examples, for any particular return light pulse, the control circuitry calculates object distance using three time positions corresponding to the light pulses transmitted in the two immediately-preceding firing cycles before the particular return light pulse is received. This is referred to as the three-cycle calculation.
[0126] In general, the object distance calculations may use two, three, or more time positions of transmission light pulses (corresponding to two, three, or more firing cycles) for one particular return light pulse. For instance, with respect to return light pulse Rl received at time position tRi, the time positions tn and tn may be used for object distance calculation. With respect to return light pulse R2 received at time position tR2, the time positions tn and t may be used for object distance calculation; and so forth. If three firing cycles are used, for the return light pulse Rl, the time positions for the transmission light pulses Tl, T2, and T3 are used for object distance calculation; and for the return light pulse R2, the time positions of transmission light pulses T2, T3, and T4 are used for object distance calculation. The timing jitter pattern described herein can provide, at least for two or three firing cycles, accurate determination as to the correspondence between a return light pulse and a transmission light pulse, and filter out any noise or false calculations of object distances. The details of the timing jitter pattern and filtering of the distance calculations are described in greater detail below. With reference back to FIG. 9A, the control circuitry 960 can provide the filtered results to imaging system 980. Imaging system 980 may construct a 2D or 3D image or point cloud of the environment being scanned by LiDAR system 900.
[0127] FIG. 9B only illustrates timing diagrams for scanning in one dimension. For example, timing diagram 925 only shows that in one scanning dimension (e.g., the horizontal scanning direction), a particular transmission light pulse has two neighboring pulses. For example, transmission light pulse T2 at time positions tn has two neighboring transmission light pulses Tl and T3 at time positions tn and tn. In other words, transmission light pulses Tl and T2 are successive pulses. Similarly, pulses T2 and T3 are successive pulses. As described above, for a two-dimensional scanning (e.g., both horizontal and vertical scanning), a transmission light pulse may have eight neighboring pulses. FIG. 9C shows an illustrative laser pulse pattern that may be provided by LiDAR system 900, according to an embodiment.LiDAR system 900 may transmit a plurality of transmission light pulses in an array 990 that enables system 900 to scan an FOV (e.g., a two- or three- dimensional space). This array of light pulses 990 can be transmitted in an image capturing cycle (also referred to as a data collection cycle) such as a frame. Objects within the FOV can form return light pulses, which are directed back to the system 900, which receives the return light pulses. Based on the return light pulses, LiDAR system 900 can generate data points to construct an image or a point cloud of objects within the FOV.
[0128] The methods and algorithms for transmitting the array of light pulses 990 and how the data is interpreted are described herein. LiDAR system 900 may be designed to scan an FOV in two dimensions, e.g., a horizontal dimension and a vertical dimension, or any two orthogonal directions. The below description uses the horizontal and vertical dimensions of a FOV as an example. FIG. 9C illustrates that the scanning angles of the vertical dimension of the FOV are shown as P0, Pl, P2, through PN, and the scanning angles of the horizontal dimension of the FOV are shown as the sequence of dashed lines corresponding to each angle of the vertical dimension of the FOV. At vertical scanning angle P0, for example, a laser light pulse is transmitted at each dashed line, corresponding to pulses Tlo, T2o, T3o, T4o through TNo. The 0 subscript corresponds to the P0 angle. Similarly, at vertical scanning angle Pl, a laser pulse is transmitted at each dashed line, corresponding to pulses Th, T2i, T3i, T4i through TNi. The 1 subscript corresponds to the Pl angle. Laser light pulses are transmitted at each of the time positions (dashed lines) as shown for all vertical and horizontal scanning angles. The image capture cycle may include one complete scan of all transmission light pulses for all horizontal and vertical angles. For example, the image capture cycle may start at time position of pulse Tlo and end at time position of pulse TNN. The data obtained in one image capture cycle is referred to as one frame of data.
[0129] Similar to those described in FIG. 9B, the time intervals between neighboring transmission light pulses can be varied in both the horizontal and vertical dimensions, according to a timing jitter pattern. Thus, for example, in the horizontal direction, the time interval between time positions of pulses Tlo and T2o is different than the time interval between time positions of pulses T2o and T3o; and the time interval between time positions of pulses T2o and T3o is different than the time interval between time positions of pulses T3o and T4o, and so forth. In the vertical dimension, time intervals may be the same or may also vary between adjacent vertical angles. For example, the time interval between time positions of pulses Tlo and T2o (both at vertical angle P0) may be the same as or different than the timeinterval between time positions of pulses Th and T2i (both at vertical angle Pl); and the time interval between time positions of pulses T2o and T3o may be the same as or different than the time interval between time positions of pulses T2i and T3i, and so forth. Moreover, the time interval between time positions of pulses Th and T2i (both at vertical angle Pl) may be the same as or different than the time interval between time positions of pulses Th and T22 (both at vertical angle P2). As shown in FIG. 9A, control circuitry 960 receives the timing jitter pattern 922, and therefore can control the time intervals between neighboring transmission light pulses according to the timing jitter pattern 922.
[0130] FIG. 10A is an example timing jitter pattern 1000 that has predetermined non-random timing jitters, according to some embodiments. The timing jitters in the timing jitter pattern 1000 form an array having a plurality of rows 1002, 1004, 1006, 1008, and so forth. Each row of the plurality of rows comprises multiple timing jitters for applying to corresponding transmission light pulses transmitted in a horizontal scan direction. And different rows comprise timing jitters for applying to corresponding transmission light pulses transmitted at different vertical angles in a vertical scan direction. For example, timing jitter pattern 1000 can be used by the control circuitry 960 to transmit the array of light pulses 990 in two orthogonal directions (e.g., a horizontal direction and a vertical direction). Timing jitter pattern 1000 has predetermined non-random timing jitters. Each of the timing jitter in pattern 1000 can be applied to a corresponding time position of a transmission light pulse similar to that described above using timing diagram 925 in FIG. 9B, while a in two-dimensional manner. For instance, with reference to FIGs. 9C and 10 A, the first row 1002 of timing jitter pattern 1000 includes timing jitters the can be applied to a row of time positions in a horizontal scanning direction at the first vertical angle P0. The second row 1004 of timing jitter pattern 1000 includes timing jitters that can be applied to a row of time positions in a vertical scanning direction at the second vertical angle Pl; the third row 1006 of timing jitter pattern 1000 includes timing jitters that can be applied to a row of time positions in a vertical scanning direction at the third vertical angle P2; and so forth. At each vertical angle, the row of timing jitters can be applied the same as or similar to that described above using timing diagram 925 in FIG. 9B. Thus, for example, for the row 1002, the first timing jitter (i.e., -21 ns) is applied to adjust the time position of pulse Tlo at which the first transmission light pulse is transmitted; the second timing jitter (i.e., -3 ns) is applied to adjust the time position of pulse T2o at which the second transmission light pulse is transmitted; and so forth. For the row 1004, the first timing jitter (i.e., 21 ns) is applied to adjust the time position of pulse That which the first transmission light pulse is transmitted; the second timing jitter (i.e., 3 ns) is applied to adjust the time position of pulse T2i at which the second transmission light pulse is transmitted; and so forth. The timing jitter pattern 1000 can therefore be applied to adjust all time positions for transmitting the array of light pulses 990.
[0131] Because at each time position, a timing jitter is applied to adjust the time position for transmitting a light pulse, the time intervals between successive transmission light pulses are varied. The time intervals are therefore variable time intervals in one or both scanning directions, as described above. The control circuitry 960 thus control the transmission of each light pulse at a time position determined based on a fixed pulse repetition rate (e.g., 2 is) and a respective timing jitter for the transmission light pulse (e.g., -21 ns, -3 ns, -15 ns, etc.). The fixed pulse repetition rate corresponds to a fixed time period (e.g., denoted by t shown in FIG. 9B) between nominal time positions for transmitting successive light pulses. The timing jitters in the pattern 1000 are applied to each of the light pulses on top of the fixed time period, as described above using timing diagram 925 of FIG. 9B.
[0132] A timing jitter pattern like pattern 1000 can be generated such that they satisfy certain conditions or constraints. Time interval adjustment circuitry 920 or another circuitry can generate such a timing jitter pattern. Time interval adjustment circuitry 920 can include one or more components shown in device 600 (e.g., a processor) in FIG. 6. In some examples, a timing jitter pattern can be pre-generated by using a computing device such as the one described in FIG. 6 and provided to time interval adjustment circuitry 920.
[0133] Using timing jitter pattern 1000 as an example, it can be formed such that timing jitters in the timing jitter pattern 1000 are constrained within a jitter range. As shown in FIG. 10A, in this example, the timing jitters in pattern 1000 are constrained in the range of -21 ns to +21 ns. As another example of the constraint for generating timing jitter pattern 1000, any two neighboring timing jitters in the timing jitter pattern 1000 satisfy a minimum jitter difference. For example, as shown in FIG. 10A, a sub-array 1010 of timing jitters include nine neighboring timing jitters. Among the nine neighboring timing jitters, any two of them have a minimum jitter difference of at least 6 ns. For instance, in row 1004 of sub-array 1010, the timing jitter of 3 ns has eight neighboring timing jitters, including -21 ns, -3 ns, and -15 ns at row 1002; 21 ns and 15 ns at row 1004; and -21 ns, -3 ns, and -15 ns at row 1006. The timing jitter differences between the timing jitter of 3 ns at row 1004 and its eight neighboring are at least 6 ns. Specifically, with respect to the timing jitter of 3 ns at row 1004, the timing jitter differences between it and the three neighboring timing jitters at row1002 are 24 ns, 6 ns, and 18 ns; the timing jitter differences between it and the two neighboring timing jitters at row 1004 are 18 ns and 12 ns; and the timing jitter differences between it and the three neighboring timing jitters at row 1006 are 24 ns, 6 ns, and 18 ns. That is, the minimum timing jitter difference is 6 ns. The minimum timing jitter difference and limiting the timing jitters in a predetermined range can prevent or significantly reduce the likelihood that a transmission light pulse is transmitted too close to one of its neighboring transmission light pulse. In turn, this prevents or significantly reduces the likelihood of range ambiguity because the control circuitry 960 cannot determine the correspondence between a return light pulse and the transmission light pulses in the preceding two or three firing cycles. Thus, with respect to a particular return light pulse (e.g., R1 in FIG. 9B), timing jitter pattern 1000 can be used to mitigate or eliminate range ambiguity caused by any of two transmission light pulses in the preceding two firing cycles (e.g., pulses T1 and T2) or caused by any of the nine neighboring transmission light pulses (e.g., Th, T22, T32, Th, T2i, T3i, Th, T2o, and T3o shown in FIG. 9C).
[0134] A timing jitter pattern can be configured based on additional constrains such that the control circuitry 960 can resolve range ambiguity for more firing cycles (e.g., three firing cycles in the same scanning direction). FIG. 10B illustrates an example accumulative timing jitter pattern 1001 derived based on timing jitter pattern 1000. According to some embodiments, pattern 1001 is a two-cycle accumulated timing jitter pattern derived from pattern 1000. Pattern 1001 is formed by accumulating timing jitters in the timing jitter pattern 1000 for any two successive firing cycles. As described above, a firing cycle is defined by the time period between time positions of transmitting two successive transmission light pulses. As shown in FIG. 10B, for example, in row 1012 of pattern 1001, the first timing jitter is -24 ns, which is the sum of the first and second timing jitter in row 1002 of pattern 1000 (i.e., -21 - 3 ns); the second timing jitter is -18 ns, which is the sum of the second and third timing jitter in row 1002 of pattern 1000 (i.e., -3 -15 ns); and so forth. Therefore, pattern 1001 is a two-cycle accumulated timing jitter pattern derived from pattern 1000. In pattern 1001, the timing jitters are accumulated for only two cycles.
[0135] In some examples, the timing jitters in the timing jitter pattern 1000 are formed based on an additional constraint that any two neighboring two-cycle accumulated timing jitters in the two-cycle accumulated timing jitter pattern satisfy the minimum jitter difference. Referring to FIG. 10B, using sub-array 1020 of pattern 1001 as an example, the differences between a particular two-cycle accumulated timing jitter and any of the eight neighboringtiming jitters also satisfy a minimum difference. Using the timing jitter of 18 ns at the row 1014 as an example, its eight neighboring timing jitters in sub-array 1020 are -24 ns, -18 ns, and -24 ns at row 1012; 24 ns and 24 ns at row 1014; and -24 ns, -18 ns, and -24 ns at row 1016. The timing jitter differences between the timing jitter of 18 ns at row 1014 with its eight neighboring timing jitters are 42 ns, 36 ns, and 42 ns for row 1012; -6 ns and -6 ns for row 1014; and 42 ns, 36 ns, and 42 ns for row 1016. Thus, the minimum timing jitter difference (absolute value) for the two-cycle accumulated timing jitters pattern 1001 is also 6 ns. Accordingly, the timing jitter pattern 1000 satisfies this additional constraint that its two- cycle accumulated timing jitter pattern meets the minimum timing jitter difference requirement. This can be important for the control circuitry to resolve range ambiguity with respect to three firing cycles. For example, since timing jitter pattern 1000 satisfies this additional constraint, applying this timing jitter pattern 1000 to control the transmission of the light pulses prevents or significantly reduces the likelihood of range ambiguity because the control circuitry 960 cannot determine the correspondence between the return light pulse and the transmission light pulses in the preceding three firing cycles. Thus, with respect to a particular return light pulse (e.g., R2 in FIG. 9B), timing jitter pattern 1000 can be used to mitigate or eliminate range ambiguity caused by any of three transmission light pulses in the preceding two firing cycles (e.g., pulses Tl, T2, and T3) or caused by any of the sixteen neighboring transmission light pulses (e.g., Th, T22, T32, T42, Th, T2i, T3i, T4i, Tlo, T2o, T3o, and T4o shown in FIG. 9C). In the examples disclosed herein, a transmission light pulse has eight neighboring pulses. The actual number of neighboring pulses may depend on the scan pattern. For instance, if each scan line is aligned with other scan lines, a transmission light pulse may be eight neighboring pulses. However, if each odd scan line is shifted by a half firing cycle from the even scan line, a transmission light pulse may have just six neighboring pulses. It is understood that while the present disclosure uses eight neighboring pulses for illustration, the methods and technologies described herein can also be applied when there are fewer numbers of neighboring pulses.
[0136] In some embodiments, there may be other constraints for constructing a timing jitter pattern. For example, one such constraint can be that for each row of the plurality of rows in the timing jitter pattern 1000, an accumulated timing jitter across all the timing jitters (e.g., all firing cycles) in the row is approximately zero. In reality, each row of the timing jitter pattern may have a few hundred or thousands of timing jitters. And the sum of the all the timing jitters can be forced to approximately zero. In this manner, the scanning of thehorizontal direction between two different vertical angles may not be too different timing wise, and the scanlines at different vertical angles may not be offset too much.
[0137] A timing jitter pattern may be arranged such that each row of the plurality of rows in the timing jitter pattern 1000 comprises a plurality of positive timing jitters and a plurality of negative timing jitters. The positive timing jitters and the negative timing jitters are alternately arranged in the row, and the accumulated timing jitters are forced to be approximately zero as described above. For instance, FIG. 10A shows that row 1002 has negative timing jitters, it may also include positive timing jitters (not shown) with the same absolute values as the negative timing jitters but with the opposite sign. This way, the accumulated timing jitter for all timing jitters in row 1002 can be forced to approximately zero.
[0138] In some examples, as shown in FIG. 10 A, for pattern 1000, corresponding timing jitters in two neighboring rows of the plurality of rows in the array have the same values but opposite signs. For instance, row 1002 of pattern 1000 includes timing jitters having a negative sign; while the row 1004 of pattern 1000 includes timing jitters having a positive sign. But the corresponding timing jitters in rows 1002 and 1004 have the same absolute values. It is understood, however, there are different ways to configure the timing jitters in a timing jitter pattern. For instance, corresponding timing jitters in two neighboring rows of the plurality of rows in the array may have different values and opposite signs. Such a pattern 1003 is illustrated in FIG. 10C. In pattern 1003, the first row has timing jitters that are all negative, where the second row has timing jitters that are all positive; and the absolute values of the corresponding timing jitters in the two rows are different.
[0139] FIG. 10D illustrates another example timing jitter pattern 1005, in which each row includes both the negative and positive timing jitters, and the absolute values of the timing jitters between different rows are also different. Timing jitter pattern 1003 and 1005, however, also satisfy the constraints imposed on timing jitter pattern 1000. For instance, for patterns 1003 and 1005, all the timing jitters are also configured within a jitter range, such that any timing jitter cannot be too large as to cause a skipped transmission light pulse. In addition, the timing jitter differences between any of the two neighboring timing jitters in patterns 1003 and 1005 satisfy a minimum jitter difference, such that two transmission light pulses will not be transmitted too close to each other to cause further range ambiguity.
[0140] A timing jitter pattern described herein can be determined based on the one or more constraints such as the jitter range and the minimum jitter difference. In some embodiments, the jitter range and the minimum jitter difference are determined based on at least one of: the LiDAR system’s maximum detection range, a pulse repetition rate of the transmission light pulses, or a light detector resolution. In general, the LiDAR system’s minimum jitter difference requirement depends on the light detector’s distance resolution (e.g., the minimum distance between two return light pulses which the light detector can separate them). Typically, the higher the detector’s distance resolution, the smaller the minimum jitter difference can be. In some scenarios, other factors (e.g., measurement errors) may need to be taken into account when determining the minimum jitter difference such that adequate margin is provided. The maximum detection range may have an impact to the number of firing cycles that should be considered when determining the minimum jitter difference and / or jitter range. The maximum detection range is typically related to the pulse repetition rate (sometimes also referred to as the laser triggering rate). For example, the LiDAR system’s maximum detection range may be 150 meters, 300 meters, 600 meters, or other numbers, corresponding to a pulse repetition rate of 1000 KHz, 500 KHz, 250 KHz, etc. If a LiDAR system is configured to only detect signals at maximum of 500 meters with a 250 KHz pulse repetition rate, only one firing cycle may need to be considered for determining the minimum jitter difference and / or the jitter range. With higher pulse repetition rate (meaning reduced maximum detection range), a greater number of firing cycles may need to be considered for determining the minimum jitter difference and / or jitter range. For example, if the LiDAR system has a pulse repetition rate of 500 KHz or 1000 KHz, two or three firing cycles with variable time delays may need to be considered, respectively.
[0141] By using the timing jitter patterns described above (e.g., patterns 1000, 1001, 1003, or 1005), range ambiguity can be significantly reduced or eliminated. The timing jitter patterns described above can also be used to filter out noise or interference return light pulses generated by other LiDAR systems. For example, if the other LiDAR systems do not use the same timing jitter patterns, the current LiDAR system applying the timing jitter pattern can distinguish between the desired return light pulses and the interference return light pulses, and identify the correct correspondence between the transmission light signals and the return light signals. In some scenarios, however, other LiDAR systems may use the same or similar timing jitter patterns as the current LiDAR system. That is, two or more LiDAR systems (e.g., system 700 and 710 in FIG. 7) may use the same or similar timing jitter pattern. As aresult, the interference return light pulses formed by reflecting transmission light pulses from one LiDAR system may not be easily distinguished from the desired return light pulses for the other LiDAR system. To reject these types of interference return light pulses, a timing jitter pattern described above may be superimposed with random timing jitters, such that the resulting timing jitter patterns uniquely identify a LiDAR system.
[0142] In particular, to better reject interference return light pulses, a LiDAR system (e.g., system 300 or 900) can transmit a plurality of transmission light pulses according to a second timing jitter pattern. The second timing jitter pattern includes the first timing jitter pattern superimposed with random timing jitters. The first timing jitter pattern is a pattern with predetermined non-random timing jitters (e.g., patterns 1001, 1003, 1005, and 1007). As described above, the first timing jitter pattern is predetermined to reduce or eliminate range ambiguity such that a return light pulse is correlated to its transmission light pulse among two or more successive transmission light pulses transmitted immediately before receiving the return light pulse. But if another LiDAR system uses the same or similar timing jitter pattern, the first timing jitter pattern may not be sufficient to reject some interference return light pulses from the another LiDAR system. In this case, the first timing jitter pattern may be superimposed with random timing jitters. The random timing jitters are randomly selected, and can have small numbers (e.g., no greater than 3 ns). When the random timing jitters are small, they may not affect the constraints of the first timing jitter pattern. For example, the random timing jitters should not affect or significantly affect the minimum timing jitter differences between the neighboring timing jitters, or the overall timing jitter range. As described below, when random timing jitters are included, one or more transmission light pulses are uncorrelated with an interference return light pulse. As such, one or more calculated object distances are not correlated. In turn, this facilitates rejecting interference return light pulses received from one or more other LiDAR systems. Particularly, the random timing jitters may reduce the chance of interference when two LiDAR systems use the same pattern.
[0143] With reference back to FIG. 9A, after steering mechanism 945 scan the transmission light pulses at the time positions based on the timing jitter pattern, optical receiver and light detector 952 receive a plurality of return light pulses from external of the LiDAR system 900. The return light pulses include, for example, a first return light pulse and one or more neighboring return light pulses of the first return light pulse. As shown in FIG. 9B, three example return light pulses Rl, R2, and R3 are received at time positions tRi, tR2, and tR3.The return light pulses are formed based on at least the plurality of transmission light pulses emitted by the LiDAR system 900. In some cases, the return light pulses may include interference return light pulses (e.g., from another LiDAR system).
[0144] Given the timing jitter pattern (either the first timing jitter pattern having no random timing jitters or the second timing jitter pattern having random timing jitters), the control circuitry 960 can calculate object distances for the return light pulses including both desired return light pulses and interference return light pulses. The control circuitry 960 can reject, based on filter criteria, one or more uncorrelated object distances of the calculated object distances. The uncorrelated object distances correspond to at least: one or more transmission light pulses that are uncorrelated with any of the plurality of return light pulses caused by a range ambiguity. As described above, if there are interference return light pulses, the uncorrelated object distance may also correspond to one or more transmission light pulses that are uncorrelated with an interference return light pulse. After filtering, the control circuitry 960 can provide remaining object distances for generating point cloud data.
[0145] FIG. 11 is a block diagram of a control circuitry 1100 of a LiDAR system configured to perform object distance calculations using a timing jitter pattern (with or without random timing jitters). Control circuitry 1100 may include an object distance calculator and filter 1106, which may include hardware circuits (e.g., implemented by a processor, a GPU, a FPGA) and / or a software program. Control circuitry 1100 can be circuitry 960 or 350 described above, and can be used to correctly identify objects at particular distances while eliminating or reducing range ambiguity and interferences, when LiDAR system 300 or 900 is operating at much high repetition rates than those of conventional LiDAR systems. Object distance calculator and filter 1106 can include an object distance calculator 1110, object filter 1120, and filtered distance objects 1130. Object distance calculator and filter 1106 is able to accurately determine the distance of an object by taking into account the variable time interval between the transmission light pulses as determined by the timing jitter pattern and by applying one or more filters to reject distance calculations that do not meet the appropriate criteria (i.e., uncorrelated distances).
[0146] Object distance calculator and filter 1106 of control circuitry 1100 may receive the timing jitter pattern 1104 from time interval adjustment circuitry 1102. Timing jitter pattern 1104 can be any of patterns 1000, 1001, 1003, and 1005, or these patterns superimposed with random timing jitters. As described above in connection with FIG. 9B, based on a timing jitter pattern, variable time intervals between successive transmission light pulses can bedetermined. For example, as shown in FIG. 9B, based on timing jitters j 1, j 2, j 3, and j4, the time intervals between successive transmission light pulses can be obtained. The timing jitter pattern 1104 can be either a pattern with non-random timing jitters or a pattern with nonrandom timing jitters superimposed with random timing jitters. Based on the variable time intervals derived from the timing jitter pattern 1104, the time positions for the transmission light pulses can be determined. For example, in FIG. 9B, the transmission light pulses Tl, T2, T3, and T4 are transmitted at time positions tn, tn, t , and tT4.
[0147] With reference to FIG. 11 and 12A, the object distance (OD) calculator 1110 can calculate several different distances, each corresponding to different time positions of the transmission light pulses. That is, for any particular return light pulse received by the LiDAR system, OD calculator 1110 can calculate a first object distance based on a time position of the particular return light pulse and a time position of the last transmission light pulse transmitted before receiving the particular return light pulse; and calculate a second object distance based on the time position of the particular return light pulse and a time position of the second-last transmission light pulse transmitted before receiving the particular return light pulse. That is, the OD calculator 1110 can be configured to calculate an object distance between any particular return light pulse with respect to two, three, or even more transmission light pulses transmitted before the particular return light pulse is received. In some examples, the time position of a transmission light pulse corresponds to when light source 940 (shown in FIG. 9A) is instructed to emit a transmission light pulse. Since light source 940 emits a transmission light pulse based on a variable time interval, OD calculator 1110 may perform object distance calculations for a moving window with respect to multiple time positions of transmission light pulses for at least two successive return light pulses. FIGs. 12A and 12B illustrate details.
[0148] FIG. 12A shows illustrative timing diagrams showing transmission light pulses, their corresponding time positions, neighboring return light pulses, and their corresponding time positions corresponding to two firing cycles. The first firing cycle (i.e., cycle 1) begins at tn or when the laser light source is triggered for transmitting the first light pulse Tl, which may be shortly before tn. Two transmission light pulses are shown as Ti, and T2, and their respective time positions are tn and tn. The transmission light pulses Tl and T2 are transmitted at time positions tn and tn, respectively. A first return light pulse R1 is received at the time position tRi. The second firing cycle (i.e., cycle 2) begins at tn or when the laser light source is triggered to transmit the second light pulse T2. Two transmission light pulsesare shown as T2 and T3, and a second return light pulse R2 is received at the time position tR2. The third firing cycle begins at to or when the laser light source is triggered shortly before t , and so on. It is understood that other transmission light pulses and / or return light pulses may also be transmitted and / or received in multiple firing cycles, and are not shown. For example, one or more interference return light pulses (not shown) from other LiDAR systems may also be received and may have different time positions as the return light pulses R1 and R2. The below descriptions use R1 and R2 as examples for calculating object distances, but similar calculations and filtering can be applied to interference return light pulses. As described above, for rejecting the interference return light pulses, a timing jitter pattern having both non-random timing jitters and optionally the random timing jitters can be applied.
[0149] In FIG. 12A, in some embodiments, the first return light pulse R1 and the second return light pulse R2 can be neighboring return light pulses received successively during a scan in a horizontal direction. Thus, the pulses R1 and R2 in FIG. 12A may correspond to, for example, pulses R1 and R2 of timing diagram 935 shown in FIG. 9B. In other examples, in FIG. 12A, the second return light pulse R2 is one of the eight neighboring return light pulses of the first return light pulse R1 in a horizontal, vertical, or diagonal direction. FIG. 9C above described a timing diagram showing the time positions of transmission light pulses in two-dimensions (e.g., the horizontal and vertical dimensions), and therefore, for any particular transmission light pulse, it has eight neighboring transmission light pulses. Similarly, the return light pulses may correspond to time positions in two-dimensions, resulting from the horizontal and vertical scanning of the LiDAR system. Thus, for any particular return light pulse, it may also have eight neighboring return light pulses in horizontal, vertical, and diagonal directions, similar to that shown in FIG. 9C for the transmission light pulses. The following description of distance calculation with respect to the return light pulses R1 and R2 can therefore be applied not only when R1 and R2 are successive return pulses received during a scan in a horizontal direction, but also when R1 and R2 are among the eight neighboring return light pulses in the horizontal, vertical, or diagonal directions.
[0150] In FIG. 12A, the time positions for the transmission light pulses Tl, T2, and T3 are shown as tn, tT2, and tn, respectively, and the time positions for return light pulses R1 and R2 are shown as tRi and tR2, respectively. The time intervals between successive transmission light pulses Tl, T2, and T3 are shown as Ml and M2, where Ml = (ta-tn) and M2 = (tn-to). Because the time positions tTl, tT2, and tT3 are determined based on the timing jitter pattern described above, the time intervals between successive transmission light pulses Tl, T2, and T3 are variables (e.g., M1^M2). The variable time intervals represent the varying repetition rate for transmitting successive transmission light pulses. The transmission light pulses Tl, T2, and T3 shown in FIG. 12A may correspond to transmission light pulses corresponding to a particular angle (e.g., one of angles PO, Pl, P2, through PN of FIG. 9C).
[0151] FIG. 12B shows object distances (OD) calculations for first and second return light pulses R1 and R2. When receiving the return light pulses R1 and R2, the LiDAR system does not know whether the first return light pulse R1 corresponds to transmission light pulses T2 or Tl (or if the pulse R1 corresponds to any transmission light pulses at all). The LiDAR system determines, however, that transmission light pulses Tl and T2 are both transmitted before the return light pulse R1 is received. The OD calculator 1110 can calculate two different distances: one with respect to transmission light pulse T2 (shown as ODI(RI)) and the other with respect to transmission light pulse Tl (shown as OD2(RI)). With respect to the first return light pulse Rl, the pulse T2 is the last transmission light pulse transmitted before receiving the return light pulse Rl; and the pulse Tl is the second-last transmission light pulse transmitted before receiving the return light pulse Rl. Similarly, transmission light pulses T2 and T3 are both transmitted before the return light pulse R2 is received. The OD calculator 1110 can calculate two different distances: one with respect to transmission light pulse T3 (shown as OD1(R2)) and the other with respect to transmission light pulse T2 (shown as OD2(R2)). With respect to the second return light pulse R2, the pulse T3 is the last transmission light pulse transmitted before receiving the return light pulse R2; and the pulse T2 is the second-last transmission light pulse transmitted before receiving the return light pulse R2. In some examples, the OD calculator 1110 can calculate using the third-last transmission light pulse. So for the second return light pulse R2, the OD calculator 1110 can also calculate a distance with respect to the transmission light pulse Tl . If the OD calculator 1110 calculates distances with respect two last transmission light pulses, it is sometimes referred to as the two-cycle calculation; and if it calculates distances with respect to three last transmission light pulses, it is referred to as the three-cycle calculation. Regardless of two- cycle or three-cycle calculations, the timing jitter pattern described above can be used to significantly reduce or eliminate range ambiguity and interference return light signals.
[0152] As described above, given the timing jitter pattern, the time positions for the transmission light pulses can be determined. In turn, the variable time intervals (e.g., Ml orM2) can be determined. Using this information and the formulas shown in FIG. 12B, the distances can be calculated. As an example, assuming that time position tRi is at 1.2 ps and Ml is 1 ps, ODI(RI) is calculated to be about 30 meters and OD2(RI) is calculated to be about 180 meters. Similarly, because the LiDAR system does not know whether the second return light pulse R2 corresponds to its last transmission light pulse T3 or to the second-last transmission light pulse T2, OD calculator 1110 can calculate two different distances: one with respect to the last transmission light pulse T3 (shown as OD1(R2)) and the other with respect to the second-last transmission light pulse T2 (shown as OD2(R2)). Following the example above, and assuming that tR2 is 2.2 ps and M2 is 1.2 ps, OD1(R2) is calculated to be about 13.5 meters and OD2(R2) is calculated to be about 180 meters. The two distances calculated with respect to first return light pulse R1 and the two distances calculated with respect to second return light pulse R2 cannot be both true object distances (or they may both be not true if R1 and / or R2 are interference return light pulses). In other words, at least some of the calculated distances are uncorrelated distances, meaning the a particular return light pulse is not correlated with a particular transmission light pulse. Therefore, one or more of these calculated object distances are uncorrelated and need to be filtered out or rejected.
[0153] With reference back to FIG. 11, after the OD calculator 1110 calculates the multiple object distances, object filter 1120 can apply filter criteria to reject one or more uncorrelated object distances. The uncorrelated object distances correspond to at least one of: one or more transmission light pulses uncorrelated with any of the plurality of return light pulses caused by a range ambiguity, or one or more transmission light pulses uncorrelated with an interference return light pulse. Continuing with the above example, based on one or more filter criteria, the object filter 1120 determines whether to reject one or both of distance objects OD1 and OD2.
[0154] FIGs. 12C and 12D illustrate some example filter criteria used for rejection. In some examples, the filter criteria are based on the assumption that a physical object (e.g. a pedestrian, a vehicle, a tree, a building, etc.) is continuous in the field-of-view of the LiDAR system, and that the angle between a line connecting consecutive scanning points landing on the object’s surface and the laser beam transmitted to scan the object surface is greater than a threshold. The second assumption is usually valid because if this angle is too small, the scattered light (which forms the return light pulse) will often be very weak due to a large incidence angle. In other words, if the LiDAR system receives a return light pulse that has a good signal intensity, it is likely that the second assumption is valid. Thus, if the LiDARsystem detects a positive return light pulse from an object at a given angle, at least one of its neighbor angles should give a positive return light pulse as well. For example, again using FIG. 9C for illustration as if the positions shown in FIG. 9C are all return light pulses positions (instead of transmission light pulses positions), if an object is detected at positions T2i and not detected at it neighboring positions Th, T3i or T2o, that same object should be detected at T22 (or a diagonal position like Th). In addition, the distance calculated for these two neighboring positive return light pulses should be less than a certain threshold distance (e.g., 5 meters), assuming that no object can move faster than a certain speed (e.g., 5 km / s) and the neighboring scan points are measured at a very short time interval (e.g. 1 us for scanning in the lateral direction, or 1 ms for scanning in the vertical direction). If only one particular positive return light pulse is obtained and none of its eight neighbor positions has corresponding return light pulses, the object filter 1120 can consider the particular positive return light pulse as a noise or false return. For example, referring again briefly to FIG. 9C for illustration, if a return light pulse is detected at time position T2i, but nothing within a reasonable distance (e.g. 5 meters) is detected at time positions T11, T3i, T2o, or T22, the object filter 1120 may reject the return light pulse at time position at T2i as noise or a false return light pulse possibly caused due to range ambiguity or aliasing, or interference.
[0155] Referring now to FIGs. 11 and 12C, based on the two-cycle distance calculations, the OD filter 1120 calculates a first difference between a first object distance (e.g., ODi(Ri)) and a third object distance (e.g., ODi(R2)). The first distance and third distance are both with respect to the last transmission light pulse of a respective return light pulse (e.g., the first return light pulse R1 and the second return light pulse R2). The OD filter 1120 also calculates a second difference between the second object distance (e.g., OD2(Ri)) and the fourth object distance (e.g., OD2(R2)). The second distance and fourth distance are both with respect to the second-last transmission light pulse of a respective return light pulse (e.g., the first return light pulse R1 and the second return light pulse R2). OD filter 1120 then compares the first difference with a distance threshold and compares the second difference with the distance threshold. OD filter 1120 rejects one or more of the first, second, third, and fourth object distances based on the comparison results.
[0156] For example, based on the two-cycle calculations, the OD filter 1120 can determine if the first difference is no greater than a threshold distance (e.g., 0.5-5 meters). If the first difference is greater than the threshold distance, it means the first and third object distances do not represent a continuous object surface. Therefore, they may be uncorrelated objectdistances caused by range ambiguity and / or interference return light signals. Similarly, the OD filter 1120 can determine if the second difference is no greater than a threshold distance. If the second difference is greater than the threshold distance, it means the second and fourth object distances do not represent a continuous object surface.
[0157] Examples of filtering are described below using FIGs. 11, 12C and 12D. In one example, object filter 1120 can apply a time-based filter by comparing object distances obtained with return light pulses associated with the same vertical scanning angle (e.g., angles P0, Pl, etc. in FIG. 9C). In particular, object filter 1120 can determine whether the absolute value of the difference between OD1(R2) and ODl(Ri) is less than a threshold (e.g. 5 meters). If that determination is true, the distance associated with OD1 is considered positive and is passed as a filtered distance object 1130. In other words, OD1(R2) and ODl(Ri) are correlated object distances. If that determination is false, the distance associated with OD1 is negative / fail and that distance is stored in memory. It means that the OD1(R2) and ODI(RI) may be uncorrelated object distances, but may need further determination. The negative / fail OD1 is labeled as NODI and stored in memory for subsequent analysis. Object filter 1120 also determines whether the absolute value of the difference between OD2(R2) and OD2(RI) is less than the same threshold. If that determination is true, the distance associated with OD2 is considered positive and is passed as a filtered distance object 1130. If that determination is false, the distance associated with OD2 is negative / fail and that distance is stored in the memory (and will be referred to below as N0D2) for further analysis.
[0158] As a continuation of the above example, if the threshold is set to 5 meters, then the OD1 filter would fail because 30-13.5 is 16.5 meters, which is greater than 5 meters, but the OD2 filter would pass because 180-180 is 0, which is less than 5 meters. In reality, this number may be a small non-zero number, such as, for example, one to five centimeters depending on the measurement uncertainty and movement of the object and LiDAR system. Based on this filter, OD1 would be rejected, and stored in the memory, and the OD2 distance of 180 meters would be passed as a filtered positive distance object 1130.
[0159] Thus, it is shown that by varying the time intervals according to the timing jitter patterns described above, the distance of objects (whether located near or far away from the LiDAR system) can be precisely calculated and mapped. This is because even though the objects, particularly the far-away objects, may cause range ambiguities (e.g., ghosts or aliasing) in determining which return light pulse corresponds to which transmission light pulse, the variance of the repetition rate / time interval based on the timing jitter patternproduces distance calculations that enable the uncorrelated object distances to be rejected. Based on the timing jitter patterns described herein, the time interval variation between the neighboring transmission light pulses is sufficiently different so that the filter criteria can be applied to the system with high confidence.
[0160] In some embodiments, as described above, the timing jitter patterns may have repeats (e.g., in row 1002 of pattern 1000, the first several timing jitters are -21, -3, -15, -9, -21, -3, - 13; and then the timing jitters begin repeating). As a result, the time intervals between neighboring transmission light pulses can repeat as a sequence of predetermined time intervals. For example, the sequence can include a fixed number of time intervals, each of which has a different length that satisfies a minimum delta requirement among adjacent time intervals to account for various tolerances in the LiDAR system. The sequence can be repeated as necessary to trigger transmission light pulses in accordance with the variable time intervals as discussed herein.
[0161] With reference to FIG. 12D, NODI and N0D2 can be used in a secondary verification to verify whether the return light pulses associated with the distance calculations NODI and N0D2 are valid. For example, NODI and N0D2 can be applied to a space-based filter, described below to verify whether the return light pulses associated with NODI and N0D2 are valid. The space-based filter can compare NODI and N0D2 to corresponding object distances at different vertical angles to determine whether any correlating return light pulses exist at adjacent vertical angles. Again using FIG. 9C as illustration (and viewing the dash lines of transmission light pulses in FIG. 9C as if they represent return light pulses), OD1 and OD2 calculated above are associated with respect to R1 and R2, which may be return light pulses associated with angle Pl. Object filter 1120 can correlate OD1 and OD2 with return light pulses at other neighboring angles (e.g., P0 and P2), and determine if the calculated object distances are correlated. With reference back to FIG. 12D, if no correlating return light pulses exist for NODI and N0D2 at adjacent angles (e.g., if the difference between NODI and N0D2 at two different angles Pl and P0 is no less than a threshold distance), then NODI and N0D2 can be rejected. If correlating return light pulses exist for NODI and N0D2 at adjacent angles (e.g., if the difference between NODI and N0D2 at two different angles Pl and P0 is less than a threshold distance), then NODI and N0D2 may be retained in memory for further analysis, which is described below in greater detail using FIG. 12D. The vertical angles refer to angles within the vertical field of view of a LiDAR system.
[0162] In the example shown in FIG. 11 and 12D, object filter 1120 can apply a space-based filter by comparing object distances between adjacent angles. For example, assume that the space-time filter produced N0D2 according to a first angle (e.g., angle P0) and N0D2 according to an adjacent angle (e.g., angle Pl). Object filter 1120 can determine whether the absolute value of the difference between NOD2(PO) and NOD2(pi) is less than a vertical distance threshold. If that determination is true, the distance associated with N0D2 is considered accurate and is passed as a filtered distance object 1130. The N0D2 are thus correlated object distances. If that determination is false, the distance associated with N0D2 is negative / fail and that distance is stored in the memory for further analysis. The N0D2 are thus uncorrelated object distances.
[0163] In some embodiments, variable time intervals obtained based on the timing jitter patterns described herein can be used to detect objects that are really far away. This can be accomplished by calculating and filtering object distances with respect to at least three successive transmission light pulses. This is referred to as the three-cycle distance calculation. It includes the two-cycle distance calculation described above, and additionally performs calculations with respect to a third-last transmission light pulse. Specifically, referencing FIG. 9B and assuming the first return light pulse is R2 and the second return light pulse is R3, the OD calculator 1110, with respect to the first return light pulse R2, calculates object distances between time positions of the first return light pulse R2 and each of a time position of the first-, second-, and third-last transmission light pulse T3, T2, and T1 transmitted before receiving the first return light pulse R2. With respect to the second return light pulse R3, the OD calculator 1110 calculates object distances between time positions of the second return light pulse R3 and each of a time position of the first-, second-, and third- last transmission light pulse T4, T3, and T2 transmitted before receiving the second return light pulse R3.
[0164] Next, the object filter 1120 calculates a first difference between the first object distance and the third object distance (e.g., the first distance and third distance are both for the last transmission light pulse); calculates a second difference between the second object distance and the fourth object distance (e.g., the second distance and fourth distance are both for the second-last transmission light pulse); calculates a third difference between the fifth object distance and the sixth object distance (e.g., the fifth distance and sixth distance are both for the third-last transmission light pulse); compares the first difference with a distance threshold; compares the second difference with the distance threshold; compares the thirddifference with the distance threshold; and rejects one or more of the first, second, third, fourth, fifth, and sixth object distances based on the comparison results. Therefore, similar to the two-cycle distance calculation process, the three-cycle distance calculation can allow the object filter 1120 to perform comparison and rejecting the uncorrelated object distances to remove range ambiguity and interference return light pulses.
[0165] In a specific example, referring to FIG. 9B, assume that return light pulse R2 is actually a return light pulse corresponding to the transmission light pulse T1 and that return light pulse R3 corresponds to the transmission light pulse T2, and return light pulse R1 does not exist. The LiDAR system can determine whether R2 corresponds to T3, T2, or T1 using embodiments discussed herein. In this example, OD calculator 1110 can calculate multiple object distances with respect to return light pulses R3 and R2 to determine the correct distance of pulse R2. For example, OD calculator 1110 can calculate the following object distance for return light pulse R3: one with respect to T4 (OD1(R3)), one with respect to T3 (OD2(R3)), and one with respect to T2 (OD3(R3)). OD calculator 1110 can calculate the following object distance for return light pulse R2: one with respect to T3 (OD1(R2)), one with respect to T2 (OD2(R2)), and one with respect to T1 (OD3(R2)). All of the object distances can be evaluated by one or more filters to determine which object distances should be accepted or rejected. For example, the OD1 filter can calculate the difference between (OD1(R3)) and (OD1(R2)) and compare it to a threshold, the OD2 filter can calculate the difference between (OD2(R3)) and (OD2(R2)) and compare it to the threshold, and the OD3 filter can calculate the difference between (OD3(R3)) and (OD3(R2)) and compare it to the threshold. In this particular example, the difference between (OD3(R3)) and (OD3(R2)) is approximately zero, thus indicating that the correct distance associated with R2 is correlated to transmission Tl. Thus, it should be appreciated that the variable time interval embodiments can be used to correctly determine the location of objects at any reasonable distance, including, for example, distances of 500 meters or more. Depending on the desired range of distance calculations, the system can calculate the requisite number of distance calculations needed to make the determination. The example above showed the system calculating distance calculations with respect to three successive transmission pulses (and FIG. 9 and FIG. 12 examples showed distance calculations with respect to two successive transmission pulses). If desired, the system can calculate distances with respect to any number of successive transmission pulses, using the number necessary to cover the desired range of object detection.
[0166] FIG. 13A is a flowchart illustrating an example method 1300 for operating a LiDAR system to eliminate or significantly reduce range ambiguity and / or interference using timing jitter patterns, according to some embodiments. With reference to method 1300, in block 1302, a transmitter (e.g., 910) of a LiDAR system (e.g., system 300 or 900) transmits, according to a first timing jitter pattern, a plurality of transmission light pulses in two orthogonal directions. The first timing jitter pattern includes predetermined non-random timing jitters satisfying one or more constraints. The first timing jitter pattern may be any of the patterns 1000, 1001, 1003, and 1005. The first timing jitter pattern represents variable time intervals between successive transmission light pulses of the plurality of transmission light pulses. In some examples, the transmitter transmits each transmission light pulse at a time position determined based on a fixed pulse repetition rate and a respective timing jitter for the transmission light pulse.
[0167] In some examples, the first timing jitter pattern is formed such that timing jitters in the first timing jitter pattern are constrained within a jitter range; and any two neighboring timing jitters in the first timing jitter pattern satisfy a minimum jitter difference. In addition, a two- cycle accumulated timing jitter pattern is formed by accumulating timing jitters in the first timing jitter pattern for any two successive firing cycles. A firing cycle is defined by the time between time positions of transmitting two successive transmission light pulses. The timing jitters in the first timing jitter pattern are formed based on an additional constraint that any two neighboring two-cycle accumulated timing jitters in the two-cycle accumulated timing jitter pattern satisfy the minimum jitter difference.
[0168] In some examples, the jitter range and the minimum jitter difference are determined based on at least one of: the LiDAR system’s maximum detection range; a pulse repetition rate of the transmission light pulses; and a light detector resolution.
[0169] In some examples, the timing jitters in the first timing jitter pattern form an array having a plurality of rows. Each row of the plurality of rows comprises multiple timing jitters for applying to corresponding transmission light pulses transmitted in a horizontal scan direction, and different rows corresponding to different vertical angles in a vertical scan direction. For each row of the plurality of rows in the first timing jitter pattern, an accumulated timing jitter across all the timing jitters in the row is approximately zero. In some examples, each row of the plurality of rows in the first timing jitter pattern comprises a plurality of positive timing jitters and a plurality of negative timing jitters, the positive timing jitters and the negative timing jitters are alternately arranged in the row. In some examples,corresponding timing jitters in two neighboring rows of the plurality of rows in the array have the same values but opposite signs. In some examples, corresponding timing jitters in two neighboring rows of the plurality of rows in the array have different values and opposite signs.
[0170] In some examples, transmitting of the plurality of transmission light pulses is according to the first time jitter pattern superimposed with random timing jitters. The first timing jitter pattern superimposed with random timing jitters form a second timing jitter pattern. The random timing jitters are randomly selected, and the one or more uncorrelated object distances further correspond to one or more transmission light pulses uncorrelated with an interference return light pulse. The interference return light pulses are received from one or more other LiDAR systems.
[0171] In block 1304, an optical receiver and light detector (e.g., 952) of the LiDAR system receives a plurality of return light pulses from external of the LiDAR system. The plurality of return light pulses includes a first return light pulse and one or more neighboring return light pulses of the first return light pulse. FIG. 9B illustrates, for example, a first return light pulse R2, and neighboring return light pulses R1 and R3. The plurality of return light pulses are formed based on at least the plurality of transmission light pulses.
[0172] In block 1306, for the first return light pulse and at least one neighboring return light pulse of the plurality of return light pulses, an OD calculator (e.g., 1110) of the LiDAR system calculates, based on the timing jitter pattern, a plurality of object distances to obtain calculated object distances. Such object distances can be, for example, ODl(Ri), OD2(RI), OD1(R2), OD2(R2), etc., as described above. Specifically, with reference to FIG. 13B, in a two- cycle calculation process 1320, for the first return light pulse, the OD calculator calculates (block 1322) a first object distance based on a time position of the first return light pulse and a time position of the last transmission light pulse transmitted before receiving the first return light pulse; and calculates (block 1324) a second object distance based on the time position of the first return light pulse and a time position of the second-last transmission light pulse transmitted before receiving the first return light pulse. The OD calculator further calculates (block 1326) a third object distance based on a time position of the second return light pulse and a time position of the last transmission light pulse transmitted before receiving the second return light pulse; and calculates (block 1328) a fourth object distance based on the time position of the second return light pulse and a time position of the second-last transmission light pulse transmitted before receiving the second return light pulse.
[0173] In some embodiments, the first return light pulse and the second return light pulse are neighboring return light pulses received successively during a scan in a horizontal direction. In some embodiments, the second return light pulse is one of the eight neighboring return light pulses of the first return light pulse in a horizontal, vertical, or diagonal directions.
[0174] With reference to FIG. 13C, in a three-cycle calculation process 1350, in addition to making the same calculation steps as described above for blocks 1322-1328 in process 1320 of FIG. 13B, the OD calculator further perform, for the first return light pulse, calculating (block 1352) a fifth object distance based on a time position of the first return light pulse and a time position of the third-last transmission light pulse transmitted before receiving the first return light pulse; and for the second return light pulse, calculating (block 1354) a sixth object distance based on the time position of the second return light pulse and a time position of the third-last transmission light pulse transmitted before receiving the second return light pulse.
[0175] With reference back to FIG. 13A, in block 1308, an object filter (e.g., 1120) rejects, based on filter criteria, one or more uncorrelated object distances of the calculated object distances. Examples of the filter criteria are shown in FIG. 12D and described above. The uncorrelated object distances correspond to one or more transmission light pulses uncorrelated with any of the plurality of return light pulses caused by at least one of a range ambiguity or interference return light pulses. Continue with the above example of two-cycle calculation process 1320 in FIG. 13B, the filter performs calculating (block 1332) a first difference between the first object distance and the third object distance; calculating (block 1334) a second difference between the second object distance and the fourth object distance; comparing (block 1336) the first difference with a distance threshold; comparing (block 1338) the second difference with the distance threshold; and rejecting (block 1340) one or more of the first, second, third, and fourth object distances based on the comparison results (e.g., in a two-cycle calculation, if the first difference is greater than 0.5-5 meters, it means the first and third object distances do not represent continuous object surface, therefore, they are false object distances caused by range ambiguity. Similarly, for interference pulses, the difference would be large).
[0176] For the three-cycle calculation process 1350, the filter performs calculating (block 1362) a first difference between the first object distance and the third object distance; calculating (block 1364) a second difference between the second object distance and the fourth object distance; calculating (block 1366) a third difference between the fifth objectdistance and the sixth object distance; comparing the first difference with a distance threshold; comparing (block 1368) the second difference with the distance threshold; comparing the third difference with the distance threshold; and rejecting (block 1370) one or more of the first, second, third, fourth, fifth, and sixth object distances based on the comparison results.
[0177] In some examples, the LiDAR system determines whether at least one neighboring return light pulse of the first return light pulse is received; in accordance with a determination that at least one neighboring return light pulse of the first return light pulse is received, obtaining time positions of the first return light pulse and the at least one neighboring return light pulse for calculating the plurality of object distances; and in accordance with a determination that at least one neighboring return light pulse of the first return light pulse is not received, rejecting the first return light pulse. In other words, if a return light pulse has no neighboring return pulses, it is likely noise or interference, and should be rejected. No calculation is required for this situation.
[0178] With reference back to FIG. 13 A, in block 1310, the object filter provides remaining object distances of the at least two calculated object distances for generating point cloud data.
[0179] 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.
Claims
CLAIMSWHAT IS CLAIMED IS:
1. A method for operating a light ranging and detection (LiDAR) system, the method comprising: transmitting, according to a first timing jitter pattern, a plurality of transmission light pulses in two orthogonal directions, wherein the first timing jitter pattern includes predetermined non-random timing jitters satisfying one or more constraints, the first timing jitter pattern representing variable time intervals between successive transmission light pulses of the plurality of transmission light pulses. receiving a plurality of return light pulses from external of the LiDAR system, wherein the plurality of return light pulses includes a first return light pulse and one or more neighboring return light pulses of the first return light pulse, the plurality of return light pulses being formed based on at least the plurality of transmission light pulses; for the first return light pulse and at least one neighboring return light pulse of the plurality of return light pulses, calculating, based on the timing jitter pattern, a plurality of object distances to obtain calculated object distances; rejecting, based on filter criteria, one or more uncorrelated object distances of the calculated object distances, the uncorrelated object distances corresponding to one or more transmission light pulses uncorrelated with any of the plurality of return light pulses caused by at least one of a range ambiguity or interference return light pulses; and providing remaining object distances of the calculated object distances for generating point cloud data.
2. The method of claim 1, wherein transmitting the plurality of transmission light pulses comprises: transmitting each transmission light pulse at a time position determined based on a fixed pulse repetition rate and a respective timing jitter for the transmission light pulse.
3. The method of any of claims 1-2, wherein the first timing jitter pattern is formed such that: timing jitters in the first timing jitter pattern are constrained within a jitter range; andany two neighboring timing jitters in the first timing jitter pattern satisfy a minimum jitter difference.
4. The method of claim 3, wherein: a two-cycle accumulated timing jitter pattern is formed by accumulating timing jitters in the first timing jitter pattern for any two successive firing cycles, a firing cycle is defined by the time between time positions of transmitting two successive transmission light pulses; and the timing jitters in the first timing jitter pattern are formed based on an additional constraint that any two neighboring two-cycle accumulated timing jitters in the two-cycle accumulated timing jitter pattern satisfy the minimum jitter difference.
5. The method of claim 3, wherein the jitter range and the minimum jitter difference are determined based on at least one of a LiDAR system’s maximum detection range; a pulse repetition rate of the transmission light pulses; and a light detector resolution.
6. The method of any of claims 1-2, wherein the timing jitters in the first timing jitter pattern form an array having a plurality of rows, wherein each row of the plurality of rows comprises multiple timing jitters for applying to corresponding transmission light pulses transmitted in a horizontal scan direction, and different rows corresponding to different vertical angles in a vertical scan direction.
7. The method of claim 6, wherein for each row of the plurality of rows in the first timing jitter pattern, an accumulated timing jitter across all the timing jitters in the row is approximately zero.
8. The method of claim 6, wherein each row of the plurality of rows in the first timing jitter pattern comprises a plurality of positive timing jitters and a plurality of negative timing jitters, the positive timing jitters and the negative timing jitters are alternately arranged in the row.
9. The method of claim 6, wherein corresponding timing jitters in two neighboring rows of the plurality of rows in the array have the same values but opposite signs.
10. The method of claim 6, wherein corresponding timing jitters in two neighboring rows of the plurality of rows in the array have different values and opposite signs.
11. The method of any of claims 1-2, wherein transmitting of the plurality of transmission light pulses is according to the first time jitter pattern superimposed with random timing jitters, the first timing jitter pattern superimposed with random timing jitters forming a second timing jitter pattern.
12. The method of claim 11, wherein the random timing jitters are randomly selected, and wherein the one or more uncorrelated object distances further correspond to one or more transmission light pulses uncorrelated with an interference return light pulse, the interference return light pulses being received from one or more other LiDAR systems.
13. The method of any of claims 1-2, wherein for the first return light pulse and the at least one neighboring return light pulse of the plurality of return light pulses, calculating the plurality of object distances to obtain calculated object distances comprises, for the first return light pulse: calculating a first object distance based on a time position of the first return light pulse and a time position of the last transmission light pulse transmitted before receiving the first return light pulse; and calculating a second object distance based on the time position of the first return light pulse and a time position of the second-last transmission light pulse transmitted before receiving the first return light pulse.
14. The method of claim 13, wherein for the first return light pulse and the at least one neighboring return light pulse of the plurality of return light pulses, calculating the plurality of object distances to obtain calculated object distances further comprises, for a second return light pulse that is a neighboring return light pulse of the at least one neighboring return light pulse:calculating a third object distance based on a time position of the second return light pulse and a time position of the last transmission light pulse transmitted before receiving the second return light pulse; and calculating a fourth object distance based on the time position of the second return light pulse and a time position of the second-last transmission light pulse transmitted before receiving the second return light pulse.
15. The method of claim 14, wherein the first return light pulse and the second return light pulse are neighboring return light pulses received successively during a scan in a horizontal direction.
16. The method of claim 14, wherein the second return light pulse is one of the eight or fewer neighboring return light pulses of the first return light pulse in a horizontal, vertical, or diagonal directions.
17. The method of claim 14, wherein the rejecting, based on filter criteria, the one or more uncorrelated object distances of the calculated object distances comprises: calculating a first difference between the first object distance and the third object distance; calculating a second difference between the second object distance and the fourth object distance; comparing the first difference with a distance threshold; comparing the second difference with the distance threshold; and rejecting one or more of the first, second, third, and fourth object distances based on the comparison results.
18. The method of claim 14, wherein for the first return light pulse and at least one neighboring return light pulse of the plurality of return light pulses, calculating the plurality of object distances to obtain calculated object distances further comprises: for the first return light pulse, calculating a fifth object distance based on a time position of the first return light pulse and a time position of the third-last transmission light pulse transmitted before receiving the first return light pulse; andfor the second return light pulse, calculating a sixth object distance based on the time position of the second return light pulse and a time position of the third-last transmission light pulse transmitted before receiving the second return light pulse..
19. The method of claim 18, wherein the rejecting, based on filter criteria, the one or more uncorrelated object distances of the calculated object distances comprises: calculating a first difference between the first object distance and the third object distance; calculating a second difference between the second object distance and the fourth object distance; calculating a third difference between the fifth object distance and the sixth object distance; comparing the first difference with a distance threshold; comparing the second difference with the distance threshold; comparing the third difference with the distance threshold; and rejecting one or more of the first, second, third, fourth, fifth, and sixth object distances based on the comparison results.
20. The method of any of claims 1-2, further comprising: determining whether at least one neighboring return light pulse of the first return light pulse is received; in accordance with a determination that at least one neighboring return light pulse of the first return light pulse is received, obtaining time positions of the first return light pulse and the at least one neighboring return light pulse for calculating the plurality of object distances; and in accordance with a determination that at least one neighboring return light pulse of the first return light pulse is not received, rejecting the first return light pulse.
21. A LiDAR system comprising a transmitter, a receiver, and one or more processors for performing the method of any of claims 1-2.
22. A vehicle comprising a LiDAR system comprising a transmitter, a receiver, and one or more processors for performing the method of any of claims 1-2.