Method and system for improving LIDAR range by using pulse coding
By using pulse encoding technology to offset and decode the received reflected signals in the LiDAR system, the aliasing effect problem when detecting distant targets is solved, and more accurate range measurement and dynamic range expansion are achieved.
Patent Information
- Application Number
- CN202380038767.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-06
- Filing Date
- 2023-05-08
- Publication Date
- 2024-12-27
AI Technical Summary
The LiDAR system is prone to aliasing effect when detecting distant targets, causing the reflected signal to be erroneously resolved into a reflected signal of a closer target, which cannot be effectively distinguished, resulting in ambiguity in the range measurement.
Using pulse encoding technology, the received reflected signals are pulse-encoded and offset during lidar frames and integrated and decoded in the avalanche histogram to distinguish target reflected signals within and outside the range, expand the dynamic range and Eliminate aliasing effect.
Effectively distinguish and calculate the distances of distant targets, expand the dynamic range of the LiDAR system, eliminate the aliasing effect, and improve the accuracy of range measurement.
Smart Images

Figure CN119213331A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a LiDAR range enhancement method and system using pulse coding. Background Art
[0002] Light Detection And Ranging (LiDAR) technology provides a method for measuring the distance of an object directly from a LiDAR sensor. LiDAR devices typically include a transmitter and a receiver or sensor that are co-configured in the same housing. The LiDAR transmitter emits the same light as a pulsed laser beam reflected from an object on the path. The reflected light is then detected by the LiDAR sensor, and the detected signal is analyzed to determine the range of the object or target, that is, the distance between the target and the LIDAR sensor. This LiDAR range measurement is inherently limited by transmission delay, that is, the time required for the light pulse to move the round-trip distance or flight time (Time-Of-Flight) between the detector and the target. Taking into account the speed of light in air, TOF (Time-Of-Fligh t) is 0.67 microseconds per 100m between the sensor and the target.
[0003] The LiDAR transmitter is capable of emitting repetitive laser beam pulses at a fixed pulse emission rate. When a pulse is emitted, the detector is activated or "armed" to detect TOF reflections of that pulse during a time interval t. After the activation time t, the detector is disarmed. Each time interval during which the detector is armed is called a "rangegate". The time interval allocated to each complete TOF measurement is called a "LiDAR frame".
[0004] The frame duration limits the TOF, thus limiting the range of detectable objects to a maximum range less than R max Or equivalent measurable range window 0≤R≤R max LiDAR detectors are usually max For example, if the LiDAR emits a single photon pulse and the detector is armed within 2μs, the optical sensor will only detect return signals with a TOF of less than 2μs, which corresponds to a maximum range of 300m. Light reflected from objects farther than 300m does not have time to return to the detector before the range gate ends, and the detector is disarmed. Summary of the invention
[0005] Technical issues
[0006] When a series of light pulses are emitted and the detector repeatedly arms according to the pulse frequency, an aliasing effect may occur. max When reflected from a more distant target, the reflected signal can be detected in the LiDAR frame. The signal detected from a distant target may be incorrectly interpreted as a reflection of a later pulse from a closer target. Therefore, the detector cannot distinguish the pulse that generated the reflected signal, so aliasing occurs.
[0007] Technical Solution
[0008] According to aspects disclosed in the present specification, a system, method and computer program product for receiving a reflected laser signal corresponding to a laser pulse emitted by a laser radar transmitter by a laser radar detector during a laser radar frame is disclosed, wherein the received reflected laser signal is associated with a time period of the laser radar frame and is associated with a pulse code offset (pulse code offset) adapted for the laser signal emitted during the laser radar frame. The received reflected laser signal is integrated into an avalanche histogram in a time period of an avalanche histogram corresponding to the time period of the laser radar frame, wherein one or more additional received reflected laser signals are integrated as a group of received reflected laser signals in a corresponding time period of the avalanche histogram, and each of the one or more additional received reflected laser signals has a corresponding pulse code offset. The group of received reflected laser signals is decoded by moving the received reflected laser signals of the group of each received reflected laser signal to a time period of the avalanche histogram decoded according to the corresponding pulse code offset.
[0009] The method includes: a step of receiving, by a laser radar detector, a reflected laser signal corresponding to a laser pulse emitted by a laser radar transmitter during a laser radar frame, wherein the received reflected laser signal is related to a time period of the laser radar frame and a pulse code offset applicable to the laser signal emitted during the laser radar frame; a step of integrating the received reflected laser signal into an avalanche histogram in a time period of an avalanche histogram corresponding to the time period of the laser radar frame by one or more computing devices, wherein one or more additional received reflected laser signals are further integrated in the avalanche histogram as a group of received reflected laser signals in a corresponding time period of the avalanche histogram, each of the one or more additional received reflected laser signals having a corresponding pulse code offset; and a step of decoding the group of received reflected laser signals by moving the received reflected laser signals of the group of received reflected laser signals to a time period of a decoded avalanche histogram based on the corresponding pulse code offset by one or more computing devices.
[0010] Furthermore, the method further comprises the step of calculating the distance of the target according to the grouping of the received reflected laser signals within the time period of the decoded avalanche histogram by the one or more calculation devices.
[0011] Furthermore, the method further includes a step of decoding the group of received reflected laser signals by respectively moving the received reflected laser signals of the group of received reflected laser signals to time periods of an avalanche histogram periodically decoded by periodically remapping according to corresponding pulse code offsets through the one or more computing devices.
[0012] Furthermore, when the laser signal emitted during the laser radar frame is a reflected laser signal, Rmax is given as the maximum distance of the target within the detectable range within the laser radar frame, and the method further includes calculating N*R according to the grouping of the received reflected laser signals within the time period of the periodically decoded avalanche histogram by one or more computing devices. max The steps of distance to targets within the range of (N+1)*Rmax are periodically remapped to correspond to the range.
[0013] Furthermore, the receiving step also includes the step of disarming the lidar detector during a hold-off period, wherein the hold-off period includes an arm offset applicable to a subsequent lidar frame, and the arm offset corresponds to an arm code that moves a time window for arming the lidar detector during the subsequent lidar frame.
[0014] Also, the pulse code offset is selected such that a subset of the groups of received reflected signals corresponding to reflections from out-of-range targets are resolved to dispersed time periods of the decoded avalanche histogram.
[0015] Furthermore, the lidar detector includes a single photon detector.
[0016] The system includes: a lidar detector configured to receive a reflected laser signal corresponding to a laser pulse emitted by a lidar transmitter during a lidar frame, wherein the received reflected laser signal is associated with a time period of the lidar frame and a pulse code offset applicable to the laser signal emitted during the lidar frame; a memory; and at least one processor configured to combine with the memory and perform operations, the operations including: a step of integrating the received reflected laser signal into an avalanche histogram in a time period of an avalanche histogram corresponding to the time period of the lidar frame, wherein one or more additional received reflected laser signals are further integrated into the avalanche histogram as a group of received reflected laser signals in a corresponding time period of the avalanche histogram, and the one or more additional received reflected laser signals have a corresponding pulse code offset; and a step of decoding the group of received reflected laser signals by moving the received reflected laser signals of each group of received reflected laser signals to a time period of a decoded avalanche histogram based on the corresponding pulse code offset.
[0017] And, the operation further includes the step of calculating the distance of the target according to the grouping of the received reflected laser signals within the time period of the decoded avalanche histogram.
[0018] And, the operation further includes the step of decoding the group of received reflected laser signals by respectively moving the received reflected laser signals of the group of received reflected laser signals to the time period of the avalanche histogram periodically decoded by periodically remapping according to the corresponding pulse code offset.
[0019] Furthermore, when the laser signal emitted during the lidar frame is a reflected laser signal, Rmax is given as the maximum distance of a target within the range detectable within the lidar frame, and the operation also includes the step of calculating the distance of a target within the range of N*Rmax to (N+1)*Rmax based on the grouping of the received reflected laser signals within the time period of the periodically decoded avalanche histogram, and the periodic remapping corresponds to the range.
[0020] Furthermore, the lidar detector is configured to disarm during a hold-off period, wherein the hold-off period includes an arm offset applicable to a subsequent lidar frame, the arm offset corresponding to an arm code that moves a time window for arming the lidar detector during the subsequent lidar frame.
[0021] Also, the pulse code offset is selected such that a subset of the groups of received reflected signals corresponding to reflections from out-of-range targets are resolved into scattered segments of the decoded avalanche histogram.
[0022] A computer-readable medium contains instructions, wherein the stored instructions, when executed by a computer device, cause the computing device to perform operations, the instructions including: a step of integrating a reflected laser signal corresponding to a laser pulse emitted by a laser radar transmitter and received by a laser radar detector into an avalanche histogram in a time period of a time period of a laser radar frame related to the reflected laser signal received by the laser radar, wherein the received reflected laser signal is further associated with a pulse code offset applicable to the laser signal emitted during the laser radar frame, and one or more additional received reflected laser signals are further integrated as a group of received reflected laser signals in corresponding time periods of the avalanche histogram, each of the one or more additional received reflected laser signals having a corresponding pulse code offset; and a step of decoding by moving each received reflected laser signal of a group of received reflected laser signals to a time period of a decoded avalanche histogram according to the corresponding pulse code offset.
[0023] The operation further includes the step of calculating the distance of the target based on the grouping of the received reflected laser signals within the time period of the decoded avalanche histogram.
[0024] And, the operation further includes the step of decoding the group of received reflected laser signals by shifting each received reflected laser signal of the group of received reflected laser signals to a time period of the avalanche histogram periodically decoded by periodically remapping according to the corresponding pulse code offset.
[0025] Furthermore, when the laser signal emitted during the lidar frame is a reflected laser signal, Rmax is given as the maximum distance of a target within the range detectable within the lidar frame, and the operation also includes the step of calculating the distance of a target within the range of N*Rmax to (N+1)*Rmax based on the grouping of the received reflected laser signals within the time period of the periodically decoded avalanche histogram, and the periodic remapping corresponds to the range.
[0026] Furthermore, the operation includes a step of disarming during a hold-off period, wherein the hold-off period includes an arm offset applicable to a subsequent lidar frame, the arm offset corresponding to an arm code that moves a time window for arming the lidar detector during the subsequent lidar frame.
[0027] Also, the pulse code offset is selected such that a subset of the groups of received reflected signals corresponding to reflections from out-of-range targets are resolved into scattered segments of the decoded avalanche histogram.
[0028] Furthermore, the lidar detector includes a single photon detector. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings are integrated into the specification. It should be noted that, according to the general practice of the industry, the features are not drawn according to the actual size. For the clarity of the description, the size of each feature may be enlarged or reduced.
[0030] Figure 1 An example of an autonomous vehicle according to one aspect of the present specification is shown.
[0031] Figure 2 An example of a structure of a vehicle according to one aspect of the present specification is shown.
[0032] Figure 3 An example of the structure of a laser radar according to one aspect of the present specification is shown.
[0033] Figure 4a is a schematic diagram of an autonomous driving vehicle equipped with a lidar device according to one aspect of the present specification.
[0034] Figure 4b use Figure 4a The upper plan view of the autonomous vehicle shown illustrates signals sent and received by a lidar device according to one aspect of the present specification.
[0035] Figure 5 is a block diagram of a system for operating a lidar device according to one aspect of the present specification.
[0036] Figure 6a is a diagram of a lidar signal used to illustrate the aliasing effect that causes range ambiguity according to one aspect of the present specification.
[0037] Figure 6b According to one aspect of the present specification Figure 6a The signal graph shown corresponds to the avalanche histogram.
[0038] Figure 7 is a flow chart of a method for removing aliasing effects from LiDAR ToF (Time-of-Flight) range measurements according to one aspect of the present specification.
[0039] Figure 8a is used to illustrate the use of pulse coding to mitigate Figure 6a and Figure 6b A graph of a lidar signal showing the aliasing effect.
[0040] Figure 8b is an avalanche histogram illustrating the effect of pulse encoding according to one aspect of the present specification.
[0041] Fig. 9 An avalanche histogram illustrating periodic remapping of pulse encoding and decoding for detecting out-of-primary range according to one aspect of the present specification.
[0042] Fig.10a is a timing diagram illustrating a dead zone without locked encoding according to one aspect of the present specification.
[0043] Fig.10b is a timing diagram illustrating a method for removing dead zones using lock coding according to one aspect of the present specification.
[0044] Fig.11 is a diagram illustrating an example of pulse encoding according to one aspect of the present specification.
[0045] Fig.12 is a timing diagram of a lidar frame used in a lidar pulse coding simulation according to one aspect of the present specification.
[0046] Fig.13 is a diagram illustrating a structural view of a data frame and a diagram for constructing an avalanche histogram according to one aspect of the present specification.
[0047] Fig.14 is a block diagram of an exemplary computer system useful in implementing various aspects of the present description.
[0048] Like reference numbers in the drawings generally indicate the same or similar elements.
[0049] Additionally, generally the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. DETAILED DESCRIPTION
[0050] The description provides systems, devices, apparatus, methods, and / or computer program product aspects, and / or combinations and sub-combinations thereof, for improving range using pulse coding.
[0051] Regarding the range ambiguity caused by aliasing, it can be eliminated by detecting only the pulses emitted in the current frame. One method for distinguishing pulses is to use pulse modulation for electronic identification. The present specification discloses a transient pulse encoding method suitable for a pulsed lidar system, especially a pulsed lidar system used as a sensor for an autonomous vehicle. The transient pulse encoding method can be used to eliminate the lidar aliasing effect through an avalanche histogram and appropriate pulse decoding techniques. Alternatively, in order to expand the dynamic range of the lidar system, pulse encoding can be used with aliasing measurements. That is, instead of discarding the reflected signal from a distant object that is identified as being associated with a laser pulse signal emitted during a previous lidar frame, this information is stored for use in calculating the range of the distant object, so that the R m The value can be increased arbitrarily to a large range. In addition, pulse coding can be combined with lock coding to eliminate the dead zone during detector unlocking.
[0052] The term "vehicle" refers to all movable vehicles that are capable of carrying one or more human passengers and / or cargo and are powered by any form of energy. The term "vehicle" includes, but is not limited to, cars, trucks, vans, trains, autonomous vehicles, aircraft, aerial drones, etc. An "autonomous vehicle" (or "AV") is a vehicle that has a processor, programming instructions, and drive system components that do not require a human driver and can be controlled by a processor. Autonomous vehicles do not require a human driver for most or all driving conditions and functions, so they can be fully autonomous, may require a human driver for specific conditions or specific operations, or the human driver can ignore the vehicle's autonomous system and personally control the vehicle, so it can also be semi-autonomous.
[0053] In particular, the present solution is described in the context of an autonomous vehicle in this specification. However, the present solution is not limited to autonomous vehicle applications. The present solution can be used in other applications such as robotic applications, radar system applications, metric applications, and / or system performance applications.
[0054] Figure 1 An exemplary autonomous vehicle system 100 is shown according to one aspect of the present specification. The system 100 includes a vehicle 102a that travels along a road in a semi-autonomous or autonomous manner. The vehicle 102a is also referred to as AV 102a in the present specification. The AV 102a may include a land vehicle (e.g., Figure 1 as shown), aircraft or vessels, but not limited to these.
[0055] The AV 102a is generally configured to detect objects 102b, 114, 116 located in close proximity. Objects may include, but are not limited to, vehicles 102b, bicyclists 114 (e.g., riders of bicycles, electric scooters, motorcycles, or the like), and / or pedestrians 116.
[0056] like Figure 1 As shown, the AV 102a may include a sensor system 111, an on-board computing device 113, a communication interface 117, and a user interface 115. The autonomous vehicle 102a may also include specific components included in the vehicle (e.g., Figure 2 As shown), it can be controlled by the onboard computing device 113 through a variety of communication signals and / or instructions (for example, acceleration signals or instructions, deceleration signals or instructions, steering signals or instructions, braking signals or instructions, etc.).
[0057] Sensor system 111 such as Figure 2 As shown, one or more sensors may be incorporated into and / or included in the AV 102a. For example, such sensors may include, without limitation, a LiDAR system, a radar detection and wireless detection and ranging system, a LADAR system, a SONAR system, sound navigation and ranging, one or more cameras (e.g., visible light cameras, infrared cameras, etc.), a temperature sensor, a position sensor (e.g., GPS (Global Positioning System)), a positioning sensor, a fuel sensor, a motion sensor (e.g., an Inertial Measurement Unit (IMU)), a humidity sensor, an occupancy sensor, or the like. The sensor data may include information indicating the location of objects within the environment surrounding the AV 102a, information about the environment itself, information about the movement of the AV 102a, information about the vehicle path, or the like. As the AV 102a moves over the surface of the ground, at least some of the sensors may collect data about the surface of the ground.
[0058] More details will be given later, but the AV 102a may be provided by a laser radar system, e.g. Figure 2The lidar system 264 can be configured to emit light pulses 104 to detect objects located within a distance or range of the distance of AV 102a. The light pulses 104 can be incident on one or more objects (e.g., AV 102b) and reflected back to the lidar system. The reflected light pulses 106 incident on the lidar system can be processed to determine the distance of the object relative to AV 102a. With respect to the reflected light pulses, in some aspects, detection can be performed using a light detector or an array of light detectors configured to receive light reflected back to the lidar system. The lidar information, such as data of the detected objects, is transmitted from the lidar system to an onboard computing device, such as Figure 2 102a can transmit the lidar data to a remote computing device 110 (e.g., a cloud processing system) via the communication network 108. The remote computing device 110 can be composed of one or more servers for processing one or more processes of the technology described herein. The remote computing device 110 can also be configured to transmit data / instructions with the AV 102a and the server and / or database 112 via the network 108.
[0059] It should be noted that the lidar system used to collect data about the surface can be included in systems other than AV 102a, for example, without limitation, can be included in other vehicles (autonomous or driving), robots, satellites, etc.
[0060] The network 108 may include more than one wired or wireless network. For example, the network 108 may include a cellular network (e.g., a Long-Term Evolution (LTE) network, a Code Division Multiple Access (CDMA) network, a 3G network, a 4G network, a 5G network, other types of new generation networks, etc.). The network may also include a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a wide area communication network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, a temporary network, an intranet, the Internet, a fiber-optic-based network, a cloud computing network, and / or a network similar thereto and / or a combination of these or other types of networks.
[0061] AV 102a can search, receive, display and edit information generated in local applications or transmitted through network 108 in database 112. Database 112 can be configured to store and provide raw data, indexed data, structured data, map data, program instructions or other known structures.
[0062] The communication interface 117 may be configured to allow communication between the AV 102a and external systems (e.g., external devices, sensors, other vehicles, servers, data storage, databases, etc.). The communication interface 117 may utilize protocols, protection systems, encodings, formats, packaging, etc. that are now or later known. For example, without limitation, there are Wi-Fi, infrared links, Bluetooth, etc. The user interface system 115 may be part of a peripheral device implemented within the AV 102a, including a keyboard, a touch screen display device, a microphone, a speaker, etc.
[0063] Figure 2 An exemplary system architecture 200 of a vehicle is shown according to one aspect of the present description. Figure 1 The vehicles 102a and / or 102b may have Figure 2 Therefore, the following description of system architecture 200 is sufficient for understanding Figure 1 However, other types of vehicles are considered within the scope of the technology described herein, including vehicles 102a, 102b. Figure 2 The elements described may be more or less than the elements described. As a non-limiting example, an aerial vehicle may be stripped of brakes or gear controls but may include an altitude sensor. As another non-limiting example, a water vehicle may include a depth sensor. A person of ordinary skill will appreciate that different propulsion systems, sensors, and controls may be included depending on the type of vehicle.
[0064] like Figure 2 As shown, the system architecture 200 includes an engine or motor 202 and a variety of sensors 204-218 for measuring various parameters of the vehicle. In a gas-driven or hybrid vehicle equipped with a fuel-driven engine, the sensors may include, for example, an engine temperature sensor 204, a battery voltage sensor 206, an engine RPM sensor 208, and a throttle position sensor 210. In the case where the vehicle is an electric or hybrid vehicle, the vehicle may have an electric motor and thus include a battery monitoring system 212 (measuring the current, voltage, and / or temperature of the battery), motor current 214 and voltage 216 sensors, and motor position sensors 218 such as resolvers and encoders.
[0065] Operating parameter sensors common to both types of vehicles include, for example, position sensors 236 such as accelerometers, gyroscopes, and / or inertial measurement devices; speed sensors 238; and odometer sensors 240. The vehicle may also have a clock 242 used to determine vehicle time during system operation. The clock 242 may be encoded in the vehicle's onboard computing device, or may be a separate device, or multiple clocks may be used.
[0066] The vehicle also includes a variety of sensors that operate to collect information about the environment in which the vehicle is traveling. Such sensors include, for example, a position sensor 260 (e.g., a GPS device); object detection sensors such as one or more cameras 262; a lidar system 264; and / or a radar and / or ultrasonic system 266. Object detection sensors may also include environmental sensors 268, such as a rainfall sensor and / or an ambient temperature sensor. Object detection sensors enable the vehicle to detect objects within a given distance in all directions from the vehicle 200, while environmental sensors collect data about environmental conditions in the area in which the vehicle is traveling.
[0067] During operation, information is transmitted from the sensors to the vehicle onboard computing device 220. The onboard computing device 220 can be used Fig.14 The vehicle-mounted computing device 220 analyzes the data collected by the sensors and selectively controls the operation of the vehicle based on the analysis results. For example, the vehicle-mounted computing device 220 can be configured to control: braking based on the brake controller 222; direction based on the steering controller 224; speed and acceleration based on the throttle controller 226 (in the case of a gasoline-powered vehicle) or the motor speed controller 228 (for example, a current level controller for an electric vehicle); differential gear controller 230 (in the case of a vehicle with a transmission); and / or other controllers. The auxiliary device controller 254 can be configured to control one or more auxiliary devices such as a test system, auxiliary sensors, and a moving device for vehicle transportation.
[0068] The geographic location information may be transmitted from the location sensor 260 to the onboard computing device 220, which may access a map of the environment corresponding to the location information to determine known fixed features of the environment, such as distances, buildings, stop signs, and / or stop / go signs. Images captured by the camera 262 and / or object detection information captured by a sensor such as a lidar system 264 are transmitted from the sensor to the onboard computing device 220. The onboard computing device 220 processes the object detection information and / or the captured images to detect objects near the vehicle 200. Known or later-known techniques for detecting objects based on sensor data and / or captured images may be used in the aspects disclosed herein.
[0069] The lidar information is transmitted from the lidar system 264 to the onboard computing device 220. Additionally, the captured images are transmitted from the camera 262 to the vehicle onboard computing device 220. The vehicle onboard computing device 220 processes the lidar information and / or the captured images to detect objects in the vicinity of the vehicle 200. The manner in which the vehicle onboard computing device 220 performs object detection includes those functions described in detail in this specification.
[0070] The onboard computing device 220 may include or communicate with a routing controller 231 that generates a navigation path from a starting location of the autonomous vehicle to a destination location. The routing controller 231 may access a map data storage unit to identify possible paths and road sections that the vehicle can move from the starting location to the destination location. The routing controller 231 may score possible paths and identify a preferred path for reaching the destination. For example, the routing controller 231 may generate a navigation path that minimizes the Euclidean distance or other cost function moved during the path, and may further access traffic information and / or estimates that may affect the time required to move a specific path. Depending on the implementation, the routing controller 231 may generate more than one path using a variety of routing methods such as the Dijkstra algorithm, the Bellman-Ford algorithm, or other algorithms. The routing controller 231 may also use traffic information to generate a navigation path that reflects the expected conditions of the path (e.g., the current week or the current time period, etc.), so the path generated for peak hour travel may be different from the path generated for late night travel. The routing controller 231 may also generate more than two navigation paths to reach the destination, and send more than two of the navigation paths to the user so that the user can choose from a variety of possible paths.
[0071] In various aspects, the onboard computing device 220 may determine perceptual information about the environment surrounding the AV 102a. Based on sensor data provided by one or more sensors and the obtained position information, the onboard computing device 220 may determine perceptual information about the environment surrounding the AV 102a. The perceptual data may include information about one or more objects in the environment of the AV 102a. For example, the onboard computing device 220 may process the sensor data (e.g., laser radar or RADAR data, camera images, etc.) in order to identify objects and / or features in the environment of the AV 102a. Objects may include traffic signs, road boundaries, other vehicles, pedestrians, and / or obstacles, etc. The onboard computing device 220 may determine the identification using currently or later known object recognition algorithms, video tracking algorithms, and computer vision algorithms (e.g., repeatedly tracking objects frame by frame over multiple periods).
[0072] In some aspects, the onboard computing device 220 may also determine the current state of one or more identified objects in the environment. The state information is not limited and may include, for each object, current position; current speed and / or acceleration, current direction; current pose; current shape, size or footprint; type (e.g., vehicle vs. pedestrian vs. bicycle vs. static object or obstacle); and / or other state information.
[0073] The onboard computing device 220 may perform one or more prediction and / or foresight operations. For example, the onboard computing device 220 may predict the future position, trajectory, and / or motion of one or more objects. For example, the onboard computing device 220 may predict the future position, trajectory, and / or motion of the object at least in part based on perception information (e.g., state data of each object including a determined estimated shape and posture, as described below), position information, sensor data, and / or other data representing past and / or current states of the object, the AV 102a, the surrounding environment, and / or their relationship. For example, when the object is a vehicle and the current driving environment includes an intersection, the onboard computing device 220 may predict whether the object has a possibility of going straight or turning. When the recognition data indicates that there is no signal light at the intersection, the onboard computing device 220 may also predict whether the vehicle should stop completely before entering the intersection.
[0074] In various aspects, the onboard computing device 220 can determine a motion plan for the autonomous vehicle. For example, the onboard computing device 220 can determine a motion plan for the autonomous vehicle based on the identification data and / or the prediction data. Specifically, if there is a prediction of the future location of nearby objects and other identification data, the onboard computing device 220 can determine a motion plan for the AV 102a that is well-suited to exploring the autonomous vehicle for objects located at future locations.
[0075] In some aspects, the onboard computing device 220 may receive the prediction and determine a method for handling objects and / or actors in the environment of the AV 102a. For example, for a particular actor (e.g., a vehicle with a given speed, direction, rotation angle, etc.), the onboard computing device 220 determines whether to overtake, yield, stop, pass, for example, based on traffic conditions, map data, the state of the autonomous vehicle, etc. Further, the onboard computing device 220 also plans the path and driving parameters (e.g., distance, speed, and / or rotation angle) for the AV 102a to move on a given path. That is, for a given object, the onboard computing device 220 determines what to do with the object and determines a method for performing it. For example, for a given object, the onboard computing device 220 may determine to pass the object and determine whether to pass from the left or right side of the object (including action parameters such as speed). The onboard computing device 220 may also assess the risk of collision between the detected object and the AV 102a. When the risk exceeds an acceptable threshold, it may be determined whether the collision can be avoided when the autonomous vehicle follows a defined vehicle trajectory or performs one or more dynamically generated emergency maneuvers within a predefined time period (e.g., N milliseconds). In the case where the collision can be avoided, the onboard computing device 220 may execute one or more controls with instructions for performing a cautious maneuver (e.g., slightly decelerating, accelerating, changing lanes, or changing directions). In contrast, in the case where the collision cannot be avoided, the onboard computing device 220 may execute one or more control instructions for performing an emergency maneuver (e.g., changing braking and / or driving direction).
[0076] As described above, planning and control data for the movement of the autonomous vehicle are generated for operation. The onboard computing device 220 controls braking, for example, through a brake controller, controls direction through a steering controller, controls speed and acceleration through a throttle controller (for example, in the case of a gasoline-powered vehicle) or a motor speed controller (for example, a current level controller for an electric vehicle), controls speed and acceleration through a differential gear controller (for example, in the case of a vehicle with a transmission), and controls speed and acceleration through other controllers.
[0077] Figure 3 An exemplary architecture of a lidar system 300 is shown according to one aspect of the present specification. Figure 2 The laser radar system 264 can be the same as or substantially similar to the laser radar system 300. Therefore, the description of the laser radar system 300 is sufficient for understanding Figure 2 The laser radar system 264. It should be noted that Figure 3 The laser radar system 300 is only an exemplary laser radar system, and other laser radar systems can be further completed according to aspects of this specification, which can be understood by ordinary technicians in this field.
[0078] like Figure 3 As shown, the laser radar system 300 includes a housing 306 that can rotate 360 degrees about a central axis such as a hub or axle 315 of a motor 316. The housing may include a transmitter / receiver opening 312 made of a material that is transparent to light. Figure 3 A single opening is shown, but the present invention is not limited in this regard. In other scenarios, multiple openings for transmitting and / or receiving light may be provided. Regardless of the scenario, the lidar system 300 can transmit light through more than one opening 312, and receive light reflected from more than one opening 312 as the housing 306 rotates around the internal components. In a general scenario, the outer shield of the housing 306 can be a fixed dome made of a material that is at least partially transparent to light, and the housing 306 has a rotatable component inside.
[0079] Inside the rotating protective cover or fixed dome is a light emitter system 304, which is constructed and configured to generate light pulses and emit through one or more laser emitter chips or other light emitting devices through an opening 312 or a transparent dome of the housing 306. The light emitter system 304 can include any number of individual emitters (for example, 8 emitters, 64 emitters, or 128 emitters). The emitters can emit light of substantially the same intensity or multiple intensities. The laser radar system also includes a light detector or a light detector 308 including an array of light detectors configured and constructed to receive light reflected to the system. The light emitter system 304 and the light detector 308 will rotate with the rotating protective cover, or rotate inside the fixed dome of the housing 306. One or more optical element structures 310 can be located in front of the light emitter system 304 and / or the light detector 308 to act as one or more lenses or wavelength plates that focus and direct the light passing through the optical element structure 310.
[0080] One or more optical element structures 310 can be arranged in front of a mirror (not shown) to focus and direct the light passing through the optical element structure 310. As shown in the following figure, the system includes an optical element structure 310 arranged in front of the mirror and connected to a rotating element of the system so that the optical element structure 310 rotates with the mirror. As an alternative or in addition, the optical element structure 310 can include these multiple structures (for example, lenses and / or wavelength plates). Optionally, the multiple optical element structures 310 can be arranged in an array in the protective cover portion of the housing 306, or can be arranged integrally therewith.
[0081] The laser radar system 300 includes a power supply unit 318, a motor 316, and electronic components that provide power to the light emitting unit 304. The laser radar system 300 also includes an analyzer 314 having components such as a processor 322 and a non-transitory computer readable memory 320, including programming instructions that configure the system to receive data collected by the light detector device, analyze it to determine the characteristics of the received light, and generate information that can be used by the connected system to make decisions about operating in the environment where the data was collected. Optionally, the analyzer 314 can be integrated with the laser radar system 300 as shown, or partially or entirely located outside the laser radar system and communicatively connected to the laser radar system via a wired or wireless communication network or link.
[0082] Figure 4a and Figure 4b A lidar device 400 is shown according to one aspect of the present specification. In some aspects, the lidar device 400 is attached to an autonomous vehicle (AV) 102a or a self-driving car. In order to be able to emit and detect a clear field of view of a laser signal 110 such as a pulsed laser beam, the lidar device 400 can be attached to the roof of the AV 102a. As the AV 102a passes through the environment, the lidar device 400 can be used alone or with other devices such as cameras to determine the radial distance (range) of various objects in the environment relative to the AV 102a. Objects of interest in the environment of the AV 102a include, for example, buildings, trees, other vehicles, pedestrians, and traffic lights, which are typically located at or slightly above the ground.
[0083] See also Figure 4b The laser beam passes through the selected azimuth angle θ and altitude angle φ range to propagate the laser signal 110 radially outward from the transmitter of the laser radar device 400 so as to be reflected by an object near the AV 102a. Figure 4b As shown, for a lidar device 400 mounted on the roof of the AV 102a, the laser beam may sweep through the entire 360 degrees of the azimuth angle θ while passing only 45 degrees of the elevation angle φ, thereby being able to best detect relevant objects of interest located at a lower altitude. The lidar scan data may be stored and processed locally, for example, at the onboard computing device 220. Alternatively, the lidar scan data may be relayed to a remote computing system for immediate processing and / or storage for future reference. In addition to using the lidar data in tracking traffic, obstacles, and roads for autonomous driving functions, the lidar data may also be used to configure the AV 102a on a map for navigation using a GPS system.
[0084] When the techniques disclosed herein are used in the exemplary lidar device 400, it can help improve the ability of the lidar device 400 to perform range determination. Figure 4a The laser radar device 400 is integrated into the AV 102a and is shown as having features as described in this specification, but the laser radar device 400 can also be implemented in other contexts. In addition, the techniques described herein applicable to the laser radar device 400, such as time pulse coding and related statistical analysis, can also be used outside the laser radar context.
[0085] Figure 5 According to some aspects, a method for performing Figure 4a and 4b The laser radar device 400 is shown to determine the range of a target 502. The laser radar system 500 includes the laser radar device 400 and a controller 504 coupled to the laser radar device 400. The laser radar device 400 includes an emitter 506 and a detector 508. In some aspects, the emitter 506 is a pulsed laser source configured to emit laser beam pulses in a radial pattern, such as Figure 4b shown.
[0086] In some aspects, detector 508 is configured to detect laser pulse reflections from a target with a single photon type detector that indicates whether more than one photon is received. The single photon detector is insensitive to the number of photons of the reflected pulse and acts as a digital optical switch that simply indicates whether more than one photon is received. In order to form an analog contrast from these receivers, multiple pulses or time averaging of multiple pulses can be used. In this case, the dynamic range of the measurement will be expanded according to the number of pulses used. If only a small subset of the multiple pulses triggers a detection event, the signal strength returned from the target is low. Its strength is high when a large subset of pulses triggers a detection event.
[0087] In some aspects, the controller 504 includes a pulse encoder 510 and a pulse decoder 512 for providing signal processing functions. The controller 504 can be programmed to apply time pulse encoding to the emitted laser pulses through the pulse encoder 510, and decode the detected signals through the pulse decoder 512 to distinguish between reflections of nearby targets and reflections of distant targets. The pulse encoder 510 and the pulse decoder 512 can be implemented by hardware (e.g., Application Specific Integrated Circuit (ASIC)) or software or a combination thereof.
[0088] The lidar device 400 and the controller 504 are described as being located within the outline of the vehicle 102a in one aspect of the present specification and as separate entities. However, a person skilled in the art will understand that the specific configuration of the lidar device 400 and the controller 504 may include a variety of arrangements, including coupling to a single device, and this description is not limiting.
[0089] Figure 6a A timing diagram 600 of pulsed laser signals transmitted and received by a lidar system that induces aliasing is shown. Operation of the lidar system includes the transmission of multiple laser pulses (eg, light pulse 606 or light pulse 608) corresponding to each lidar frame. Figure 6a A graph of distance r versus time t is shown. The distance r represents a range corresponding to the radial distance from the detector to the target. A target A within the exemplary range is located less than R max The distance R A Target B outside the exemplary range is located at R max and 2R max The distance R B . Figure 6a Three consecutive lidar frames N-1, N and N+1 are shown in time. For illustration, Figure 6a In the exemplary aspect shown, each laser radar frame includes 13 time bins numbered 0 to 12, but a person skilled in the art will appreciate that the number of time bins and the corresponding time resolution can be selected according to the desired resolution. However, in general exemplary aspects, there may be more than 1000 time bins, and the time resolution may be less than 0.5 ns. The pulse is at the beginning of each laser radar frame ( Figure 6a The laser radar device 400 emits light pulses 608 at regular time intervals (three are marked) at the beginning of the laser radar frame N in time period 0 and reflects at target A. The reflected light pulse 610 is detected in the same laser radar frame N in time period 8.
[0090] When light pulse 608 is emitted in the case of a reflected pulse from an out-of-range target B (not a target in the same range as target A), a reflected light pulse 612 is detected in a subsequent lidar frame, in this case, in frame N+1 at time period 2. Likewise, in this case, a reflected light pulse 614 from out-of-range target B associated with the transmission in time period O of the previous lidar frame N-1 is detected in time period 2 in lidar frame N. Further out-of-range targets may be detected multiple lidar frames later.
[0091] Figure 6b Shows floating Figure 6a An avalanche histogram of the number of time measurements received within the duration of the data frame of the example shown. Combining the measurements of multiple lidar frames within the duration of the data frame will generate a histogram of points from which a point cloud can be extracted. Avalanche histogram 620 shows the R measured within each lidar frame. A All received in time period 8, R measured outside the range B are all received in time period 2. Therefore, for the avalanche histogram 620, in fact, R A is the only target within range, in R A and R B The object is detected. The minimum number of LiDAR frames required for a data frame depends on the number of ranges at which a pulse can be received after reflection. For example, when a pulse emitted in frame N-1 is received in frame N+1, if an object is to be detected, all three intermediate frames must be considered.
[0092] Avalanche Histogram 620 cannot distinguish out-of-range targets R B and the in-range target detected in the same time period, i.e., time period 2, cause an identical histogram, so for the detected reflections, both reflections are combined into the same measurement value in the histogram, thereby generating an ambiguity about where the in-range target is actually located. Therefore, Figure 6a Shown due to Figure 6b The aliasing effect shown in the figure causes range ambiguity. Even if the target R B The received signal is better than the target R A The received signal is weak, but as long as the target R B Range ambiguity is induced when the received signal meets the detection probability criterion.
[0093] To resolve the range ambiguity effect, pulse coding techniques may be used to distinguish between reflections from in-range targets and reflections from out-of-range targets (or a specific range in the case of out-of-range targets). Figure 7 is a flow chart illustrating steps of a pulse encoding method 700 for eliminating aliasing in lidar range measurements performed by lidar device 400, according to some aspects. Figure 7 , in step 702, a coded group of laser pulses is emitted, as shown in the exemplary timing diagram 800 of FIG. 8, and propagates toward target A after emission. Figure 8a A timing diagram 800 is shown of pulsed laser signals transmitted and received by a lidar system 500 operating via temporal pulse encoding designed to eliminate aliasing in accordance with some aspects. Figure 8a Shown with Figure 6a The graph shown is similar to the graph of distance r versus time t. See again Figure 8a , the pulse groups represented by black diamonds are emitted by the laser radar device 400 in consecutive laser radar frames N-1, N and N+1. The pulse emission does not occur in the time period O of each laser radar frame, but in Figure 8a In FIG. 1 , the pulse transmission occurs at irregular time intervals (three are shown), that is, at different offset times (Offset Time) or timing offsets (Timing Offset). The timing offset acts as a tag or code that identifies the time point of the pulse transmission. Therefore, the sequence of time offsets provides time encoding and, if properly decoded, blurs the received pulses to select measurements corresponding to targets within the range distance.
[0094] like Figure 8a As shown, in laser radar frame N-1, the pulse is emitted in time period 1 with a time offset; in laser radar frame N, the pulse is emitted in time period 3 with a different time offset; in laser radar frame N+1, the pulse is emitted in time period 0 without a time offset. Therefore, the pulse code suitable for this laser pulse emission is [1, 3, 0]. For the emission of this pulse, the time offset that is consistent with the time period for encoding purposes but in the analog sense is called dither, which will be explained in more detail below.
[0095] See also Figure 7 In step 704, the laser radar device 400 according to some aspects, such as Figure 8a As shown, laser signals reflected from targets A and B associated with exemplary timing diagram 800 are received. For example, in lidar frame N, light pulse 808 encoded by pulse encoder 510 is emitted by lidar device 400, and the emission is consistent with time period 3. The emitted light pulse 808 is shown as reflected light pulse 810 reflected from target A in range. Reflected light pulse 810 is detected in the same lidar frame N in time period 11. Similarly, when the emitted light pulse 808 is reflected from target B out of range, reflected light pulse 812 is detected in the next lidar frame N+1 in time period 5. On the other hand, the light pulse 814 emitted in lidar frame N+1 is shown as emitted in time period 0, and reflected from target A in range as reflected light pulse 816. Reflected light pulse 816 is detected in the same lidar frame N+1 in time period 8.
[0096] In short, Figure 8a In the given scenario, for lidar frame N-1, the pulse signal is offset by one segment; for lidar frame N, the pulse is offset by 3 segments; and for lidar frame N+1, the pulse offset is 0, i.e., no offset is applied. Figure 7In step 706, the reflected pulse signal is integrated into a data frame. Assuming that a data frame is selected for integrating such three lidar frames, a non-limiting example of a valid pulse code applicable to the data frame is [1, 3, 0].
[0097] Pulse codes implemented using multiple offsets can be unpacked (decoded) prior to plotting the avalanche histogram. The number marked in the segment corresponding to each received reflected pulse (e.g., 810 and 816) represents the pulse offset applicable to the single pulse transmitted in that particular lidar frame. The segments are labeled with this offset value. The numbers marked in each segment are consistent with the offset of the signal transmitted in the same frame, so inverting the offset of each reflection detected in the lidar frame for all lidar frames in the data frame will produce a cumulative effect of synthesizing the reflected pulses received from individuals within the range. Since reflected pulses received from out-of-range objects will have inconsistent segment shifts in the lidar frame, the cumulative effect in the avalanche histogram in the data frame is negligible (identifiable as noise).
[0098] exist Figure 8b As a non-limiting example, there are Figure 8a The two histograms shown are the integration of three lidar frames. The upper histogram 820 is a histogram including the encoding of the detection events with the pulse offset built in. The lower histogram 822 shows the histogram of the detection events after the pulse offset is removed. Figure 7 At step 708, for a given data frame, the received pulses are integrated into a coded histogram, such as coded histogram 820. Then, at step 710, the offset is removed to generate a decoded histogram, such as decoded histogram 822. After decoding, it can be seen in the lower histogram 822 that the reflection detection results from objects within the range are consistent within a single histogram time period, while the detection events of objects out of range are scattered across the histogram and are inconsistent. As a result, the pulse encoding operation described in this example suppresses the detection of objects beyond the range. Rmax This reduces the detection of out-of-range objects because scattered detection events can be discarded as noise.
[0099] Finally, at step 712, a decoded histogram configured to synthesize the in-range received pulses may be used to determine the distance to the in-range target using the location of the consistent events within the decoded histogram.
[0100] Fig. 9 FIG. 9 shows an alternative encoding scheme 900 that may be applied by the pulse decoder 512 according to some aspects. Different from the decoding process for in-range targets, backing out an intra-frame offset is shown. Figure 8a and 8b The histogram of Fig. 9 In order to detect R in this case, max To 2R max The alternative encoding method 900 includes deriving a cyclic pulse code from the original time pulse code and using the cyclic pulse code to generate a cyclic decoded avalanche histogram 922 for R max <R B <2R max Out-of-range detection is performed. This can be performed by using the next periodic deformation map [1→0', 3→1', 0→3'] of the original pulse code [l, 3, 0] to obtain the periodic code [0', 1', 3]. The original avalanche histogram 820 is converted to an avalanche histogram 920 using the periodic code. The decoding is performed using the offset of the marker specified in the leftmost time period of the avalanche histogram 920 with respect to R B The subtraction is performed using the rightmost time period of the avalanche histogram 920 to specify the offset of the marker about R A Subtraction of R B The first aliased reflections are consistent and can be extracted in time period 2, and are scattered over the maximum range R max Internal R A The apparent detection time of closer multiple reflections.
[0101] Effectively, using the alternative encoding method 900, the range of target distances that can be measured is from R max To 2R m ax The total measurement time does not increase because targets at this further range can be calculated in the same data frame. Multiple pulses are emitted in the form of one pulse per lidar frame, so that reflections can be distinguished at multiple ranges using the inherent offset of the lidar frame. A decode sequence [1, 3, 0] is used in the first zone to R max The second cyclic decoded sequence [0, 1, 3] is periodically related to the first decoded sequence, so in R max and 2R max The second zone in between provides measurements at a longer range.
[0102] A person skilled in the art will appreciate that the approach method can be extended to detect targets in additional areas. For example, the third cyclic decoding sequence [3, 0, 1] can be used to decode the target in 2R max and 3R max In general, with appropriate selection of N pulses in the data frame and the corresponding offset in the lidar frame, N*R max So far, there is no ambiguity in the distinction.
[0103] In certain aspects, the decode sequence is selected to maintain the same maximum range and expand or increase the pulse rate by a factor of two to define multiple detection zones. Depending on the time pulse code used, one zone becomes the detection zone and another zone is treated as out of range or as an interference zone. The advantage of this approach method is that since more pulses are emitted per unit time, the number of detections increases, thus providing a method that can double the number of pulse statistics used to resolve a target.
[0104] Fig.10a and Fig.10b Additional details of the timing signals within the frame are shown. Fig.10a A series of frames 1000 are shown where the stall time 1004 or "dead zone" is the same in all frames (eg, lidar frame 1006). Fig.10b A series of frames 1020 are shown to which the locked encoding process described below is applied. The dead zone varies from frame to frame.
[0105] As described above, after each range gate having 13 time periods, there is a delay time due to the detector being unlocked and unable to detect the reflected pulse. In this context, the lidar frame includes 13 time period range gates and the delay time. In some aspects, the delay time can include a combination of frame dead time, all dead parts, and / or all lock offsets, such as Fig.12 For many single photon detectors, the hold-off time is allocated by an intrinsic reset time (eg, related to an RC time constant). Alternatively, the hold-off time may be intentionally introduced to prevent false detections from occurring immediately after a previous detection.
[0106] In order to go from 0 to 2R max For continuous range detection of objects with Rkwldml, pulse coding can be combined with lock coding as described above. Pulse coding changes the laser emission time between frames, while lock coding changes the timing of the detector locking and unlocking from one frame to the next with an appropriate "lock offset". In particular, because the holdoff time can move with the duration of the lidar frame, the detector will not unlock at the same range in all lidar frames. This can be performed by changing the time period within each frame that the detector is locked.
[0107] Using a fixed delay time would limit the detector to measuring only the pulses reflected from distances between O and f*Rmax. Here, f is the fraction of the unit interval, where O < f < 1. If, as shown in the first frame series 1000, the detector is armed at the start of the range gate and disarmed at the time of reflection from distance f*Rmax, then all reflections from within the range from f*Rmax to Rmax reach the detector during the delay time 1004, resulting in a "dead zone" where the object cannot be seen. However, if a locking code is used, the range interval in which the detector can be armed can be changed from [0, f - R max to [(1 - f)·R max , R max , so detection can be performed in all ranges between O and R max .
[0108] In the case of using a locking code, the delay time can vary, but if the minimum delay time is sufficient, the detector will maintain good performance. The minimum delay time 1024 is maintained between the disarming of the detector during LiDAR frame N - 1 and the arming of the detector during LiDAR frame N in 1026. In some aspects, the length of the range gate can be a fixed value and the delay time can be a variable value greater than or equal to the minimum delay time 1024. For example, when the LiDAR frame length is 80m, the length of the range gate can be fixed at 72m and the hold time can be between 4m and 12m, with 4m being the minimum delay time 1024. In some aspects, the length of the range gate can be a variable value with a delay time that is a fixed value set for the minimum delay time 1024. For example, for a LiDAR frame length of 80m, the length of the range gate can vary between 74m and 76m and the delay time is constant at 4m. In some aspects, both the length of the range gate and the delay time are variable. For example, when the LiDAR frame length is 80m, the length of the range gate can vary between 74m and 76m and the delay time can vary between 4m and 6m, with 4m being the minimum delay time 1024. A person of ordinary skill in the art should understand that these are examples of the range gate length and the minimum delay time, and other values will be further considered in accordance with the aspects of this specification. By applying the locking code technique described above and introducing locking offsets 1028a, 1028b, the starting and ending points of range gates such as subsequent range gates can be moved within the range gate 1022 and a series of frames 1020 to eliminate all dead zones. Thus, by combining the locking code with the pulse coding of the laser emission, the LiDAR device 400 can measure objects in a continuous range from O to 2R max .
[0109] Fig.11Exemplary non-limiting pulse code sequences of various lengths N are shown according to some aspects. N is the number of pulses accumulated for statistical analysis used to extract a single location from the lidar point cloud corresponding to an object in the scene. Fig.11 Each number of the pulse code sequence shown is a time offset that applies during a separate frame. For example, N=13 means 13 time offsets that apply during 13 consecutive frames and then repeat every 13 Lidar frames.
[0110] for Fig.11 Each pulse code sequence shown starts with a time offset applicable during the first lidar frame, increases to a maximum offset approximately in the middle of the sequence, and repeats in reverse order. For example, for the first pulse code sequence with N=12, it starts with a time offset of 1 during the first lidar frame, increases to a time offset of 22 in lidar frame 7, and decreases back to a time offset of 7 in lidar frame 12. For the second pulse code sequence with N=13, it starts with a time offset of 1 with respect to the first lidar frame, increases to a time offset of 29 in lidar frame 8, and decreases back to a time offset of 8 in lidar frame 13.
[0111] In some aspects, the pulse code may be selected so that the difference between successive offsets d in the sequence d(n)-d(n-1) takes different values for each n. By selecting the pulse code in this manner, the pulse code diffuses out-of-range targets or generates a diffuse decoded histogram, and noise reduction associated with distant targets is suitably improved. Fig.11 In the example shown in the first row of , the consecutive values of the difference d(n)-d(n-1) are as follows: 6, 5, 4, 3, 2, 1, -1, -2, -3, -4, -5.
[0112] However, in the above-mentioned encoding and decoding histogram process, as a person of ordinary skill in the relevant technical field can understand, all encoding proximity methods that provide the function of distinguishing between in-range and out-of-range targets can be used, and such proximity methods are provided as non-limiting examples.
[0113] Fig.12 is a timing diagram 1200 of a lidar frame 1202 used in a lidar pulse encoding simulation according to aspects of the present disclosure. Figure 6a , Figure 8a , Fig.10a and Fig.10b The lidar frame described in FIG. 12 shows various time offsets such as pulse coding / dead offset, gate delay, frame dead time, etc. on a scale equivalent to the lidar frame bin. However, this timing can be described separately from the lidar frame bin as in timing diagram 1200.
[0114] Each lidar frame, according to one aspect of the present specification, begins with a repetitive master trigger whose timing is adjusted to account for the maximum length of the lidar frame 1202. When the master trigger occurs, pulse coding is used to distinguish between in-range and out-of-range targets, and a pulse coding interval (dead) 1204 is applied, which has been combined with Figure 8a and Figure 8b As an alternative, dead may not be used and the interval may be ignored.
[0115] After a certain jitter, a light pulse is emitted. The total movement time of the light pulse emission, reflection at the target, and detection should occur within the range gate 1208 for the target in range. Where the pulse is detected in a subsequent range gate based on reflection from an out-of-range target, as described above with respect to Figure 8a and Figure 8b As explained above, the pulse coding interval of the transmitted light pulses can be used so that the reflected signal is not blurred.
[0116] However, after the light pulse is emitted, an additional delay occurs before the detector locks (and before the range gate is started). This delay is called the lock offset 1206. In certain aspects of the present specification, the above description of the detector can be used to improve system performance. Fig.10a and Fig.10b In the manner described, the lock offset 1206 may be controlled in association with the dead time 1210 that occurs after the detector is unlocked.
[0117] Fig.13 A structural view 1300 of a data frame and its use in constructing an avalanche histogram according to one aspect of the present specification is illustrated. A lidar frame 1302 shows a pulse being emitted at the start of the lidar frame (time t=0), so a dead offset equivalent to a code offset is not applicable in the example shown. If such an offset is applied, the pulse emission indicator will move to the bin number corresponding to the code according to the disclosed aspects, but as described with respect to Figure 8a and 8b This offset is ignored in the description.
[0118] After a period of time, here, during two time ranges, the detector is in an unlocked state equivalent to the lock offset. After the end of this period, the detector is locked (arm). The time point from when the detector is unlocked is equivalent to the gate width of the time range (range gate 1304meow) in which the reflected pulse can be detected. From the example of structural view 1300, it can be seen that the time period avalanche event occurs in time period 9 in the first shown lidar frame, occurs again in time period 9 in the second shown lidar frame, and occurs in time period 8 in the third shown lidar frame. Lidar frame 1302 also includes the time interval (corresponding to dead time 1306) when the detector is unlocked and transmits the next pulse.
[0119] In summary, these three lidar frames (as a non-limiting example, more lidar frames may be used) are considered part of data frame 1308. In the case where there are N lidar frames in a given data frame 1308, data frames such as data frame 1308 may be composed of non-overlapping groups of N lidar frames (the first N lidar frame group, the next N lidar frame group, etc.). Alternatively, data frame 1308 may be a rolling window of lidar frames, equivalent to the first data frame of data frame 1308 including lidar frames O to N, and subsequent data frames including lidar frames 1 to N+1. This is because during the periodic 360-degree scan of the lidar transmitter, each lidar frame in the data frame can essentially be processed as if it were taken at a fixed position of the transmitter, which can be achieved by ignoring the sweep motion.
[0120] An avalanche histogram 1310 according to one aspect may then be constructed from all avalanche events in the lidar frame within the data frame 1308. Figure 8a and 8b As described in detail in FIG. 1 , the avalanche histogram 1310 can be decoded if encoding (not shown here) is applied. The resulting avalanche histogram 1310 can then be processed by a statistical processing block 1312, which is used to generate point cloud data 1314 that can identify the target.
[0121] Various aspects can be used, for example Fig.14 More than one computer system implementation such as the illustrated computer system 1400. Computer system 1400 may be any computer capable of performing the functions described herein.
[0122] Computer system 1400 may be any known computer capable of performing the functions described herein.
[0123] Computer system 1400 includes one or more processors (also referred to as central processing units or CPUs), such as processor 1404. Processor 1404 is connected to a communication infrastructure 1406 or bus.
[0124] One or more processors 1404 may each be a graphics processing unit (GPT). In one aspect, a GPU is a processor that is a special circuit designed to process mathematically intensive applications. A GPU may have a parallel architecture that is effective for parallel processing of large blocks of mathematically intensive data such as common computer graphics applications, images, videos, etc.
[0125] The computer system 1400 also includes a user input / output device 1403 such as a display, a keyboard, a pointing device, etc., which communicates with the communication infrastructure 1406 through a user input / output interface 1402 .
[0126] The computer system 1400 also includes a main memory or primary storage 1408 such as a random access memory (RAM). The main memory 1408 may include more than one level of cache. The main memory 1408 stores control logic (ie, computer software) and / or data.
[0127] The computer system 1400 may also include one or more secondary storage devices (secondary storage devices) or memories 1410. The secondary storage 1410 may include, for example, a hard disk drive 1412 or a removable storage device or drive 1414. The removable storage drive 1414 may be a floppy disk drive, a tape drive, a compact disc drive, an optical storage device, a tape backup device, and / or other storage devices / drives.
[0128] Removable storage drive (removable storage drive) 1414 may interact with removable storage device (removable storage drive) 1418. Removable storage device 1418 includes a computer-usable or readable storage device that stores computer software (control logic) and / or data. Removable storage device 1418 may be a floppy disk, magnetic tape, optical disk, DVD, optical storage device, other computer data storage device. Removable storage drive 1414 reads and / or writes to removable storage device 1418 in a well-known manner.
[0129] According to exemplary aspects, the secondary storage 1410 may include other means, tools, or other access methods that allow the computer system 1400 to access computer programs and / or other instructions and / or data. These means, tools, or other access methods may include, for example, a removable storage device 1422 and an interface 1420. Examples of removable storage devices 1422 and interfaces 1420 may include a program cartridge and cartridge interface (e.g., as found in video game devices), a removable memory chip (e.g., an EPROM or PROM) and associated sockets, a memory stick and USB port, a memory card and associated memory card slot, or other removable storage devices and associated interfaces.
[0130] The computer system 1400 may also include a communication or network interface 1424. The communication interface 1424 enables the computer system 1400 to communicate and interact with all combinations of remote devices, remote networks, remote entities, etc. (see reference numeral 1428, both individually and collectively). For example, the communication interface 1424 enables the computer system 1400 to communicate with a remote device (remote control device) 1428 via a communication path 1426, which may be wired and / or wireless, including all combinations of LAN, WAN, Internet, etc. Control logic and / or data may be sent and received with the computer system 1400 via the communication path 1426.
[0131] In one aspect, a tangible, non-transitory device or product including a tangible, non-transitory computer-usable or readable medium storing control logic (software) is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system 1400, main memory 1408, auxiliary memory 1410, removable storage devices 1418, 1422, and tangible products implementing the above combinations. Such control logic, when executed by one or more data processing devices (e.g., computer system 1400), causes such data processing devices to operate according to the instructions described herein.
[0132] Based on the teachings contained in this specification, ordinary technicians in the relevant technical field will be able to know how to use Fig.14 The aspects of the present disclosure may be formed and used with data processing devices, computer systems, and computer architectures other than those shown. In particular, aspects may be operated by implementations of software, hardware, and / or operating systems other than those described herein.
[0133] It should be understood that the detailed description section is intended to interpret the claims rather than other sections. The other sections may present more than one aspect but not all exemplary aspects contemplated by the inventors, and thus are not intended to limit the content of the present disclosure or the appended claims in any way.
[0134] The contents of this specification illustrate exemplary aspects of exemplary fields and application areas, but it should be understood that the disclosure is not limited thereto. Other aspects and modifications may be made, which fall within the scope and spirit of the contents of this disclosure. For example, without limiting the generality of this paragraph, an aspect is not limited to the software, hardware, firmware and / or entities shown in the drawings or described herein. In addition, an aspect (whether or not explicitly described herein) has considerable utility in fields and application areas beyond the examples described herein.
[0135] Aspects are described herein with the aid of functional building blocks that illustrate implementation of specified functions and relationships thereof. The boundaries of these functional building blocks are arbitrarily defined for convenience of description. Alternative boundaries may be defined so long as the specified functions and relationships (or their equivalents) are appropriately performed. Additionally, alternative aspects may perform functional blocks, steps, operations, methods, etc., in an order different from that described herein.
[0136] Here, "on the one hand", "one aspect", "exemplary aspects" or similar statements indicate that the described aspects may include specific functions, structures or characteristics, but not all aspects must include specific functions, structures or characteristics. Moreover, these statements do not necessarily refer to the same aspect. Furthermore, when specific functions, structures or characteristics are described in association with aspects, it is within the knowledge of ordinary technicians in the relevant technical field to integrate these functions, structures or characteristics into another aspect, regardless of whether they are explicitly mentioned or described herein. In addition, some aspects can be described by "combining", "connecting" and their derivatives. These terms are not necessarily used as synonyms for each other. For example, in some aspects, in order to indicate that two or more elements are in direct physical or electrical contact with each other, the words "connecting" and / or "combining" can be used for description. But "combining" may also mean that although two or more elements are not in direct contact, they still cooperate or interact with each other.
[0137] The breadth and scope of the present disclosure should not be limited by the above-described exemplary aspects, but should be defined only by the following claims and their equivalents.
Claims
1. A method comprising: The step of receiving, by a lidar detector, a reflected laser signal corresponding to a laser pulse transmitted by a lidar transmitter during a lidar frame, wherein the received reflected laser signal is related to a time period of the lidar frame and a pulse code offset applicable to the laser signal transmitted during the lidar frame; The step of integrating the received reflected laser signals into the avalanche histogram in time periods of the avalanche histogram corresponding to the time periods of the laser radar frame by one or more computing devices, wherein one or more additional received reflected laser signals are further integrated in the avalanche histogram as a group of received reflected laser signals in corresponding time periods of the avalanche histogram, each of the one or more additional received reflected laser signals having a corresponding pulse code offset; and The step of decoding the groups of received reflected laser signals by the one or more computing devices by shifting the received reflected laser signals of each of the groups of received reflected laser signals to a time period of a decoded avalanche histogram based on the corresponding pulse code offset.
2. The method according to claim 1, further comprising: The step of calculating the distance of the target based on the grouping of the received reflected laser signals within the time period of the decoded avalanche histogram by the one or more calculation devices.
3. The method according to claim 1, further comprising: The step of decoding the group of received reflected laser signals by respectively moving the received reflected laser signals of the group of received reflected laser signals to the time period of the avalanche histogram periodically decoded by periodically remapping the corresponding pulse code offset by means of the one or more computing devices.
4. The method according to claim 3, wherein: When the laser signal emitted during the laser radar frame is the reflected laser signal, R is given as the maximum distance of the target within the detectable range within the laser radar frame. max , The method further comprises: The N*R is calculated by one or more calculation devices according to the grouping of the received reflected laser signals within the time period of the periodically decoded avalanche histogram. max to (N+1)*R max The range of the target distance steps, The periodic remapping corresponds to the range.
5. The method according to claim 1, wherein the receiving step further comprises: The step of disarming the lidar detector during a hold-off period, wherein the hold-off period includes an arm offset applicable to a subsequent lidar frame, the arm offset corresponding to an arm code that moves a time window used to arm the lidar detector during the subsequent lidar frame.
6. The method of claim 1, selecting the pulse code offset to resolve a subset of the group of received reflected signals corresponding to reflections from out-of-range targets into scattered segments of the decoded avalanche histogram.
7. The method of claim 1, wherein the lidar detector comprises a single photon detector.
8. A system comprising: a lidar detector configured to receive reflected laser signals corresponding to laser pulses transmitted by a lidar transmitter during a lidar frame, wherein the received reflected laser signals are related to a time period of the lidar frame and a pulse code offset applicable to the laser signals transmitted during the lidar frame; Memory; and at least one processor configured to combine with the memory and execute operations, The operations include: The step of integrating the received reflected laser signal into the avalanche histogram in the time period of the avalanche histogram corresponding to the time period of the laser radar frame, wherein one or more additional received reflected laser signals are further integrated into the avalanche histogram as a group of received reflected laser signals in the corresponding time period of the avalanche histogram, and the one or more additional received reflected laser signals have corresponding pulse code offsets; and The step of decoding said group of received reflected laser signals by shifting said received reflected laser signals of each of said groups of received reflected laser signals to a time period of a decoded avalanche histogram based on said corresponding pulse code offset.
9. The system of claim 8, wherein the operations further comprise: The step of calculating the distance of the target based on the grouping of the received reflected laser signals within the time period of the decoded avalanche histogram.
10. The system of claim 8, the operations further comprising: The step of decoding the group of received reflected laser signals by respectively shifting the received reflected laser signals of the group of received reflected laser signals to a time period of the avalanche histogram periodically decoded according to the periodic remapping of the corresponding pulse code shift.