Scan patterns for lidar systems

In one embodiment, a system includes a first lidar sensor, which includes a first scanner configured to scan first pulses of light along a first scan pattern and a first receiver configured to detect scattered light from the first pulses of light. The system also includes a second lidar sensor, which includes a second scanner configured to scan second pulses of light along a second scan pattern and a second receiver configured to detect scattered light from the second pulses of light. The first scan pattern and the second scan pattern are at least partially overlapped. The system further includes an enclosure, where the first lidar sensor and the second lidar sensor are contained within the enclosure. The enclosure includes a window configured to transmit the first pulses of light and the second pulses of light.

INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

BACKGROUND

Technical Field

This disclosure generally relates to lidar systems.

Description of the Related Art

Light detection and ranging (lidar) is a technology that can be used to measure distances to remote targets. Typically, a lidar system includes a light source and an optical receiver. The light source can be, for example, a laser which emits light having a particular operating wavelength. The operating wavelength of a lidar system may lie, for example, in the infrared, visible, or ultraviolet portions of the electromagnetic spectrum. The light source emits light toward a target which then scatters the light. Some of the scattered light is received back at the receiver. The system determines the distance to the target based on one or more characteristics associated with the returned light. For example, the system may determine the distance to the target based on the time of flight of a returned light pulse.

DETAILED DESCRIPTION

FIG. 1illustrates an example light detection and ranging (lidar) system100. In particular embodiments, a lidar system100may be referred to as a laser ranging system, a laser radar system, a LIDAR system, a lidar sensor, or a laser detection and ranging (LADAR or ladar) system. In particular embodiments, a lidar system100may include a light source110, mirror115, scanner120, receiver140, or controller150. The light source110may be, for example, a laser which emits light having a particular operating wavelength in the infrared, visible, or ultraviolet portions of the electromagnetic spectrum. As an example, light source110may include a laser with an operating wavelength between approximately 1.2 μm and 1.7 μm. The light source110emits an output beam of light125which may be continuous-wave, pulsed, or modulated in any suitable manner for a given application. The output beam of light125is directed downrange toward a remote target130. As an example, the remote target130may be located a distance D of approximately 1 m to 1 km from the lidar system100.

Once the output beam125reaches the downrange target130, the target may scatter or reflect at least a portion of light from the output beam125, and some of the scattered or reflected light may return toward the lidar system100. In the example ofFIG. 1, the scattered or reflected light is represented by input beam135, which passes through scanner120and is directed by mirror115to receiver140. In particular embodiments, a relatively small fraction of the light from output beam125may return to the lidar system100as input beam135. As an example, the ratio of input beam135average power, peak power, or pulse energy to output beam125average power, peak power, or pulse energy may be approximately 10−1, 10−2, 10−3, 10−410−5, 10−6, 10−7, 10−8, 10−9, 10−10, 10−11, or 10−12. As another example, if a pulse of output beam125has a pulse energy of 1 microjoule (μJ), then the pulse energy of a corresponding pulse of input beam135may have a pulse energy of approximately 10 nanojoules (nJ), 1 nJ, 100 picojoules (pJ), 10 pJ, 1 pJ, 100 femtojoules (fJ), 10 fJ, 1 fJ, 100 attojoules (aJ), 10 aJ, or 1 aJ. In particular embodiments, output beam125may be referred to as a laser beam, light beam, optical beam, emitted beam, or beam. In particular embodiments, input beam135may be referred to as a return beam, received beam, return light, received light, input light, scattered light, or reflected light. As used herein, scattered light may refer to light that is scattered or reflected by a target130. As an example, an input beam135may include: light from the output beam125that is scattered by target130; light from the output beam125that is reflected by target130; or a combination of scattered and reflected light from target130.

In particular embodiments, receiver140may receive or detect photons from input beam135and generate one or more representative signals. For example, the receiver140may generate an output electrical signal145that is representative of the input beam135. This electrical signal145may be sent to controller150. In particular embodiments, controller150may include a processor, computing system (e.g., an ASIC or FPGA), or other suitable circuitry configured to analyze one or more characteristics of the electrical signal145from the receiver140to determine one or more characteristics of the target130, such as its distance downrange from the lidar system100. This can be done, for example, by analyzing the time of flight or phase modulation for a beam of light125transmitted by the light source110. If lidar system100measures a time of flight of T (e.g., T represents a round-trip time of flight for an emitted pulse of light to travel from the lidar system100to the target130and back to the lidar system100), then the distance D from the target130to the lidar system100may be expressed as D=c·T/2, where c is the speed of light (approximately 3.0×108m/s). As an example, if a time of flight is measured to be T=300 ns, then the distance from the target130to the lidar system100may be determined to be approximately D=45.0 m. As another example, if a time of flight is measured to be T=1.33 μs, then the distance from the target130to the lidar system100may be determined to be approximately D=199.5 m. In particular embodiments, a distance D from lidar system100to a target130may be referred to as a distance, depth, or range of target130. As used herein, the speed of light c refers to the speed of light in any suitable medium, such as for example in air, water, or vacuum. As an example, the speed of light in vacuum is approximately 2.9979×108m/s, and the speed of light in air (which has a refractive index of approximately 1.0003) is approximately 2.9970×108m/s.

In particular embodiments, light source110may include a pulsed laser. As an example, light source110may be a pulsed laser configured to produce or emit pulses of light with a pulse duration or pulse width of approximately 10 picoseconds (ps) to 20 nanoseconds (ns). As another example, light source110may be a pulsed laser that produces pulses with a pulse duration of approximately 200-400 ps. As another example, light source110may be a pulsed laser that produces pulses at a pulse repetition frequency of approximately 100 kHz to 5 MHz or a pulse period (e.g., a time between consecutive pulses) of approximately 200 ns to 10 μs. In particular embodiments, light source110may have a substantially constant pulse repetition frequency, or light source110may have a variable or adjustable pulse repetition frequency. As an example, light source110may be a pulsed laser that produces pulses at a substantially constant pulse repetition frequency of approximately 640 kHz (e.g., 640,000 pulses per second), corresponding to a pulse period of approximately 1.56 as. As another example, light source110may have a pulse repetition frequency that can be varied from approximately 500 kHz to 3 MHz. As used herein, a pulse of light may be referred to as an optical pulse, a light pulse, or a pulse.

In particular embodiments, light source110may produce a free-space output beam125having any suitable average optical power, and the output beam125may have optical pulses with any suitable pulse energy or peak optical power. As an example, output beam125may have an average power of approximately 1 mW, 10 mW, 100 mW, 1 W, 10 W, or any other suitable average power. As another example, output beam125may include pulses with a pulse energy of approximately 0.1 μJ, 1 μJ, 10 μJ, 100 μJ, 1 mJ, or any other suitable pulse energy. As another example, output beam125may include pulses with a peak power of approximately 10 W, 100 W, 1 kW, 5 kW, 10 kW, or any other suitable peak power. An optical pulse with a duration of 400 ps and a pulse energy of 1 μJ has a peak power of approximately 2.5 kW. If the pulse repetition frequency is 500 kHz, then the average power of an output beam125with 1-μJ pulses is approximately 0.5 W.

In particular embodiments, light source110may include a laser diode, such as for example, a Fabry-Perot laser diode, a quantum well laser, a distributed Bragg reflector (DBR) laser, a distributed feedback (DFB) laser, or a vertical-cavity surface-emitting laser (VCSEL). As an example, light source110may include an aluminum-gallium-arsenide (AlGaAs) laser diode, an indium-gallium-arsenide (InGaAs) laser diode, or an indium-gallium-arsenide-phosphide (InGaAsP) laser diode. In particular embodiments, light source110may include a pulsed laser diode with a peak emission wavelength of approximately 1400-1600 nm. As an example, light source110may include a laser diode that is current modulated to produce optical pulses. In particular embodiments, light source110may include a pulsed laser diode followed by one or more optical-amplification stages. As an example, light source110may be a fiber-laser module that includes a current-modulated laser diode with a peak wavelength of approximately 1550 nm followed by a single-stage or a multi-stage erbium-doped fiber amplifier (EDFA). As another example, light source110may include a continuous-wave (CW) or quasi-CW laser diode followed by an external optical modulator (e.g., an electro-optic modulator), and the output of the modulator may be fed into an optical amplifier.

In particular embodiments, an output beam of light125emitted by light source110may be a collimated optical beam with any suitable beam divergence, such as for example, a divergence of approximately 0.1 to 3.0 milliradian (mrad). A divergence of output beam125may refer to an angular measure of an increase in beam size (e.g., a beam radius or beam diameter) as output beam125travels away from light source110or lidar system100. In particular embodiments, output beam125may have a substantially circular cross section with a beam divergence characterized by a single divergence value. As an example, an output beam125with a circular cross section and a divergence of 1 mrad may have a beam diameter or spot size of approximately 10 cm at a distance of 100 m from lidar system100. In particular embodiments, output beam125may be an astigmatic beam or may have a substantially elliptical cross section and may be characterized by two divergence values. As an example, output beam125may have a fast axis and a slow axis, where the fast-axis divergence is greater than the slow-axis divergence. As another example, output beam125may be an astigmatic beam with a fast-axis divergence of 2 mrad and a slow-axis divergence of 0.5 mrad.

In particular embodiments, an output beam of light125emitted by light source110may be unpolarized or randomly polarized, may have no specific or fixed polarization (e.g., the polarization may vary with time), or may have a particular polarization (e.g., output beam125may be linearly polarized, elliptically polarized, or circularly polarized). As an example, light source110may produce linearly polarized light, and lidar system100may include a quarter-wave plate that converts this linearly polarized light into circularly polarized light. The circularly polarized light may be transmitted as output beam125, and lidar system100may receive input beam135, which may be substantially or at least partially circularly polarized in the same manner as the output beam125(e.g., if output beam125is right-hand circularly polarized, then input beam135may also be right-hand circularly polarized). The input beam135may pass through the same quarter-wave plate (or a different quarter-wave plate) resulting in the input beam135being converted to linearly polarized light which is orthogonally polarized (e.g., polarized at a right angle) with respect to the linearly polarized light produced by light source110. As another example, lidar system100may employ polarization-diversity detection where two polarization components are detected separately. The output beam125may be linearly polarized, and the lidar system100may split the input beam135into two polarization components (e.g., s-polarization and p-polarization) which are detected separately by two photodiodes (e.g., a balanced photoreceiver that includes two photodiodes).

In particular embodiments, lidar system100may include one or more optical components configured to condition, shape, filter, modify, steer, or direct the output beam125or the input beam135. As an example, lidar system100may include one or more lenses, mirrors, filters (e.g., bandpass or interference filters), beam splitters, polarizers, polarizing beam splitters, wave plates (e.g., half-wave or quarter-wave plates), diffractive elements, or holographic elements. In particular embodiments, lidar system100may include a telescope, one or more lenses, or one or more mirrors to expand, focus, or collimate the output beam125to a desired beam diameter or divergence. As an example, the lidar system100may include one or more lenses to focus the input beam135onto an active region of receiver140. As another example, the lidar system100may include one or more flat mirrors or curved mirrors (e.g., concave, convex, or parabolic mirrors) to steer or focus the output beam125or the input beam135. For example, the lidar system100may include an off-axis parabolic mirror to focus the input beam135onto an active region of receiver140. As illustrated inFIG. 1, the lidar system100may include mirror115(which may be a metallic or dielectric mirror), and mirror115may be configured so that light beam125passes through the mirror115. As an example, mirror115(which may be referred to as an overlap mirror, superposition mirror, or beam-combiner mirror) may include a hole, slot, or aperture which output light beam125passes through. As another example, mirror115may be configured so that at least 80% of output beam125passes through mirror115and at least 80% of input beam135is reflected by mirror115. In particular embodiments, mirror115may provide for output beam125and input beam135to be substantially coaxial so that the two beams travel along substantially the same optical path (albeit in opposite directions).

In particular embodiments, lidar system100may include a scanner120to steer the output beam125in one or more directions downrange. As an example, scanner120may include one or more scanning mirrors that are configured to rotate, tilt, pivot, or move in an angular manner about one or more axes. In particular embodiments, a flat scanning mirror may be attached to a scanner actuator or mechanism which scans the mirror over a particular angular range. As an example, scanner120may include a galvanometer scanner, a resonant scanner, a piezoelectric actuator, a polygonal scanner, a rotating-prism scanner, a voice coil motor, a DC motor, a stepper motor, or a microelectromechanical systems (MEMS) device, or any other suitable actuator or mechanism. In particular embodiments, scanner120may be configured to scan the output beam125over a 5-degree angular range, 20-degree angular range, 30-degree angular range, 60-degree angular range, or any other suitable angular range. As an example, a scanning mirror may be configured to periodically rotate over a 15-degree range, which results in the output beam125scanning across a 30-degree range (e.g., a 0-degree rotation by a scanning mirror results in a 20-degree angular scan of output beam125). In particular embodiments, a field of regard (FOR) of a lidar system100may refer to an area, region, or angular range over which the lidar system100may be configured to scan or capture distance information. As an example, a lidar system100with an output beam125with a 30-degree scanning range may be referred to as having a 30-degree angular field of regard. As another example, a lidar system100with a scanning mirror that rotates over a 30-degree range may produce an output beam125that scans across a 60-degree range (e.g., a 60-degree FOR). In particular embodiments, lidar system100may have a FOR of approximately 10°, 20°, 40°, 60°, 120°, or any other suitable FOR. In particular embodiments, a FOR may be referred to as a scan region.

In particular embodiments, scanner120may be configured to scan the output beam125horizontally and vertically, and lidar system100may have a particular FOR along the horizontal direction and another particular FOR along the vertical direction. As an example, lidar system100may have a horizontal FOR of 10° to 120° and a vertical FOR of 2° to 45°. In particular embodiments, scanner120may include a first mirror and a second mirror, where the first mirror directs the output beam125toward the second mirror, and the second mirror directs the output beam125downrange. As an example, the first mirror may scan the output beam125along a first direction, and the second mirror may scan the output beam125along a second direction that is substantially orthogonal to the first direction. As another example, the first mirror may scan the output beam125along a substantially horizontal direction, and the second mirror may scan the output beam125along a substantially vertical direction (or vice versa). In particular embodiments, scanner120may be referred to as a beam scanner, optical scanner, or laser scanner.

In particular embodiments, one or more scanning mirrors may be communicatively coupled to controller150which may control the scanning mirror(s) so as to guide the output beam125in a desired direction downrange or along a desired scan pattern. In particular embodiments, a scan pattern (which may be referred to as an optical scan pattern, optical scan path, or scan path) may refer to a pattern or path along which the output beam125is directed. As an example, scanner120may include two scanning mirrors configured to scan the output beam125across a 60° horizontal FOR and a 20° vertical FOR. The two scanner mirrors may be controlled to follow a scan path that substantially covers the 60°×20° FOR. As an example, the scan path may result in a point cloud with pixels that substantially cover the 60°×20° FOR. The pixels may be approximately evenly distributed across the 60°×20° FOR. Alternately, the pixels may have a particular nonuniform distribution (e.g., the pixels may be distributed across all or a portion of the 60°×20° FOR, and the pixels may have a higher density in one or more particular regions of the 60°×20° FOR).

In particular embodiments, a light source110may emit pulses of light which are scanned by scanner120across a FOR of lidar system100. One or more of the emitted pulses of light may be scattered by a target130located downrange from the lidar system100, and a receiver140may detect at least a portion of the pulses of light scattered by the target130. In particular embodiments, receiver140may be referred to as a photoreceiver, optical receiver, optical sensor, detector, photodetector, or optical detector. In particular embodiments, lidar system100may include a receiver140that receives or detects at least a portion of input beam135and produces an electrical signal that corresponds to input beam135. As an example, if input beam135includes an optical pulse, then receiver140may produce an electrical current or voltage pulse that corresponds to the optical pulse detected by receiver140. As another example, receiver140may include one or more avalanche photodiodes (APDs) or one or more single-photon avalanche diodes (SPADs). As another example, receiver140may include one or more PN photodiodes (e.g., a photodiode structure formed by a p-type semiconductor and a n-type semiconductor) or one or more PIN photodiodes (e.g., a photodiode structure formed by an undoped intrinsic semiconductor region located between p-type and n-type regions). Receiver140may have an active region or an avalanche-multiplication region that includes silicon, germanium, or InGaAs. The active region of receiver140may have any suitable size, such as for example, a diameter or width of approximately 50-500 am. In particular embodiments, receiver140may include circuitry that performs signal amplification, sampling, filtering, signal conditioning, analog-to-digital conversion, time-to-digital conversion, pulse detection, threshold detection, rising-edge detection, or falling-edge detection. As an example, receiver140may include a transimpedance amplifier that converts a received photocurrent (e.g., a current produced by an APD in response to a received optical signal) into a voltage signal. The voltage signal may be sent to pulse-detection circuitry that produces an analog or digital output signal145that corresponds to one or more characteristics (e.g., rising edge, falling edge, amplitude, or duration) of a received optical pulse. As an example, the pulse-detection circuitry may perform a time-to-digital conversion to produce a digital output signal145. The electrical output signal145may be sent to controller150for processing or analysis (e.g., to determine a time-of-flight value corresponding to a received optical pulse).

In particular embodiments, controller150may be electrically coupled or communicatively coupled to light source110, scanner120, or receiver140. As an example, controller150may receive electrical trigger pulses or edges from light source110, where each pulse or edge corresponds to the emission of an optical pulse by light source110. As another example, controller150may provide instructions, a control signal, or a trigger signal to light source110indicating when light source110should produce optical pulses. Controller150may send an electrical trigger signal that includes electrical pulses, where each electrical pulse results in the emission of an optical pulse by light source110. In particular embodiments, the frequency, period, duration, pulse energy, peak power, average power, or wavelength of the optical pulses produced by light source110may be adjusted based on instructions, a control signal, or trigger pulses provided by controller150. In particular embodiments, controller150may be coupled to light source110and receiver140, and controller150may determine a time-of-flight value for an optical pulse based on timing information associated with when the pulse was emitted by light source110and when a portion of the pulse (e.g., input beam135) was detected or received by receiver140. In particular embodiments, controller150may include circuitry that performs signal amplification, sampling, filtering, signal conditioning, analog-to-digital conversion, time-to-digital conversion, pulse detection, threshold detection, rising-edge detection, or falling-edge detection.

In particular embodiments, a lidar system100may be used to determine the distance to one or more downrange targets130. By scanning the lidar system100across a field of regard, the system can be used to map the distance to a number of points within the field of regard. Each of these depth-mapped points may be referred to as a pixel. A collection of pixels captured in succession (which may be referred to as a depth map, a point cloud, or a frame) may be rendered as an image or may be analyzed to identify or detect objects or to determine a shape or distance of objects within the FOR. As an example, a depth map may cover a field of regard that extends 60° horizontally and 15° vertically, and the depth map may include a frame of 100-2000 pixels in the horizontal direction by 4-400 pixels in the vertical direction.

In particular embodiments, lidar system100may be configured to repeatedly capture or generate point clouds of a field of regard at any suitable frame rate between approximately 0.1 frames per second (FPS) and approximately 1,000 FPS. As an example, lidar system100may generate point clouds at a frame rate of approximately 0.1 FPS, 0.5 FPS, 1 FPS, 2 FPS, 5 FPS, 10 FPS, 20 FPS, 100 FPS, 500 FPS, or 1,000 FPS. As another example, lidar system100may be configured to produce optical pulses at a rate of 5×105pulses/second (e.g., the system may determine 500,000 pixel distances per second) and scan a frame of 1000×50 pixels (e.g., 50,000 pixels/frame), which corresponds to a point-cloud frame rate of 10 frames per second (e.g., 10 point clouds per second). In particular embodiments, a point-cloud frame rate may be substantially fixed, or a point-cloud frame rate may be dynamically adjustable. As an example, a lidar system100may capture one or more point clouds at a particular frame rate (e.g., 1 Hz) and then switch to capture one or more point clouds at a different frame rate (e.g., 10 Hz). A slower frame rate (e.g., 1 Hz) may be used to capture one or more high-resolution point clouds, and a faster frame rate (e.g., 10 Hz) may be used to rapidly capture multiple lower-resolution point clouds.

In particular embodiments, a lidar system100may be configured to sense, identify, or determine distances to one or more targets130within a field of regard. As an example, a lidar system100may determine a distance to a target130, where all or part of the target130is contained within a field of regard of the lidar system100. All or part of a target130being contained within a FOR of the lidar system100may refer to the FOR overlapping, encompassing, or enclosing at least a portion of the target130. In particular embodiments, target130may include all or part of an object that is moving or stationary relative to lidar system100. As an example, target130may include all or a portion of a person, vehicle, motorcycle, truck, train, bicycle, wheelchair, pedestrian, animal, road sign, traffic light, lane marking, road-surface marking, parking space, pylon, guard rail, traffic barrier, pothole, railroad crossing, obstacle in or near a road, curb, stopped vehicle on or beside a road, utility pole, house, building, trash can, mailbox, tree, any other suitable object, or any suitable combination of all or part of two or more objects.

In particular embodiments, one or more lidar systems100may be integrated into a vehicle. As an example, multiple lidar systems100may be integrated into a car to provide a complete 360-degree horizontal FOR around the car. As another example, 6-10 lidar systems100, each system having a 45-degree to 90-degree horizontal FOR, may be combined together to form a sensing system that provides a point cloud covering a 360-degree horizontal FOR. The lidar systems100may be oriented so that adjacent FORs have an amount of spatial or angular overlap to allow data from the multiple lidar systems100to be combined or stitched together to form a single or continuous 360-degree point cloud. As an example, the FOR of each lidar system100may have approximately 1-15 degrees of overlap with an adjacent FOR. In particular embodiments, a vehicle may refer to a mobile machine configured to transport people or cargo. For example, a vehicle may include, may take the form of, or may be referred to as a car, automobile, motor vehicle, truck, bus, van, trailer, off-road vehicle, farm vehicle, lawn mower, construction equipment, golf cart, motorhome, taxi, motorcycle, scooter, bicycle, skateboard, train, snowmobile, watercraft (e.g., a ship or boat), aircraft (e.g., a fixed-wing aircraft, helicopter, or dirigible), or spacecraft. In particular embodiments, a vehicle may include an internal combustion engine or an electric motor that provides propulsion for the vehicle.

In particular embodiments, one or more lidar systems100may be included in a vehicle as part of an advanced driver assistance system (ADAS) to assist a driver of the vehicle in the driving process. For example, a lidar system100may be part of an ADAS that provides information or feedback to a driver (e.g., to alert the driver to potential problems or hazards) or that automatically takes control of part of a vehicle (e.g., a braking system or a steering system) to avoid collisions or accidents. A lidar system100may be part of a vehicle ADAS that provides adaptive cruise control, automated braking, automated parking, collision avoidance, alerts the driver to hazards or other vehicles, maintains the vehicle in the correct lane, or provides a warning if an object or another vehicle is in a blind spot.

In particular embodiments, one or more lidar systems100may be integrated into a vehicle as part of an autonomous-vehicle driving system. As an example, a lidar system100may provide information about the surrounding environment to a driving system of an autonomous vehicle. An autonomous-vehicle driving system may include one or more computing systems that receive information from a lidar system100about the surrounding environment, analyze the received information, and provide control signals to the vehicle's driving systems (e.g., steering wheel, accelerator, brake, or turn signal). As an example, a lidar system100integrated into an autonomous vehicle may provide an autonomous-vehicle driving system with a point cloud every 0.1 seconds (e.g., the point cloud has a 10 Hz update rate, representing 10 frames per second). The autonomous-vehicle driving system may analyze the received point clouds to sense or identify targets130and their respective locations, distances, or speeds, and the autonomous-vehicle driving system may update control signals based on this information. As an example, if lidar system100detects a vehicle ahead that is slowing down or stopping, the autonomous-vehicle driving system may send instructions to release the accelerator and apply the brakes.

In particular embodiments, an autonomous vehicle may be referred to as an autonomous car, driverless car, self-driving car, robotic car, or unmanned vehicle. In particular embodiments, an autonomous vehicle may refer to a vehicle configured to sense its environment and navigate or drive with little or no human input. As an example, an autonomous vehicle may be configured to drive to any suitable location and control or perform all safety-critical functions (e.g., driving, steering, braking, parking) for the entire trip, with the driver not expected to control the vehicle at any time. As another example, an autonomous vehicle may allow a driver to safely turn their attention away from driving tasks in particular environments (e.g., on freeways), or an autonomous vehicle may provide control of a vehicle in all but a few environments, requiring little or no input or attention from the driver.

In particular embodiments, an autonomous vehicle may be configured to drive with a driver present in the vehicle, or an autonomous vehicle may be configured to operate the vehicle with no driver present. As an example, an autonomous vehicle may include a driver's seat with associated controls (e.g., steering wheel, accelerator pedal, and brake pedal), and the vehicle may be configured to drive with no one seated in the driver's seat or with little or no input from a person seated in the driver's seat. As another example, an autonomous vehicle may not include any driver's seat or associated driver's controls, and the vehicle may perform substantially all driving functions (e.g., driving, steering, braking, parking, and navigating) without human input. As another example, an autonomous vehicle may be configured to operate without a driver (e.g., the vehicle may be configured to transport human passengers or cargo without a driver present in the vehicle). As another example, an autonomous vehicle may be configured to operate without any human passengers (e.g., the vehicle may be configured for transportation of cargo without having any human passengers onboard the vehicle).

FIG. 2illustrates an example scan pattern200produced by a lidar system100. In particular embodiments, a lidar system100may be configured to scan output optical beam125along one or more particular scan patterns200. In particular embodiments, a scan pattern200may scan across any suitable field of regard (FOR) having any suitable horizontal FOR (FORH) and any suitable vertical FOR (FORV). For example, a scan pattern200may have a field of regard represented by angular dimensions (e.g., FORH×FORV) 40°×30°, 90°×40°, or 60°×15°. As another example, a scan pattern200may have a FORHgreater than or equal to 10°, 25°, 30°, 40°, 60°, 90°, or 120°. As another example, a scan pattern200may have a FORVgreater than or equal to 2°, 5°, 10°, 15°, 20°, 30°, or 45°. In the example ofFIG. 2, reference line220represents a center of the field of regard of scan pattern200. In particular embodiments, reference line220may have any suitable orientation, such as for example, a horizontal angle of 0° (e.g., reference line220may be oriented straight ahead) and a vertical angle of 0° (e.g., reference line220may have an inclination of 0°), or reference line220may have a nonzero horizontal angle or a nonzero inclination (e.g., a vertical angle of +10° or −10°). InFIG. 2, if the scan pattern200has a 60°×15° field of regard, then scan pattern200covers a ±30° horizontal range with respect to reference line220and a ±7.5° vertical range with respect to reference line220. Additionally, optical beam125inFIG. 2has an orientation of approximately −15° horizontal and +3° vertical with respect to reference line220. Optical beam125may be referred to as having an azimuth of −15° and an altitude of +3° relative to reference line220. In particular embodiments, an azimuth (which may be referred to as an azimuth angle) may represent a horizontal angle with respect to reference line220, and an altitude (which may be referred to as an altitude angle, elevation, or elevation angle) may represent a vertical angle with respect to reference line220.

In particular embodiments, a scan pattern200may include multiple pixels210, and each pixel210may be associated with one or more laser pulses and one or more corresponding distance measurements. In particular embodiments, a cycle of scan pattern200may include a total of Px×Pypixels210(e.g., a two-dimensional distribution of Pxby Pypixels). As an example, scan pattern200may include a distribution with dimensions of approximately 100-2,000 pixels210along a horizontal direction and approximately 4-400 pixels210along a vertical direction. As another example, scan pattern200may include a distribution of 1,000 pixels210along the horizontal direction by 64 pixels210along the vertical direction (e.g., the frame size is 1000×64 pixels) for a total of 64,000 pixels per cycle of scan pattern200. In particular embodiments, the number of pixels210along a horizontal direction may be referred to as a horizontal resolution of scan pattern200, and the number of pixels210along a vertical direction may be referred to as a vertical resolution. As an example, scan pattern200may have a horizontal resolution of greater than or equal to 100 pixels210and a vertical resolution of greater than or equal to 4 pixels210. As another example, scan pattern200may have a horizontal resolution of 100-2,000 pixels210and a vertical resolution of 4-400 pixels210.

In particular embodiments, each pixel210may be associated with a distance (e.g., a distance to a portion of a target130from which an associated laser pulse was scattered) or one or more angular values. As an example, a pixel210may be associated with a distance value and two angular values (e.g., an azimuth and altitude) that represent the angular location of the pixel210with respect to the lidar system100. A distance to a portion of target130may be determined based at least in part on a time-of-flight measurement for a corresponding pulse. An angular value (e.g., an azimuth or altitude) may correspond to an angle (e.g., relative to reference line220) of output beam125(e.g., when a corresponding pulse is emitted from lidar system100) or an angle of input beam135(e.g., when an input signal is received by lidar system100). In particular embodiments, an angular value may be determined based at least in part on a position of a component of scanner120. As an example, an azimuth or altitude value associated with a pixel210may be determined from an angular position of one or more corresponding scanning mirrors of scanner120.

FIG. 3illustrates an example lidar system100with an example overlap mirror115. In particular embodiments, a lidar system100may include a light source110configured to emit pulses of light and a scanner120configured to scan at least a portion of the emitted pulses of light across a field of regard. As an example, the light source110may include a pulsed solid-state laser or a pulsed fiber laser, and the optical pulses produced by the light source110may be directed through aperture310of overlap mirror115and then coupled to scanner120. In particular embodiments, a lidar system100may include a receiver140configured to detect at least a portion of the scanned pulses of light scattered by a target130located a distance D from the lidar system100. As an example, one or more pulses of light that are directed downrange from lidar system100by scanner120(e.g., as part of output beam125) may scatter off a target130, and a portion of the scattered light may propagate back to the lidar system100(e.g., as part of input beam135) and be detected by receiver140.

In particular embodiments, lidar system100may include one or more processors (e.g., controller150) configured to determine a distance D from the lidar system100to a target130based at least in part on a round-trip time of flight for an emitted pulse of light to travel from the lidar system100to the target130and back to the lidar system100. The target130may be at least partially contained within a field of regard of the lidar system100and located a distance D from the lidar system100that is less than or equal to a maximum range RMAXof the lidar system100. In particular embodiments, a maximum range (which may be referred to as a maximum distance) of a lidar system100may refer to the maximum distance over which the lidar system100is configured to sense or identify targets130that appear in a field of regard of the lidar system100. The maximum range of lidar system100may be any suitable distance, such as for example, 25 m, 50 m, 100 m, 200 m, 500 m, or 1 km. As an example, a lidar system100with a 200-m maximum range may be configured to sense or identify various targets130located up to 200 m away from the lidar system100. For a lidar system100with a 200-m maximum range (RMAX=200 m), the time of flight corresponding to the maximum range is approximately 2·RMAX/c≅1.33 μs.

In particular embodiments, light source110, scanner120, and receiver140may be packaged together within a single housing, where a housing may refer to a box, case, or enclosure that holds or contains all or part of a lidar system100. As an example, a lidar-system enclosure may contain a light source110, overlap mirror115, scanner120, and receiver140of a lidar system100. Additionally, the lidar-system enclosure may include a controller150, or a controller150may be located remotely from the enclosure. The lidar-system enclosure may also include one or more electrical connections for conveying electrical power or electrical signals to or from the enclosure.

In particular embodiments, light source110may include an eye-safe laser. An eye-safe laser may refer to a laser with an emission wavelength, average power, peak power, peak intensity, pulse energy, beam size, beam divergence, or exposure time such that emitted light from the laser presents little or no possibility of causing damage to a person's eyes. As an example, light source110may be classified as a Class 1 laser product (as specified by the 60825-1 standard of the International Electrotechnical Commission (IEC)) or a Class I laser product (as specified by Title 21, Section 1040.10 of the United States Code of Federal Regulations (CFR)) that is safe under all conditions of normal use. In particular embodiments, light source110may include an eye-safe laser (e.g., a Class 1 or a Class I laser) configured to operate at any suitable wavelength between approximately 1400 nm and approximately 2100 nm. As an example, light source110may include an eye-safe laser with an operating wavelength between approximately 1400 nm and approximately 1600 nm. As another example, light source110may include an eye-safe laser with an operating wavelength between approximately 1530 nm and approximately 1560 nm. As another example, light source110may include an eye-safe fiber laser or solid-state laser with an operating wavelength between approximately 1400 nm and approximately 1600 nm.

In particular embodiments, scanner120may include one or more mirrors, where each mirror is mechanically driven by a galvanometer scanner, a resonant scanner, a MEMS device, a voice coil motor, or any suitable combination thereof. A galvanometer scanner (which may be referred to as a galvanometer actuator) may include a galvanometer-based scanning motor with a magnet and coil. When an electrical current is supplied to the coil, a rotational force is applied to the magnet, which causes a mirror attached to the galvanometer scanner to rotate. The electrical current supplied to the coil may be controlled to dynamically change the position of the galvanometer mirror. A resonant scanner (which may be referred to as a resonant actuator) may include a spring-like mechanism driven by an actuator to produce a periodic oscillation at a substantially fixed frequency (e.g., 1 kHz). A MEMS-based scanning device may include a mirror with a diameter between approximately 1 and 10 mm, where the mirror is rotated using electromagnetic or electrostatic actuation. A voice coil motor (which may be referred to as a voice coil actuator) may include a magnet and coil. When an electrical current is supplied to the coil, a translational force is applied to the magnet, which causes a mirror attached to the magnet to move or rotate.

In particular embodiments, a scanner120may include any suitable number of mirrors driven by any suitable number of mechanical actuators. As an example, a scanner120may include a single mirror configured to scan an output beam125along a single direction (e.g., a scanner120may be a one-dimensional scanner that scans along a horizontal or vertical direction). The mirror may be driven by one actuator (e.g., a galvanometer) or two actuators configured to drive the mirror in a push-pull configuration. As another example, a scanner120may include a single mirror that scans an output beam125along two directions (e.g., horizontal and vertical). The mirror may be driven by two actuators, where each actuator provides rotational motion along a particular direction or about a particular axis. As another example, a scanner120may include two mirrors, where one mirror scans an output beam125along a substantially horizontal direction and the other mirror scans the output beam125along a substantially vertical direction. In the example ofFIG. 3, scanner120includes two mirrors, mirror300-1and mirror300-2. Mirror300-1may scan output beam125along a substantially horizontal direction, and mirror300-2may scan the output beam125along a substantially vertical direction (or vice versa).

In particular embodiments, a scanner120may include two mirrors, where each mirror is driven by a corresponding galvanometer scanner. As an example, scanner120may include a galvanometer actuator that scans mirror300-1along a first direction (e.g., vertical), and scanner120may include another galvanometer actuator that scans mirror300-2along a second direction (e.g., horizontal). In particular embodiments, a scanner120may include two mirrors, where one mirror is driven by a galvanometer actuator and the other mirror is driven by a resonant actuator. As an example, a galvanometer actuator may scan mirror300-1along a first direction, and a resonant actuator may scan mirror300-2along a second direction. The first and second scanning directions may be substantially orthogonal to one another. As an example, the first direction may be substantially vertical, and the second direction may be substantially horizontal, or vice versa. In particular embodiments, a scanner120may include one mirror driven by two actuators which are configured to scan the mirror along two substantially orthogonal directions. As an example, one mirror may be driven along a substantially horizontal direction by a resonant actuator or a galvanometer actuator, and the mirror may also be driven along a substantially vertical direction by a galvanometer actuator. As another example, a mirror may be driven along two substantially orthogonal directions by two resonant actuators.

In particular embodiments, a scanner120may include a mirror configured to be scanned along one direction by two actuators arranged in a push-pull configuration. Driving a mirror in a push-pull configuration may refer to a mirror that is driven in one direction by two actuators. The two actuators may be located at opposite ends or sides of the mirror, and the actuators may be driven in a cooperative manner so that when one actuator pushes on the mirror, the other actuator pulls on the mirror, and vice versa. As an example, a mirror may be driven along a horizontal or vertical direction by two voice coil actuators arranged in a push-pull configuration. In particular embodiments, a scanner120may include one mirror configured to be scanned along two axes, where motion along each axis is provided by two actuators arranged in a push-pull configuration. As an example, a mirror may be driven along a horizontal direction by two resonant actuators arranged in a horizontal push-pull configuration, and the mirror may be driven along a vertical direction by another two resonant actuators arranged in a vertical push-pull configuration.

In particular embodiments, a scanner120may include two mirrors which are driven synchronously so that the output beam125is directed along any suitable scan pattern200. As an example, a galvanometer actuator may drive mirror300-2with a substantially linear back-and-forth motion (e.g., the galvanometer may be driven with a substantially sinusoidal or triangle-shaped waveform) that causes output beam125to trace a substantially horizontal back-and-forth pattern. Additionally, another galvanometer actuator may scan mirror300-1along a substantially vertical direction. For example, the two galvanometers may be synchronized so that for every 64 horizontal traces, the output beam125makes a single trace along a vertical direction. As another example, a resonant actuator may drive mirror300-2along a substantially horizontal direction, and a galvanometer actuator or a resonant actuator may scan mirror300-1along a substantially vertical direction.

In particular embodiments, a scanner120may include one mirror driven by two or more actuators, where the actuators are driven synchronously so that the output beam125is directed along a particular scan pattern200. As an example, one mirror may be driven synchronously along two substantially orthogonal directions so that the output beam125follows a scan pattern200that includes substantially straight lines. In particular embodiments, a scanner120may include two mirrors driven synchronously so that the synchronously driven mirrors trace out a scan pattern200that includes substantially straight lines. As an example, the scan pattern200may include a series of substantially straight lines directed substantially horizontally, vertically, or along any other suitable direction. The straight lines may be achieved by applying a dynamically adjusted deflection along a vertical direction (e.g., with a galvanometer actuator) as an output beam125is scanned along a substantially horizontal direction (e.g., with a galvanometer or resonant actuator). If a vertical deflection is not applied, the output beam125may trace out a curved path as it scans from side to side. By applying a vertical deflection as the mirror is scanned horizontally, a scan pattern200that includes substantially straight lines may be achieved. In particular embodiments, a vertical actuator may be used to apply both a dynamically adjusted vertical deflection as the output beam125is scanned horizontally as well as a discrete vertical offset between each horizontal scan (e.g., to step the output beam125to a subsequent row of a scan pattern200).

In the example ofFIG. 3, lidar system100produces an output beam125and receives light from an input beam135. The output beam125, which includes at least a portion of the pulses of light emitted by light source110, may be scanned across a field of regard. The input beam135may include at least a portion of the scanned pulses of light which are scattered by one or more targets130and detected by receiver140. In particular embodiments, output beam125and input beam135may be substantially coaxial. The input and output beams being substantially coaxial may refer to the beams being at least partially overlapped or sharing a common propagation axis so that input beam135and output beam125travel along substantially the same optical path (albeit in opposite directions). As output beam125is scanned across a field of regard, the input beam135may follow along with the output beam125so that the coaxial relationship between the two beams is maintained.

In particular embodiments, a lidar system100may include an overlap mirror115configured to overlap the input beam135and output beam125so that they are substantially coaxial. InFIG. 3, the overlap mirror115includes a hole, slot, or aperture310which the output beam125passes through and a reflecting surface320that reflects at least a portion of the input beam135toward the receiver140. The overlap mirror115may be oriented so that input beam135and output beam125are at least partially overlapped. In particular embodiments, input beam135may pass through a lens330which focuses the beam onto an active region of the receiver140. The active region may refer to an area over which receiver140may receive or detect input light. The active region may have any suitable size or diameter d, such as for example, a diameter of approximately 25 μm, 50 μm, 80 μm, 100 μm, 200 μm, 500 μm, 1 mm, 2 mm, or 5 mm. In particular embodiments, overlap mirror115may have a reflecting surface320that is substantially flat or the reflecting surface320may be curved (e.g., mirror115may be an off-axis parabolic mirror configured to focus the input beam135onto an active region of the receiver140).

In particular embodiments, aperture310may have any suitable size or diameter Φ1, and input beam135may have any suitable size or diameter Φ2, where Φ2is greater than Φ1. As an example, aperture310may have a diameter Φ1of approximately 0.2 mm, 0.5 mm, 1 mm, 2 mm, 3 mm, 5 mm, or 10 mm, and input beam135may have a diameter Φ2of approximately 2 mm, 5 mm, 10 mm, 15 mm, 20 mm, 30 mm, 40 mm, or 50 mm. In particular embodiments, reflective surface320of overlap mirror115may reflect greater than or equal to 70% of input beam135toward the receiver140. As an example, if reflective surface320has a reflectivity R at an operating wavelength of the light source110, then the fraction of input beam135directed toward the receiver140may be expressed as R×[1−(Φ1/Φ2)2]. For example, if R is 95%, Φ1is 2 mm, and Φ2is 10 mm, then approximately 91% of input beam135may be directed toward the receiver140by reflective surface320.

FIG. 4illustrates an example light-source field of view (FOVL) and receiver field of view (FOVR) for a lidar system100. A light source110of lidar system100may emit pulses of light as the FOVLand FOVRare scanned by scanner120across a field of regard (FOR). In particular embodiments, a light-source field of view may refer to an angular cone illuminated by the light source110at a particular instant of time. Similarly, a receiver field of view may refer to an angular cone over which the receiver140may receive or detect light at a particular instant of time, and any light outside the receiver field of view may not be received or detected. As an example, as the light-source field of view is scanned across a field of regard, a portion of a pulse of light emitted by the light source110may be sent downrange from lidar system100, and the pulse of light may be sent in the direction that the FOVLis pointing at the time the pulse is emitted. The pulse of light may scatter off a target130, and the receiver140may receive and detect a portion of the scattered light that is directed along or contained within the FOVR.

In particular embodiments, scanner120may be configured to scan both a light-source field of view and a receiver field of view across a field of regard of the lidar system100. Multiple pulses of light may be emitted and detected as the scanner120scans the FOVLand FOVRacross the field of regard of the lidar system100while tracing out a scan pattern200. In particular embodiments, the light-source field of view and the receiver field of view may be scanned synchronously with respect to one another, so that as the FOVLis scanned across a scan pattern200, the FOVRfollows substantially the same path at the same scanning speed. Additionally, the FOVLand FOVRmay maintain the same relative position to one another as they are scanned across the field of regard. As an example, the FOVLmay be substantially overlapped with or centered inside the FOVR(as illustrated inFIG. 4), and this relative positioning between FOVLand FOVRmay be maintained throughout a scan. As another example, the FOVRmay lag behind the FOVLby a particular, fixed amount throughout a scan (e.g., the FOVRmay be offset from the FOVLin a direction opposite the scan direction).

In particular embodiments, the FOVLmay have an angular size or extent ΘLthat is substantially the same as or that corresponds to the divergence of the output beam125, and the FOVRmay have an angular size or extent ΘRthat corresponds to an angle over which the receiver140may receive and detect light. In particular embodiments, the receiver field of view may be any suitable size relative to the light-source field of view. As an example, the receiver field of view may be smaller than, substantially the same size as, or larger than the angular extent of the light-source field of view. In particular embodiments, the light-source field of view may have an angular extent of less than or equal to 50 milliradians, and the receiver field of view may have an angular extent of less than or equal to 50 milliradians. The FOVLmay have any suitable angular extent ΘL, such as for example, approximately 0.1 mrad, 0.2 mrad, 0.5 mrad, 1 mrad, 1.5 mrad, 2 mrad, 3 mrad, 5 mrad, 10 mrad, 20 mrad, 40 mrad, or 50 mrad. Similarly, the FOVRmay have any suitable angular extent ΘR, such as for example, approximately 0.1 mrad, 0.2 mrad, 0.5 mrad, 1 mrad, 1.5 mrad, 2 mrad, 3 mrad, 5 mrad, 10 mrad, 20 mrad, 40 mrad, or 50 mrad. In particular embodiments, the light-source field of view and the receiver field of view may have approximately equal angular extents. As an example, ΘLand ΘRmay both be approximately equal to 1 mrad, 2 mrad, or 3 mrad. In particular embodiments, the receiver field of view may be larger than the light-source field of view, or the light-source field of view may be larger than the receiver field of view. As an example, ΘLmay be approximately equal to 1.5 mrad, and ΘRmay be approximately equal to 3 mrad.

In particular embodiments, a pixel210may represent or may correspond to a light-source field of view. As the output beam125propagates from the light source110, the diameter of the output beam125(as well as the size of the corresponding pixel210) may increase according to the beam divergence ΘL. As an example, if the output beam125has a ΘLof 2 mrad, then at a distance of 100 m from the lidar system100, the output beam125may have a size or diameter of approximately 20 cm, and a corresponding pixel210may also have a corresponding size or diameter of approximately 20 cm. At a distance of 200 m from the lidar system100, the output beam125and the corresponding pixel210may each have a diameter of approximately 40 cm.

FIG. 5illustrates an example sinusoidal scan pattern200. In particular embodiments, a scan pattern200may be a closed or continuous scan pattern200that continually scans without performing a retrace operation, or a scan pattern200may be an open scan pattern200that includes a retrace. A retrace operation may occur when scanner120resets from an end point of a scan200back to a starting point of the scan200. In particular embodiments, lidar system100may not send out pulses or acquire distance data during a retrace, or lidar system100may acquire distance data during a retrace (e.g., a retrace path may include one or more pixels210). In the example ofFIG. 5, scan pattern200includes retrace400represented by a dashed diagonal line that connects the end of scan pattern200to the beginning.

In particular embodiments, the pixels210of a scan pattern200may be substantially evenly spaced with respect to time or angle. As an example, each pixel210(and its associated pulse) may be separated from an immediately preceding or following pixel210by any suitable time interval, such as for example a time interval of approximately 0.5 μs, 1.0 μs, 1.4 μs, or 2.0 μs. InFIG. 5, pixels210A,210B, and210C may be associated with pulses that were emitted with a 1.6 μs fixed time interval between the pulses. As another example, each pixel210(and its associated pulse) may be separated from an immediately preceding or following pixel210by any suitable angle, such as for example an angle of approximately 0.01°, 0.02°, 0.05°, 0.1°, 0.2°, 0.3°, or 0.5°. InFIG. 5, pixels210A and210B may have an angular separation of approximately 0.1° (e.g., pixels210A and210B may each be associated with optical beams separated by an angle of 0.1°). In particular embodiments, the pixels210of a scan pattern200may have an adjustable spacing with respect to time or angle. As an example, a time interval or angle separating two successive pixels210may be dynamically varied during a scan or from one scan to a subsequent scan.

In particular embodiments, lidar system100may include a scanner120configured to direct output125along any suitable scan pattern200. As an example, all or part of scan pattern200may follow a substantially sinusoidal path, triangle-wave path, square-wave path, sawtooth path, piecewise linear path, periodic-function path, or any other suitable path or combination of paths. In the example ofFIG. 5, scan pattern200corresponds to an approximately sinusoidal path, where pixels210are arranged along a sinusoidal curve. In particular embodiments, scan pattern200may include any suitable integral number of cycles of a particular periodic function (e.g., 1, 2, 5, 10, 20, 50, or 100 cycles) or any suitable non-integral number of cycles (e.g., 9.7, 13.33, or 53.5 cycles). InFIG. 5, scan pattern200includes just over four periods or cycles of a sinusoidal function. In particular embodiments, scan pattern200may include a periodic function having any suitable alignment or orientation, such as for example, horizontal, vertical, oriented at 33 degrees, or oriented along a 45-degree axis. In the example ofFIG. 5, scan pattern200is a sinusoidal curve oriented horizontally where the peaks and valleys of the sinusoidal curve are aligned substantially horizontally.

In particular embodiments, pixels210may be substantially evenly distributed across scan pattern200, or pixels210may have a distribution or density that varies across a FOR of scan pattern200. In the example ofFIG. 5, pixels210have a greater density toward the left edge410L and right edge410R of scan200, and the pixel density in the middle region410M of scan200is lower compared to the edges. As an example, pixels210may be distributed so that ≧40% of the pixels210are located in the left 25% of the FOR of scan pattern200(e.g., region410L), ≧40% of the pixels210are located in the right 25% of the FOR (e.g., region410R), and the remaining <20% of the pixels210are located in the middle 50% of the FOR (e.g., region410M). In particular embodiments, a time interval or angle between pixels210may be dynamically adjusted during a scan so that a scan pattern200has a particular distribution of pixels210(e.g., a higher density of pixels210in one or more particular regions). As an example, the scan pattern200may be configured to have a higher density of pixels210in a middle or central region of scan200or toward one or more edges of scan200(e.g., a middle region or a left, right, upper, or lower edge that includes approximately 5%, 10%, 20%, 30%, or any other suitable percentage of the FOR of scan pattern200). For example, pixels210may be distributed so that ≧40% of the pixels210are locate in a central, left, or right region of scan pattern200with the remaining <60% of the pixels210distributed throughout the rest of scan pattern200. As another example, a scan pattern200may have a higher density of pixels along a right edge of the scan pattern200than along a left edge of the scan pattern200.

In particular embodiments, a distribution of pixels210in a scan pattern200may be determined, at least in part, by a pulse period of light source110, a scanning speed provided by scanner120, or a shape or path followed by scan pattern200. As an example, the pulse period of light source110may be a substantially fixed value, or the pulse period may be adjusted dynamically during a scan to vary the density of pixels210across the scan region. As another example, an angular speed with which the scanner120rotates may be substantially fixed or may vary during a scan. As another example, a scan pattern200may provide for a varying distribution of pixels210based on the shape of the pattern. For example, a triangle-wave scan pattern200(combined with a substantially constant pulse period and angular speed) may provide a substantially uniform distribution of pixels210along the horizontal direction, while a sinusoidal scan pattern200may result in a higher density of pixels210along the left edge410L and right edge410R and a lower density of pixels210in the middle region410M. Additionally, two or more scan parameters may be selected or adjusted to optimize or adjust the density of pixels210in a scan pattern200. As an example, a sinusoidal scan pattern200may be combined with a dynamically adjusted pulse period of light source100to provide for a higher density of pixels210along the right edge410R and a lower density of pixels210in the middle region410M and left edge410L.

In particular embodiments, a particular scan pattern200may be repeated from one scan to the next, or one or more parameters of a scan pattern200may be adjusted or varied from one scan to another. As an example, a time interval or angle between pixels210may be varied from one scan to another scan. A relatively long time interval may be applied in an initial scan to produce a moderate-density point cloud, and a relatively short time interval may be applied in a subsequent scan to produce a high-density point cloud. As another example, a time interval or angle between pixels210may be varied within a particular scan pattern200. For a particular region of a scan pattern200, a time interval may be decreased to produce a higher density of pixels210within that particular region.

FIG. 6illustrates an example hybrid scan pattern200. In particular embodiments, a hybrid scan pattern200may be formed by combining portions of two or more scan patterns into a single scan pattern. As an example, a hybrid scan pattern200may include any suitable combination of two or more shapes or patterns, such as for example, a sinusoidal shape, triangle-wave shape, square-wave shape, sawtooth shape, circular shape, piecewise linear shape, spiral shape, or any suitable arbitrary shape. In the example ofFIG. 6, hybrid scan pattern200is a combination of a substantially triangle-wave shape (region420) and a substantially sinusoidal shape (region430). The triangle-wave shape in region420is formed by straight-line segments, and the sinusoidal shape in region430is formed by half-sinusoidal shapes joined to the straight-line segments. In particular embodiments, each particular shape or pattern of a hybrid scan pattern200may cover any suitable portion of a scan FOR. As an example, a straight-line region420may cover 40%, 60%, or 80% of a FOR, and a sinusoidal region430may cover the remaining 60%, 40%, or 20%, respectively, of the FOR. In the example ofFIG. 6, straight-line region420covers the left 50% of the FOR of scan pattern200, and sinusoidal region430covers the right 50% of the FOR.

In particular embodiments, pixels210for a hybrid scan pattern200may be distributed along the scan pattern200in any suitable uniform or nonuniform manner. In the example ofFIG. 6, the pixels210in the triangle-wave portion420and on the left side of the sinusoidal portion430have a relatively low-density distribution, and the pixels210on the right side of the sinusoidal portion430have a relatively high-density distribution. The hybrid scan pattern200ofFIG. 6may be used to scan a region where the pixels210on the right side of the scan pattern200are more important or have a higher relevance than the pixels210in the middle or on the left side. As an example, a hybrid scan pattern200may be configured so that a particular region (e.g., approximately 10%, 20%, or 30% of the area on the right side of the FOR) includes ≧50% of the pixels210and the rest of the scan region (e.g., the remaining 90%, 80%, or 70%, respectively, of the FOR) includes the remaining <50% of the pixels210.

FIG. 7illustrates two example overlapping scan patterns200A and200B. In the example ofFIG. 7, scan pattern200A is configured to scan across scan region500A, and scan pattern200B is configured to scan across scan region500B. As an example, scan patterns200A and200B may each cover a 60°×15° FOR. In particular embodiments, two or more scan patterns200(where each scan pattern is associated with a particular lidar system100) may be configured to scan across two or more respective regions that are at least partially overlapping. As an example, three overlapping scan patterns200may be located adjacent to one another (e.g., a first scan region may overlap with a second scan region, and the second scan region may also overlap with a third scan region). In the example ofFIG. 7, the right portion of scan region500A overlaps the left portion of scan region500B, and scan patterns200A and200B overlap in middle region510. In particular embodiments, overlapping scan patterns200A and200B may each include any suitable type of scan pattern having any suitable FOR. InFIG. 7, scan pattern200A corresponds to hybrid scan pattern200inFIG. 6, and scan pattern200B corresponds to a reversed version of scan pattern200A (e.g., with respect to scan pattern200A, scan pattern200B is flipped about a vertical axis). Scan pattern200A has a relatively high density of pixels210on the right side of its FOR, and scan pattern200B has a relatively high density of pixels210on the left side of its FOR. In the example ofFIG. 7, a retrace path400is not included for clarity of visualizing the details of the scan patterns200A and200B. A scan pattern200illustrated in other figures described herein may not include a retrace path400, even though in practice the scan pattern200may operate with a retrace path400that connects the end of the scan pattern200to its beginning.

In particular embodiments, two scan patterns200may be configured to overlap in an overlap region510where the overlap region510has a higher density of pixels210than the portions of the scan patterns200located outside the overlap region. As an example, an overlap region510may include approximately 1%, 5%, 10%, 20%, 30%, or any other suitable portion of scan region500A and scan region500B. As another example, an overlap region510may include approximately 1°, 10°, 20°, or any other suitable angular portion of scan region500A and500B. If scan regions500A and500B each have a 60° FORHand a horizontal angular overlap of approximately 3°, then scan regions500A and500B may be referred to as having an overlap of approximately 5%. An overlap region510may include a higher density of pixels210based at least in part on the overlap of the two scan patterns200A and200B. As an example, if each scan pattern200A and200B has a substantially uniform density of pixels210across their respective scan region500A and500B, then the density of pixels210in the overlap region510may be approximately twice the pixel density outside the overlap region510. Additionally, an overlap region510may also include a higher density of pixels210based on a nonuniform distribution of pixels210for each of the scan patterns200A and200B. As illustrated inFIG. 7, each scan pattern200A and200B may be configured to have a higher density of pixels210within the overlap region510. As an example, if each scan pattern200A and200B has a higher density of pixels210within an overlap region510, then the density of pixels in the overlap region510may be greater than twice the average pixel density outside the overlap region510. As an example, an overlap region may have 3×, 4×, 5×, or any other suitable factor of higher pixel density inside an overlap region510than an average pixel density outside the overlap region510. As another example, an overlap region510may include an overlap between 1%, 5%, 10%, 20%, or any other suitable percentage of scan regions500A and500B, and the overlap region510may include 20%, 30%, 40%, 50%, or any other suitable percentage of the total number of pixels210of scan patterns200A and200B.

FIGS. 8-9each illustrate a top view of a vehicle610with two lidar systems100A and100B that produce two example overlapping scan patterns. Scan region500A corresponds to a FOR of lidar system100A, and scan region500B corresponds to a FOR of lidar system100B. Scan region500A is bordered by lines600A-L and600A-R, and the angle between lines600A-L and600A-R corresponds to FORH-A, the horizontal FOR of scan region500A. Similarly, scan region500B is bordered by lines600B-L and600B-R, and the angle between lines600B-L and600B-R corresponds to FORH-B, the horizontal FOR of scan region500B. Scan region500A and scan region500B are overlapped in overlap region510. InFIG. 8, overlap region510is bordered by lines600A-R and600B-L. InFIG. 9, overlap region510is bordered by lines600A-L and600B-R.

In particular embodiments, an overlap region510may provide a higher density of pixels210which may result in a higher-density point cloud within the overlap region510. Additionally, the relatively high-density parts of scan patterns200A and200B may be configured to coincide approximately with the overlap region510, resulting in a further increase in pixel density within the overlap region510. In particular embodiments, an overlap region510may be aimed in a direction with relatively high importance or relevance (e.g., a forward-looking portion of a vehicle), or an overlap region510may provide a redundant back-up for an important portion of a FOR. As an example, lidar sensors100A and100B may be configured to overlap across region510, and if one of the lidar sensors (e.g., lidar sensor100A) experiences a problem or failure, the other lidar sensor (e.g., lidar sensor100B) may continue to scan and produce a point cloud that covers the particular region of interest.

In the example ofFIG. 8, scan regions500A and500B are overlapped to produce an angularly overlapping scan region510that has an overlap angle of ω. The overlap angle ω corresponds to the angle between lines600A-R and600B-L, where each line (which may be referred to as a borderline or an edge line) represents a border or end of the scan regions500A and500B, respectively. In particular embodiments, the overlap angle ω between two scan regions may be any suitable angle, such as for example, approximately 0°, 1°, 5°, 10°, 20°, or 40°. As an example, two scan regions each having a 60° FORHand an overlap angle ω of 5° may form a combined scan region with an overall FORHof 115°. In the example ofFIG. 8, the overlap angle ω between scan regions500A and500B is approximately 20°.

In the example ofFIG. 9, scan regions500A and500B are overlapped to produce a translationally overlapping scan region510that has an overlap distance of w. In particular embodiments, a translationally overlapping scan region510may refer to an overlapping scan region510that results from translating scan region500A with respect to500B. In particular embodiments, the overlap distance w between two scan regions may be any suitable value, such as for example, approximately 0 cm, 1 cm, 5 cm, 10 cm, 100 cm, 1 m, 2 m, or 5 m. In the example ofFIG. 9, scan regions500A and500B each have a 60° FOR and an overlap angle ω of 0°, and the two scan regions together form a combined scan region with an overall FOR of 120°. In particular embodiments, scan regions500A and500B may be angularly overlapped as well as translationally overlapped. As an example, scan regions500A and500B may have any suitable overlap distance w (e.g., approximately 10 cm) and a nonzero overlap angle ω (e.g., approximately 3°).

In particular embodiments, scan regions500A and500B may be overlapped in a crossing or non-crossing manner, depending on the positions of lidar systems100A and100B and their respective scan regions500A and500B. InFIGS. 8 and 9, lidar system100A is located on the left side of vehicle610, and lidar system100B is located on the right side of vehicle610. InFIG. 8, scan region500A is directed toward the left of vehicle610, and scan region500B is directed toward the right. InFIG. 9, the scan regions500A and500B are reversed with respect toFIG. 8; scan region500A is directed toward the right, and scan region500B is directed toward the left. In the example ofFIG. 8, scan regions500A and500B are overlapped in a non-crossing manner where lidar system100A and scan region500A are both located on the same side of vehicle610(the left side), and lidar system100B and scan region500B are both located on the other side of vehicle610(the right side). In the example ofFIG. 9, scan regions500A and500B are overlapped in a crossing manner where lidar system100A and scan region500A are located on opposite sides of vehicle610(e.g., lidar system100A is located on the left side of vehicle610, and scan region500A is directed toward the right of vehicle610), and lidar system100B and scan region500B are also located on opposite sides of vehicle610. Two lidar systems may be non-crossing if they each have one borderline that does not cross either borderline of the other system. The two lidar systems100A and100B inFIG. 8are in a non-crossing configuration since borderline600A-L does not cross borderline600B-L or600B-R, and borderline600B-R does not cross borderline600A-L or600A-R. Two lidar systems may be overlapped in a crossing manner if the two borderlines for one lidar system each cross at least one borderline of the other lidar system. The two lidar systems100A and100B inFIG. 9are in a crossing configuration since borderline600A-L crosses borderline600B-L and borderline600A-R crosses both borderlines600B-L and600B-R.

FIG. 10illustrates an example targeted scan region810. In particular embodiments, lidar system100may be configured to perform a targeted scan800over a particular targeted scan region810within a particular field of regard FORH×FORV. In the example ofFIG. 10, targeted scan pattern800has a horizontal field of regard830contained within FORHand a vertical field of regard840contained within FORV. As an example, a full field of regard (e.g., FORH×FORV) may cover 50°×10°, and the targeted scan region810may have a field of regard that covers any suitable portion of the full field of regard (e.g., 2°×1°, 5°×2°, or 10°×4°). In particular embodiments, lidar system100may perform a scan that covers a full field of regard, and then, in a subsequent scan, lidar system100may perform a targeted scan800to investigate a particular sub-region (e.g., targeted scan region810) of the full field of regard. As an example, during a scan that covers the full field of regard, one or more particular regions of interest may be identified (e.g., there may be a target130located in a region of interest), and lidar system100may then perform a targeted scan800to gain additional information about the target130. As another example, lidar system100may alternate between performing one or more scans that cover a full field of regard and one or more targeted scans800that cover one or more particular sub-regions of the full field of regard.

In particular embodiments, a targeted scan800may have a higher pixel density than a scan that covers a full field of regard. In particular embodiments, a targeted scan800may cover a targeted scan region810having any suitable shape, such as for example, rectangular (as illustrated inFIG. 10), square, circular, elliptical, polygonal, or arbitrarily-shaped. In particular embodiments, lidar system100may perform a single targeted scan800of one region810(e.g., as illustrated inFIG. 10), or lidar system100may perform multiple, separate targeted scans800. As an example, lidar system100may perform two or more targeted scans800, where each targeted scan800has a particular shape, a particular location within the FOR, a particular scan pattern800, or a particular pixel density.

FIG. 11illustrates an example scan pattern200that includes an example targeted scan region810. InFIGS. 10 and 11, pixels are not shown in the scan patterns for clarity of illustrating the scan patterns. In particular embodiments, a lidar system100may combine a scan pattern200that includes all or part of a full field of regard (e.g., FORH×FORV) with a targeted scan800. In the example ofFIG. 11, scan pattern200may have a relatively low density of pixels210, and targeted scan800may have a relatively high density of pixels. As an example, the average pixel density of the targeted scan800may be 2×, 3×, 5×, 10×, or any other suitable factor greater than the average pixel density of scan pattern200. In particular embodiments, an average pixel density of a particular scan region may be expressed as M/(FORH×FORV), where M is the number of pixels210within the scan region, and the product of FORHand FORVcorresponds to the solid angle of the scan region in units of square degrees (deg2). As an example, a scan region with M=106pixels and a 50°×20° field of regard has an average pixel density of 106/(50×20), or 1,000 pixels/deg2.

In particular embodiments, lidar system100may perform a standard scan that covers a full field of regard, and then, in a subsequent scan, lidar system100may perform a combined standard/targeted scan that includes a scan pattern200with a lower density of pixels210and a targeted scan800with a higher density of pixels210. A combined standard/targeted scan (e.g., as illustrated inFIG. 11) may be performed in two separate steps (e.g., a standard scan pattern200may be followed or preceded by a targeted scan800), or a combined standard/targeted scan may be performed in one operation (e.g., all or part of the targeted scan800may be performed during or interleaved within the standard scan pattern200). In particular embodiments, a combined standard/targeted scan may include one or more distinct or separate targeted scan patterns800. As an example, a combined standard/targeted scan may include a single targeted scan pattern800(e.g., as illustrated inFIG. 11), or a combined standard/targeted scan may include two or more targeted scan patterns800.

FIGS. 12-13each illustrate an example Lissajous scan pattern200. In particular embodiments, a Lissajous scan pattern200may refer to a scan pattern200that at least partially follows or that is based at least in part on a Lissajous curve. As an example, scanner120may direct output beam125to follow a Lissajous scan pattern200where the pattern is based on a Lissajous curve. A Lissajous curve (which may be referred to as a Lissajous figure, a Lissajous pattern, or a Lissajous scan pattern) describes a two-dimensional harmonic motion or pattern and may be written as a system of two parametric equations. As an example, a Lissajous scan pattern200may be expressed as Θx(n)=A sin(2πa·n/N) and Θy(n)=B sin(2πb·n/N+δ), where Θx(n) and Θy(n) represent a pair of horizontal and vertical angles (each angle depends on the parameter n, where n is an integer that corresponds to the nth pixel210in a scan pattern200); A and B represent horizontal and vertical amplitudes; a and b correspond to a number of horizontal and vertical lobes in the pattern; N is the number of pixels210in the scan pattern200; and δ is a phase factor that represents a phase difference between Θxand Θy.

The angles Θx(n) and Θy(n) correspond to an angular location or coordinates of the nth pixel210in a scan pattern200, and n is an integer that varies from 0 to N−1. The parameter N represents the number of pixels210in one cycle of the Lissajous scan pattern200, and N may be any suitable integer, such as for example, 102, 103, 104, 105, 106, or 107. In the example ofFIG. 12, the number of pixels210in the scan pattern200is approximately N=125. In particular embodiments, a Lissajous scan pattern200may traverse a complete scan-pattern cycle that includes N pixels210, and then, the Lissajous scan pattern200may repeat back on itself and repeatedly retrace approximately the same scan pattern200. Each of the Lissajous scan patterns200illustrated inFIGS. 12-13is a closed scan pattern that repeats back on itself and does not include a retrace operation. In particular embodiments, a pair of angular coordinates (Θx, Θy) may represent a location of a particular pixel210and may correspond to a pointing direction of output beam125. In the example ofFIG. 12, if the field of regard FORH×FORVis 60°×16°, then the angular coordinates (Θx, Θy) have ranges of (±30°, ±8°). For example, for a 60°×16° field of regard, pixel210D (which is associated with the parameter n=0) has angular coordinates of approximately (0°, 0°), pixel210E (associated with n=9) has angular coordinates of approximately (29.3°, 7.8°), and pixel210F (associated with n=23) has angular coordinates of approximately (−9.6°, −8.0°).

In particular embodiments, the horizontal amplitude A may be an angle that corresponds to one half of the horizontal field of regard FORH, and the vertical amplitude B may be an angle that corresponds to one half of the vertical field of regard FORV. The amplitudes A and B may each have any suitable angular value, such as for example, 0.5°, 1°, 2°, 5°, 7.5°, 10°, 15°, 20°, 30°, or 60°. In the example ofFIG. 12, if the field of regard FORH×FORVis 60°×16°, then A is 30° and B is 8°. The phase factor δ represents a relative phase shift between the two expressions for Θx(n) and Θy(n), and δ may have any suitable angular value, such as for example, 0°, 5°, 10°, 45°, 90°, or 180°.

In particular embodiments, the values a and b (which may be referred to as spatial-frequency parameters) may correspond to a number of horizontal lobes and a number of vertical lobes, respectively, in a Lissajous pattern200. As an example, if a is 33, then the Lissajous scan pattern200may have 33 horizontal lobes (arrayed along a vertical edge of the pattern200), and if b is 13, then the Lissajous scan pattern200may have 13 vertical lobes (arrayed along a horizontal edge). A lobe corresponds to an arc of the Lissajous pattern200that protrudes along one edge of the pattern200(e.g., a left edge, right edge, upper edge, or lower edge). In the example ofFIG. 12, lobe1000H is a horizontal lobe, and lobe1000V is a vertical lobe. InFIG. 12, a is 3 and b is 4, and the Lissajous scan pattern200has 3 horizontal lobes and 4 vertical lobes. InFIG. 13, a is 11 and b is 17, and the Lissajous scan pattern200has 11 horizontal lobes and 17 vertical lobes. In particular embodiments, the values a and b may correspond to a number of horizontal and vertical cycles, respectively, in a Lissajous pattern200. As an example, if a=12 and b=5, then each traversal of the corresponding Lissajous pattern200may include 12 sinusoidal cycles along a horizontal direction and 5 sinusoidal cycles along a vertical direction (e.g., for each traversal of the Lissajous pattern200, a horizontal scanning mirror may undergo 12 periodic cycles, and a vertical scanning mirror may undergo 5 periodic cycles). As another example, if a=64 and b=9, then each traversal of the corresponding Lissajous pattern200may include 64 cycles along a horizontal direction and 9 cycles along a vertical direction. The scan pattern200illustrated inFIG. 12includes a=3 horizontal cycles and b=4 vertical cycles, and the scan pattern200illustrated inFIG. 13includes a=11 horizontal cycles and b=17 vertical cycles. In the example ofFIG. 13, pixels210are not included in the Lissajous scan pattern200for clarity of illustrating the scan pattern. Similarly, scan patterns200illustrated in other figures described herein may not include pixels for clarity of illustrating the scan pattern.

In particular embodiments, the spatial-frequency parameters a and b for a Lissajous scan pattern200may each have any suitable integer value (e.g., 2, 10, 53, 113, or 200) or any suitable non-integer value (e.g., 5.3, 37.1, or 113.7). In particular embodiments, a and b may each have an integer value, where a and b do not have any common factors. As an example, valid (a, b) pairs may include (2, 7), (3, 8), (11, 14), or (17, 32), and non-valid (a, b) pairs that have common factors may include (2, 6), (3, 9), or (11, 33).

In particular embodiments, a Lissajous scan pattern200may be a static-pixel pattern where each pixel210of the scan pattern200has substantially the same angular coordinates (Θx, Θy) from one scan cycle to the next. As an example, inFIG. 12, the pixel210F associated with n=23 may have substantially the same angular coordinates (−9.6°, −8.0°) for each cycle of a Lissajous scan pattern200. In particular embodiments, a Lissajous scan pattern200may be a dynamic-pixel pattern where the pixels210of the scan pattern200have angular coordinates (Θx, Θy) that vary from one scan cycle to the next. The pixels210may all be located on a curve corresponding to the Lissajous scan pattern200, but from one cycle to the next, each pixel210may advance along the scan-pattern curve200by an amount that depends on a phase-advancement factor. As an example, a Lissajous scan pattern200with dynamic pixels210may be expressed as Θx(n, C)=A sin(2πa·n/N+aCΦ) and Θy(n)=B sin(2πb·n/N+δ+bCΦ), where C is a cycle-count parameter and Φ represents the phase-advancement factor. The cycle parameter C is an integer that represents the number of Lissajous-curve scan cycles that have been traversed, and the parameter C increments by 1 for each successive cycle. As an example, for an initial scan cycle, C is 0, and for the next cycle C is 1. The phase-advancement factor Φ represents an amount of phase increase from one scan cycle to the next and corresponds to an amount of movement along a scan-pattern curve from one scan to the next. The phase advancement factor Φ may have any suitable angular value, such as for example, 0.001°, 0.01°, 0.05°, 0.1°, 0.5°, 1°, 5°, or 10°. The locations of the pixels210illustrated inFIG. 12may correspond to pixel locations for an initial scan cycle (e.g., C=0), and the pixels210may advance along the scan-pattern curve200for each subsequent scan cycle by an amount based on the value of the phase-advancement factor Φ. As an example, for an initial scan cycle, pixel210D may have a location of approximately (0°, 0°). If the phase-advancement factor Φ is approximately 0.5°, then pixel210D may have locations of approximately (0.8°, 0.3°) for C=1, (1.6°, 0.6°) for C=2, and (2.4°, 0.8°) for C=3. The other pixels210of the scan pattern200may advance along the scan-pattern curve in a similar fashion.

In particular embodiments, a Lissajous scan pattern200may be expressed in terms of a time parameter as Θx(t)=A sin(2πaft) and Θy(t)=B sin(2πbft+δ), where f is a frame rate of the lidar system100. The angles Θx(t) and Θy(t) correspond to the angular location or coordinates of output beam125at a time t. The frame rate f (which may be expressed in units of frames per second, or hertz) may be any suitable value, such as for example, 0.1 Hz, 1 Hz, 5 Hz, 10 Hz, 20 Hz, 40 Hz, 60 Hz, 100 Hz, or 400 Hz. Additionally, the product a×f corresponds to the oscillation frequency of the output beam125along an x-axis (which may be represented by Fx). Similarly, the product b×f corresponds the oscillation frequency of the output beam125along a y-axis (which may be represented by Fy). In particular embodiments, the phase difference δ between the angles Θx(t) and Θy(t) may be any suitable fixed or adjustable angular value. As an example, two scanning mirrors of scanner120may each oscillate at a particular frequency (e.g., Fxand Fy), and the two scanning mirrors may be synchronized with respect to one another so that there is a substantially fixed phase difference δ delta between their oscillations.

In particular embodiments, a galvanometer scanner or a resonant-mirror scanner may be configured to scan an output beam125along any suitable direction (e.g., horizontally or vertically) at any suitable frequency, such as for example, approximately 1 Hz, 5 Hz, 10 Hz, 20 Hz, 40 Hz, 60 Hz, 100 Hz, 500 Hz, 1 kHz, 2 kHz, 5 kHz, or 10 kHz. As an example, a lidar system100may operate with a frame rate f of approximately 10 Hz. If a=64 and b=5, then the output beam125may oscillate at approximately Fx=640 Hz along the x-axis and approximately Fy=50 Hz along the y-axis. As another example, a scanner120may include a resonant scanner that scans the output beam125horizontally at a resonant frequency of 640 Hz. Additionally, the scanner120may include a galvanometer or a resonant scanner that scans the output beam125vertically at 50 Hz. As another example, if a=100 and f=10 Hz, then the output beam125may oscillate at approximately Fx=1 kHz along a substantially horizontal direction. In particular embodiments, a scanner120may include a first mirror (e.g., mirror300-1inFIG. 3) configured to scan an output beam125along a substantially vertical direction and a second mirror (e.g., mirror300-2) configured to scan the output beam125along a substantially horizontal direction (or vice versa). The first or second mirror may each be driven by any suitable type of actuator, such as for example, a galvanometer scanner, a resonant scanner, a voice coil motor, or a MEMS device. As an example, the first and second mirrors may each be driven by a resonant scanner configured to oscillate at a particular resonant frequency (e.g., the first mirror may be driven at approximately 1-100 Hz and the second mirror may be driven at approximately 500-1,000 Hz). As another example, the first mirror may be driven by a galvanometer scanner, and the second mirror may be driven by a resonant scanner. As another example, the first and second mirrors may each be driven by a galvanometer scanner.

FIGS. 14-16illustrate three successive stages of an example quasi-non-repeating Lissajous scan pattern200. In particular embodiments, if the values a and b are each rational numbers, then a corresponding Lissajous scan pattern200may be closed (e.g., the pattern repeats back on itself after a finite number of cycles). The Lissajous scan patterns200illustrated inFIGS. 12-13are closed scan patterns (e.g., the Lissajous scan patterns200inFIGS. 12-13repeat and do not include a retrace operation). As an example, Lissajous scan pattern200inFIG. 12starts at pixel210D, and after completing one full cycle of the scan pattern200, the pattern returns to the pixel210D starting point and begins another scan cycle (each scan cycle includes N pixels210). In particular embodiments, if a or b is an irrational number (e.g., a=π), then the corresponding Lissajous scan pattern200may be non-repeating (e.g., the pattern never repeats back on itself).

In particular embodiments, for particular Lissajous scan patterns200that have particular non-integer rational-number values for a or b, the scan patterns200may be closed, but the pattern may require a significant number of scan cycles before repeating back on itself. As an example, a Lissajous scan pattern200that takes greater than or equal to 5, 10, 20, 30, 50, 100, 1000, or any other suitable number of scan cycles before repeating back on itself may be referred to as a quasi-non-repeating Lissajous scan pattern200. As an example, a quasi-non-repeating Lissajous scan pattern200may have a pair of values (a, b) such as (5.01, 4), (17.3, 13), or (11.3, 117.07), where at least one of the values of a or b is a non-integer rational number.

In particular embodiments, a quasi-non-repeating Lissajous scan pattern200may require M scan cycles before repeating back on itself, where M is the smallest integer such that M×a is an integer and M×b is an integer. As an example, a quasi-non-repeating Lissajous scan pattern200with a pair of spatial-frequency parameters (3.04, 2.2) may require M=25 scan cycles before repeating back on itself. As another example, a quasi-non-repeating Lissajous scan pattern200with a pair of spatial-frequency parameters (3.025, 2) may require M=40 scan cycles before repeating back on itself. As another example, a quasi-non-repeating Lissajous scan pattern200with a pair of spatial-frequency parameters (3.2, 2.6) may require M=5 scan cycles before repeating back on itself. In particular embodiments, a quasi-non-repeating Lissajous scan pattern200may be used to provide a more complete coverage of a scan region than a closed scan pattern or may be used to provide a scan pattern where the pixels210do not remain fixed in the same location from one scan cycle to another.

FIGS. 14-16illustrate a quasi-non-repeating Lissajous scan pattern200where a is 3.02 and b is 2. For the pair of spatial-frequency parameters (3.02, 2), the quasi-non-repeating Lissajous scan pattern200will require M=50 scan cycles before it repeats.FIG. 14illustrates the quasi-non-repeating Lissajous scan pattern200after approximately one scan cycle. The scan cycle begins at pixel210G and proceeds to scan in the direction of the arrows.FIG. 15illustrates the quasi-non-repeating Lissajous scan pattern200after approximately two scan cycles.FIG. 16illustrates the quasi-non-repeating Lissajous scan pattern200after approximately 20 scan cycles. In particular embodiments, a quasi-non-repeating Lissajous scan pattern200may be expressed in terms of a time parameter as Θx(t)=A sin(2πaft) and Θy(t)=B sin(2πbft+δ), where f is a frame rate of the lidar system100, and at least one of the values of a or b is a non-integer rational number. As an example, for a frame rate f of approximately 10 Hz, if a is approximately 64 and b is approximately 5.2, then the output beam125may be configured to oscillate at approximately Fx=640 Hz along the x-axis and approximately Fy=52 Hz along the y-axis. Additionally, the output beam125may follow a quasi-non-repeating Lissajous scan pattern200which repeats back on itself after M=5 scan cycles (e.g., since 5×5.2 is an integer).

FIGS. 17-18each illustrate an example enclosure850that contains two lidar sensors100A and100B. In particular embodiments, an enclosure850that includes two or more lidar sensors (e.g., lidar sensors100A and100B) may be referred to collectively as a lidar system, lidar module, or lidar-system module. InFIG. 17, the enclosure850contains light source110, and light from the light source110is directed to lidar sensor100A and lidar sensor100B by fiber-optic cables880A and880B, respectively. Fiber-optic cable880A is terminated by lens890A, which produces free-space beam125A. Similarly, fiber-optic cable880B is terminated by lens890B, which produces free-space beam125B. Lens890A may be a fiber-optic collimator that receives light from fiber-optic cable880A and produces a free-space optical beam125A that is directed through mirror115A and to scanner120A. Similarly, lens890B may be a fiber-optic collimator that receives light from fiber-optic cable880B and produces a free-space optical beam125B. InFIG. 18, each lidar sensor100A and100B includes a dedicated light source110A and110B, respectively.

InFIGS. 17 and 18, the output beam125A passes through a hole in overlap mirror115A and is directed to scanner120A, and the output beam125B passes through a hole in overlap mirror115B and is directed to scanner120B. Scanners120A and120B scan output beams125A and125B, respectively, along particular scan patterns. The enclosures850inFIGS. 17 and 18each include a window860which output beams125A and125B pass through. Scattered light135A from output beam125A (e.g., light that is scattered by a target130) travels back through window860and scanner120A and is then reflected by mirror115A toward receiver140A. Similarly, scattered light135B from output beam125B travels back through window860and scanner120B and is then reflected by mirror115B toward receiver140B.

InFIG. 17, scanner120A includes scanning mirrors300A-1and300A-2, and scanner120B includes scanning mirrors300B-1and300B-2. Scanning mirror300A-1is rotated to scan output beam125A vertically (e.g., output beam125A performs an elevation scan along an angle ΘAy), and scanning mirror300A-2is rotated to scan output beam125A horizontally (e.g., output beam125A performs an azimuthal scan along an angle ΘAx). Similarly, scanning mirror300B-1is rotated to scan output beam125B vertically (e.g., output beam125B performs an elevation scan along an angle ΘBy), and scanning mirror300B-2is rotated to scan output beam125B horizontally (e.g., output beam125B performs an azimuthal scan along an angle ΘBx). InFIG. 18, each scanner includes a single scanning mirror configured to rotate about two substantially orthogonal axes. Scanner120A includes scanning mirror300A, which scans output beam125A vertically and horizontally by scanning along angles ΘAyand ΘAx, respectively. Similarly, scanner120B includes scanning mirror300B, which scans output beam125B vertically and horizontally by scanning along angles ΘByand ΘBx, respectively.

The lidar sensors100A and100B illustrated inFIG. 17 or 18may be similar to the lidar sensors100A and100B illustrated inFIG. 8 or 9. In the example ofFIG. 17, scan regions500A and500B are overlapped in a non-crossing manner (similar to scan regions500A and500B illustrated inFIG. 8). In the example ofFIG. 18, scan regions500A and500B are overlapped in a crossing manner (similar to scan regions500A and500B illustrated inFIG. 9).

In particular embodiments, a lidar system may include 2, 3, 4, or any other suitable number of lidar sensors. As an example, a lidar system may include two lidar sensors (e.g., lidar sensors100A and100B) which are packaged in one enclosure850. As another example, a lidar system may include three lidar sensors packaged in one enclosure850. An enclosure850may refer to a housing, box, or case that contains two or more lidar sensors. An enclosure850may be an airtight or watertight structure that prevents water vapor, liquid water, dirt, dust, or other contaminants from getting inside the enclosure850. An enclosure850may be filled with a dry or inert gas, such as for example, dry air, nitrogen, or argon. Each lidar sensor100contained within an enclosure850may include a scanner120configured to scan pulses of light (e.g., output beam125) along a particular scan pattern200and a receiver140configured to detect scattered light135from the scanned pulses of light. Additionally, the enclosure850may include a window860which the output beam125and scattered light135for each lidar sensor are transmitted through.

In particular embodiments, a lidar system with multiple lidar sensors may produce multiple respective scan patterns which are at least partially overlapped. As an example, a lidar system may include two lidar sensors100A and100B that produce two scan patterns200A and200B, respectively, where scan patterns200A and200B are at least partially overlapped (e.g., in a crossing or a non-crossing manner). As another example, a lidar system may include three lidar sensors that produce three respective scan patterns (e.g., a first, second, and third scan pattern) which are at least partially overlapped (e.g., the first and second scan patterns are at least partially overlapped, and the second and third scan patterns are at least partially overlapped).

In particular embodiments, a lidar system may include one or more light sources110configured to provide optical pulses to two or more lidar sensors. As an example, a single light source110may be used to supply optical pulses to multiple lidar sensors within an enclosure850. InFIG. 17, light source110produces optical pulses that are split and supplied to lidar sensors100A and100B. As an example, optical pulses produced by light source110may pass through a 1×2 optical-power splitter that splits each pulse emitted by light source110into two pulses which are sent to lidar sensor100A and lidar sensor100B, respectively. As another example, optical pulses produced by light source110may pass through a 1×2 optical switch that switches between lidar sensor100A and lidar sensor100B so that every other emitted pulse is supplied to one of the lidar sensors (e.g., pulses1,3,5, etc. are supplied to lidar sensor100A, and pulses2,4,6, etc. are supplied to lidar sensor100B). As another example, optical pulses produced by light source110may pass through a 1×N optical splitter or switch that supplies the pulses to N lidar sensors100located within an enclosure850. In particular embodiments, a lidar system may include multiple light sources110configured to provide optical pulses to multiple respective lidar sensors100. As an example, each lidar sensor100within a lidar-system enclosure850may have a dedicated light source110. InFIG. 18, light source110A supplies optical pulses for lidar sensor100A, and light source110B supplies optical pulses for lidar sensor100B.

In particular embodiments, a lidar-system enclosure850with multiple lidar sensors100may produce multiple output beams125having one or more particular wavelengths. In the example ofFIG. 17, output beams125A and125B may include pulses having substantially the same wavelength (e.g., approximately 1550 nm). In the example ofFIG. 18, output beams125A and125B may have different wavelengths. For example, light source110A may produce pulses with a wavelength of approximately 1550 nm, and light source110B may produce pulses with a wavelength of approximately 1555 nm. Additionally, lidar sensor100A may include an optical filter that transmits light at the wavelength of light source110A and blocks light at the wavelength of light source110B. Similarly, lidar sensor100B may include an optical filter that transmits light at the wavelength of light source110B and blocks light at the wavelength of light source110A. For example, each receiver140A and140B may have an optical filter located at or near the input to the receiver. The optical filter may be configured to block light from the other light source to reduce optical cross-talk between lidar sensor100A and100B (e.g., to reduce the amount of scattered light from light source110B that is detected by receiver140A). An optical filter may be an absorptive filter, dichroic filter, long-pass filter, short-pass filter, band-pass filter, or any other suitable type of optical filter.

In particular embodiments, each output beam125emitted from an enclosure850may be incident on window860at a nonzero angle of incidence (AOI). A beam that is incident at 0° AOI may be approximately orthogonal to surface A or surface B of window860. InFIGS. 17 and 18, output beams125A and125B may each be incident on window860at a nonzero AOI (e.g., output beams125A and125B are each non-orthogonal to surface A and surface B of window860as the beams are scanned). Output beams125A and125B may each have an AOI with window860that is greater than or equal to approximately 0.5°, 1°, 2°, 5°, 10°, 20°, or any other suitable AOI. If output beam125A strikes window860at 0° AOI, then a portion of the beam125A reflected at surface A or surface B may propagate back along approximately the same path as the incident beam125A. This specular reflection may be detected by receiver140A (e.g., the specular reflection may result in an unwanted pulse-detection event). If output beam125A has a nonzero AOI on window860as the beam is scanned, then the magnitude of an unwanted specular reflection from window860detected by receiver140A may be significantly reduced since the off-axis specular reflection will not propagate directly back on the path of the incident beam125A. Similarly, if output beam125B has a nonzero AOI on window860, then the magnitude of an unwanted specular reflection from window860detected by receiver140B may be significantly reduced.

In particular embodiments, an output beam125may produce scattered light when the output beam125is incident on window860. The scattered light may result from surface roughness, imperfections, impurities, or inhomogeneities located in window860or on surface A or surface B. In the example ofFIG. 17, output beams125A and125B produce scattered light870A and870B, respectively, at window860. Scattered light870A or870B may be produced from surface A, surface B, or from the bulk material of window860, and scattered light870A and870B may be emitted over a wide range of directions. A portion of scattered light870A may be detected by receiver140B, resulting in unwanted cross-talk from lidar sensor100A to lidar sensor100B. Similarly, a portion of scattered light870B may be detected by receiver140A, resulting in unwanted optical cross-talk from lidar sensor100B to lidar sensor100A. In particular embodiments, an amount of optical cross-talk between lidar sensors may be reduced by performing scans in an out-of-synchronization manner, as described herein.

In particular embodiments, window860may be made from any suitable substrate material, such as for example, glass or plastic (e.g., polycarbonate, acrylic, cyclic-olefin polymer, or cyclic-olefin copolymer). In particular embodiments, window860may include an interior surface (surface A) and an exterior surface (surface B), and surface A or surface B may include a dielectric coating having particular reflectivity values at particular wavelengths. A dielectric coating (which may be referred to as a thin-film coating, interference coating, or coating) may include one or more thin-film layers of dielectric materials (e.g., SiO2, TiO2, Al2O3, Ta2O5, MgF2, LaF3, or AlF3) having particular thicknesses (e.g., thickness less than 1 μm) and particular refractive indices. A dielectric coating may be deposited onto surface A or surface B of window860using any suitable deposition technique, such as for example, sputtering or electron-beam deposition.

In particular embodiments, a dielectric coating may have a high reflectivity at a particular wavelength or a low reflectivity at a particular wavelength. A high-reflectivity (HR) dielectric coating may have any suitable reflectivity value (e.g., a reflectivity greater than or equal to 80%, 90%, 95%, or 99%) at any suitable wavelength or combination of wavelengths. A low-reflectivity dielectric coating (which may be referred to as an anti-reflection (AR) coating) may have any suitable reflectivity value (e.g., a reflectivity less than or equal to 5%, 2%, 1%, 0.5%, or 0.2%) at any suitable wavelength or combination of wavelengths. In particular embodiments, a dielectric coating may be a dichroic coating with a particular combination of high or low reflectivity values at particular wavelengths. As an example, a dichroic coating may have a reflectivity of less than or equal to 0.5% at approximately 1550-1560 nm and a reflectivity of greater than or equal to 90% at approximately 800-1500 nm.

In particular embodiments, surface A or surface B may have a dielectric coating that is anti-reflecting at an operating wavelength of one or more light sources110contained within enclosure850. An AR coating on surface A and surface B may increase the amount of light at an operating wavelength of light source110that is transmitted through window860. Additionally, an AR coating at an operating wavelength of light source110may reduce the amount of incident light from output beam125A or125B that is reflected by window860back into the enclosure850. InFIG. 17, surface A and surface B may each have an AR coating with reflectivity less than 0.5% at an operating wavelength of light source110. As an example, if light source110has an operating wavelength of approximately 1550 nm, then surface A and surface B may each have an AR coating with a reflectivity that is less than 0.5% from approximately 1547 nm to approximately 1553 nm. InFIG. 18, surface A and surface B may each have an AR coating with reflectivity less than 1% at the operating wavelengths of light sources110A and110B. As an example, if light source110A emits pulses at a wavelength of approximately 1535 nm and light source110B emits pulses at a wavelength of approximately 1540 nm, then surface A and surface B may each have an AR coating with reflectivity less than 1% from approximately 1530 nm to approximately 1545 nm.

In particular embodiments, window860may have an optical transmission that is greater than any suitable value for one or more wavelengths of one or more light sources110contained within enclosure850. As an example, window860may have an optical transmission of greater than or equal to 70%, 80%, 90%, 95%, or 99% at a wavelength of light source110. InFIG. 17, window860may transmit greater than or equal to 95% of light at an operating wavelength of light source110. InFIG. 18, window860may transmit greater than or equal to 90% of light at the operating wavelengths of light sources110A and110B.

In particular embodiments, surface A or surface B may have a dichroic coating that is anti-reflecting at one or more operating wavelengths of one or more light sources110and high-reflecting at wavelengths away from the one or more operating wavelengths. As an example, surface A may have an AR coating for an operating wavelength of light source110, and surface B may have a dichroic coating that is AR at the light-source operating wavelength and HR for wavelengths away from the operating wavelength. A coating that is HR for wavelengths away from a light-source operating wavelength may prevent most incoming light at unwanted wavelengths from being transmitted through window860. InFIG. 17, if light source110emits optical pulses with a wavelength of approximately 1550 nm, then surface A may have an AR coating with a reflectivity of less than or equal to 0.5% from approximately 1546 nm to approximately 1554 nm. Additionally, surface B may have a dichroic coating that is AR at approximately 1546-1554 nm and HR (e.g., reflectivity of greater than or equal to 90%) at approximately 800-1500 nm and approximately 1580-1700 nm.

In particular embodiments, surface B of window860may include a coating that is oleophobic, hydrophobic, or hydrophilic. A coating that is oleophobic (or, lipophobic) may repel oils (e.g., fingerprint oil or other non-polar material) from the exterior surface (surface B) of window860. A coating that is hydrophobic may repel water from the exterior surface. As an example, surface B may be coated with a material that is both oleophobic and hydrophobic. A coating that is hydrophilic attracts water so that water may tend to wet and form a film on the hydrophilic surface (rather than forming beads of water as may occur on a hydrophobic surface). If surface B has a hydrophilic coating, then water (e.g., from rain) that lands on surface B may form a film on the surface. The surface film of water may result in less distortion, deflection, or occlusion of an output beam125than a surface with a non-hydrophilic coating or a hydrophobic coating.

FIG. 19illustrates two example scan patterns200A and200B which are out of synchronization with respect to one another. In particular embodiments, a lidar system may include two or more lidar sensors100that produce two or more respective scan patterns200which are scanned out of synchronization with respect to one another. As an example, a lidar system that includes two lidar sensors100A and100B (e.g., the lidar system illustrated inFIG. 17 or 18) may produce two scan patterns200A and200B which are out of synchronization with respect to one another. In particular embodiments, two or more scan patterns200that are out of synchronization may be referred to as scan patterns200that are non-synchronous, non-coincident, inverted, offset, or out of phase.

In the example ofFIG. 19, scan patterns200A and200B each include a substantially sinusoidal back-and-forth scanning portion followed by a diagonal retrace400A and400B, respectively, that connects the end of a scan pattern with the beginning. Scan patterns200A and200B perform scans in an inverted sense with respect to one another. Scan pattern200A scans from top to bottom (e.g., scan pattern200A traces across the following pixels in order:210A-1,210A-2,210A-3, and210A-4), and retrace400A is directed upward (from bottom to top). Scan pattern200B, which is inverted with respect to scan pattern200A, scans from bottom to top (e.g., scan pattern200B traces across the following pixels in order:210B-1,210B-2,210B-3, and210B-4), and retrace400B is directed downward. Scan patterns200A and200B inFIG. 19may each include additional pixels210which are not illustrated in the figure.

In particular embodiments, scan patterns200that are scanned out of synchronization with respect to one another may be associated with a reduced amount of optical cross-talk between lidar sensors100. A portion of cross-talk between lidar sensors100may be caused by light that is reflected or scattered at window860(e.g., a portion of scattered light870A from lidar sensor100A may be detected by receiver140B, or a portion of scattered light870B from lidar sensor100B may be detected by receiver140A). By scanning output beams125A and125B out of synchronization, the two output beams (and their associated receiver FOVs) may be directed at locations on window860that are mostly non-coincident or non-overlapping, which may reduce the amount of cross-talk light between the two lidar sensors. InFIG. 18, little to none of the scattered light870A from output beam125A may be detected by receiver140B, since the FOV of receiver140B may be directed at a different location on window860than the FOV of light source110A. Similarly, little to none of the scattered light870B from output beam125B may be detected by receiver140A.

In particular embodiments, scan patterns200A and200B being scanned out of synchronization with respect to one another may be associated with receiver140A detecting substantial cross-talk light from output beam125B for less than a particular amount of pixels210in scan pattern200A. Additionally, receiver140B may detect substantial cross-talk light from output beam125A for less than a particular amount of pixels210in scan pattern200B. As an example, the amount of pixels210for which substantial cross-talk light is detected may be less than or equal to approximately 1, 10, 100, 1,000, or any other suitable number of pixels210. As another example, the amount of pixels210for which substantial cross-talk light is detected may be less than or equal to approximately 10%, 1%, 0.1%, 0.01%, 0.001%, or any other suitable percentage of pixels210in a scan pattern200. If scan pattern200A includes 50,000 pixels210, and approximately 0.1% of the pixels210include a substantial amount of cross-talk light from output beam125B, then approximately 50 pixels210(out of the 50,000 pixels210) may include substantial cross-talk light.

In particular embodiments, detection of substantial cross-talk light by receiver140A may refer to the receiver140A detecting an amount of light from output beam125B that is above a particular threshold value. As an example, receiver140A may have a particular threshold value that corresponds to a valid detection of a pulse of light. If a voltage signal produced by receiver140A (e.g., in response to detecting a pulse of light) exceeds a particular threshold voltage, then the voltage signal may correspond to a valid pulse-detection event (e.g., detection of a pulse of light that is scattered by a target130). Detection of substantial cross-talk light (e.g., an invalid pulse-detection event) may result from receiver140A detecting cross-talk light from lidar sensor100B that exceeds the particular detection-threshold voltage. Similarly, receiver140B detecting substantial cross-talk light may result from receiver140B detecting cross-talk light from lidar sensor100A that exceeds the particular detection-threshold voltage.

In particular embodiments, a scan pattern200may include a scan-pattern x-component (Θx) and a scan-pattern y-component (Θy). The x-component may correspond to a horizontal (or, azimuthal) angular scan, and the y-component may correspond to a vertical (or, elevation) angular scan. InFIG. 19, scan pattern200A includes a scan-pattern x-component (ΘAx) and a scan-pattern y-component (ΘAy), and scan pattern200B includes a scan-pattern x-component (ΘBx) and a scan-pattern y-component (ΘBy). As an example, the scan patterns200A and200B inFIG. 19may be produced by the lidar system inFIG. 17, where mirror300A-1produces the ΘAyscan component, mirror300A-2produces the ΘAxscan component, mirror300B-1produces the ΘByscan component, and mirror300B-2produces the ΘBxscan component.

FIG. 20illustrates two example scan-pattern y-components ΘAyand ΘBywhich are inverted with respect to one another. In particular embodiments, two scan patterns200being scanned out of synchronization may include one scan-pattern y-component (ΘAy) being inverted with respect to the other scan-pattern y-component (ΘBy). The ΘAycomponent inFIG. 20corresponds to the vertical scan component of scan pattern200A inFIG. 19, and the ΘBycomponent inFIG. 20corresponds to the vertical scan component of scan pattern200B inFIG. 19. The scan patterns200A and200B are inverted in the sense that scan pattern200A scans from top to bottom, and scan pattern200B scans in the opposite direction (from bottom to top). For the ΘAycomponent inFIG. 20, the fast, positive ramp corresponds to retrace400A, and the slow, negative ramp corresponds to the top-to-bottom scan of scan pattern200A inFIG. 19. For the ΘBycomponent inFIG. 20, the fast, negative ramp corresponds to retrace400B, and the slow, positive ramp corresponds to the bottom-to-top scan of scan pattern200B inFIG. 19. By scanning scan patterns200A and200B in an inverted manner, the overlap between output beams125A and125B (and their corresponding receiver FOVs) may be minimized, which may be associated with a reduction in optical cross-talk between lidar sensors100A and100B. As an example, inFIG. 19, output beams125A and125B traversing inverted scan patterns200A and200B, respectively, may only be overlapped, if at all, in a region near pixel210B-1or210A-3.

FIG. 21illustrates two example scan-pattern y-components ΘAyand ΘBywhich are offset from one another by a phase shift Δφy. In particular embodiments, two scan patterns200being scanned out of synchronization may include one scan-pattern y-component (ΘAy) having a particular phase shift Δφyrelative to the other scan-pattern y-component (ΘBy). As an example, each scan-pattern y-component (ΘAyand ΘBy) may be a periodic function with a period τy, and the two components may have any suitable phase shift Δφy, such as for example, a phase shift of approximately 0°, 45°, 90°, 180°, or 270°. In the example ofFIG. 20, the two y-components ΘAyand ΘByare inverted and have a relative phase shift of approximately 0°. In the example ofFIG. 21, the two y-components ΘAyand ΘByare not inverted (e.g., they both correspond to a top-to-bottom scan) and have a phase shift Δφyof approximately 105°. While the two y-components ΘAyand ΘByinFIG. 21may correspond to two scan patterns with a similar top-to-bottom scan trajectory, the relative phase shift Δφybetween the two scan patterns may ensure that there is little or no optical cross-talk between the associated lidar sensors.

FIG. 22illustrates two example scan-pattern x-components ΘAxand ΘBxwhich are offset from one another by a phase shift Δφx. In particular embodiments, two scan patterns200being scanned out of synchronization may include one scan-pattern x-component (ΘAx) having a particular phase shift Δφxrelative to the other scan-pattern x-component (ΘBx). As an example, each scan-pattern x-component (ΘAxand ΘBx) may be a periodic function with a period τx, and the two components may have any suitable phase shift Δφx, such as for example, a phase shift of approximately 0°, 45°, 90°, 180°, or 270°. In the example ofFIG. 22, the two x-components ΘAxand ΘBxhave a phase shift Δφxof approximately 33°. In the example ofFIG. 19, if the two x-components ΘAxand ΘBxhave a phase shift Δφxof approximately 0°, then when lidar system100A is measuring pixel210A-1, lidar system100B may be measuring pixel210B-1. Similarly, when lidar system100A is measuring pixels210A-2,210A-3, and210A-4, then lidar system100B may be measuring pixels210B-2,210B-3, and210B-4, respectively. In the example ofFIG. 19, if the two x-components ΘAxand ΘBxhave a phase shift Δφxof approximately 90° (e.g., ΘBxleads ΘAxby 90°), then when lidar system100A is measuring pixel210A-1, lidar system100B may be measuring pixel210B-2. Similarly, when lidar system100A is measuring pixels210A-2and210A-3, then lidar system100B may be measuring pixels210B-3and210B-4, respectively. In particular embodiments, two scan patterns200being scanned out of synchronization may include one scan-pattern x-component (ΘAx) being inverted with respect to the other scan-pattern x-component (ΘBx).

In particular embodiments, a y-component scan period τymay correspond to a time to capture a single scan pattern200and may be related to a frame rate of a lidar sensor100. As an example, a scan period τyof approximately 100 ms may correspond to a lidar-sensor frame rate of approximately 10 Hz. In particular embodiments, an x-component scan period τxmay correspond to a period of one back-and-forth azimuthal motion of an output beam125. As an example, if scan pattern200includes M back-and-forth axial motions for each traversal of the scan pattern, then scan periods τxand τymay be approximately related by the expression τy=Mτx. For example, if M is approximately 64 and scan period τyis approximately 100 ms (corresponding to a 10-Hz frame rate), then scan period τxis approximately 1.56 ms (corresponding to a horizontal oscillation frequency of approximately 640 Hz).

In particular embodiments, two scan patterns200A and200B being scanned out of synchronization may include any suitable combination of x- or y-components being inverted or having any suitable phase shift. As an example, two scan patterns200A and200B may have y-components ΘAyand ΘBythat are inverted and that also have a nonzero relative phase shift. As another example, two scan patterns200A and200B may have y-components ΘAyand ΘBythat are inverted and x-components ΘAxand ΘBxthat have a nonzero relative phase shift.

In particular embodiments, a lidar system may include three or more lidar sensors100which produce scan patterns200that are scanned out of synchronization with respect to one another. As an example, a lidar system with three lidar sensors100may produce three scan patterns200with three respective sets of x-components (e.g., ΘAx, ΘBx, and ΘCx) and three respective sets of y-components (e.g., ΘAy, ΘBy, and ΘCy). The x- and y-components may have any suitable combination of phase shift or inversion with respect to one another. As an example, y-components ΘAyand ΘCymay both be inverted with respect to y-component ΘBy. As another example, x-component ΘAxmay have a +45° phase shift with respect to x-component ΘBx, and x-component ΘCxmay have a −45° phase shift with respect to x-component ΘBx.

FIG. 23illustrates two example scan patterns200A and200B. The scan patterns200A and200B illustrated inFIG. 23may be out of synchronization with respect to one another. In particular embodiments, a scan pattern200may include a back-and-forth portion that is aligned along any suitable direction, such as for example, horizontal, vertical, or along any suitable angle. In the example ofFIG. 19, scan patterns200A and200B each include a substantially sinusoidal back-and-forth portion that is aligned along a substantially horizontal direction. In particular embodiments, a scan pattern200may include a back-and-forth portion that is aligned along a substantially vertical direction. In the example ofFIG. 23, scan patterns200A and200B each include a substantially sinusoidal back-and-forth portion that is aligned along a substantially vertical direction. The scan patterns200A and200B illustrated inFIG. 23each include an x-component (ΘAxand ΘBx, respectively) and a y-component (ΘAyand ΘBy, respectively). The x-components may be inverted or have any suitable phase shift with respect to one another, and the y-components may be inverted or have any suitable phase shift respect to one another. The scan patterns200A and200B illustrated inFIG. 23correspond to the scan patterns200A and200B illustrated inFIG. 19with the x- and y-axes interchanged. As an example, the x-components of scan patterns200A and200B inFIG. 23may be similar to the y-components illustrated inFIG. 20 or 21. Similarly, the y-components of scan patterns200A and200B inFIG. 23may be similar to the x-components illustrated inFIG. 22.

FIG. 24illustrates an example computer system900. In particular embodiments, one or more computer systems900may perform one or more steps of one or more methods described or illustrated herein. In particular embodiments, one or more computer systems900may provide functionality described or illustrated herein. In particular embodiments, software running on one or more computer systems900may perform one or more steps of one or more methods described or illustrated herein or may provide functionality described or illustrated herein. Particular embodiments may include one or more portions of one or more computer systems900. In particular embodiments, a computer system may be referred to as a computing device, a computing system, a computer, a general-purpose computer, or a data-processing apparatus. Herein, reference to a computer system may encompass one or more computer systems, where appropriate.

Computer system900may take any suitable physical form. As an example, computer system900may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC), a desktop computer system, a laptop or notebook computer system, a mainframe, a mesh of computer systems, a server, a tablet computer system, or any suitable combination of two or more of these. As another example, all or part of computer system900may be combined with, coupled to, or integrated into a variety of devices, including, but not limited to, a camera, camcorder, personal digital assistant (PDA), mobile telephone, smartphone, electronic reading device (e.g., an e-reader), game console, smart watch, clock, calculator, television monitor, flat-panel display, computer monitor, vehicle display (e.g., odometer display or dashboard display), vehicle navigation system, lidar system, ADAS, autonomous vehicle, autonomous-vehicle driving system, cockpit control, camera view display (e.g., display of a rear-view camera in a vehicle), eyewear, or head-mounted display. Where appropriate, computer system900may include one or more computer systems900; be unitary or distributed; span multiple locations; span multiple machines; span multiple data centers; or reside in a cloud, which may include one or more cloud components in one or more networks. Where appropriate, one or more computer systems900may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example, one or more computer systems900may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computer systems900may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.

As illustrated in the example ofFIG. 24, computer system900may include a processor910, memory920, storage930, an input/output (I/O) interface940, a communication interface950, or a bus960. Computer system900may include any suitable number of any suitable components in any suitable arrangement.

In particular embodiments, processor910may include hardware for executing instructions, such as those making up a computer program. As an example, to execute instructions, processor910may retrieve (or fetch) the instructions from an internal register, an internal cache, memory920, or storage930; decode and execute them; and then write one or more results to an internal register, an internal cache, memory920, or storage930. In particular embodiments, processor910may include one or more internal caches for data, instructions, or addresses. Processor910may include any suitable number of any suitable internal caches, where appropriate. As an example, processor910may include one or more instruction caches, one or more data caches, or one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory920or storage930, and the instruction caches may speed up retrieval of those instructions by processor910. Data in the data caches may be copies of data in memory920or storage930for instructions executing at processor910to operate on; the results of previous instructions executed at processor910for access by subsequent instructions executing at processor910or for writing to memory920or storage930; or other suitable data. The data caches may speed up read or write operations by processor910. The TLBs may speed up virtual-address translation for processor910. In particular embodiments, processor910may include one or more internal registers for data, instructions, or addresses. Processor910may include any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor910may include one or more arithmetic logic units (ALUs); may be a multi-core processor; or may include one or more processors910.

In particular embodiments, memory920may include main memory for storing instructions for processor910to execute or data for processor910to operate on. As an example, computer system900may load instructions from storage930or another source (such as, for example, another computer system900) to memory920. Processor910may then load the instructions from memory920to an internal register or internal cache. To execute the instructions, processor910may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions, processor910may write one or more results (which may be intermediate or final results) to the internal register or internal cache. Processor910may then write one or more of those results to memory920. One or more memory buses (which may each include an address bus and a data bus) may couple processor910to memory920. Bus960may include one or more memory buses. In particular embodiments, one or more memory management units (MMUs) may reside between processor910and memory920and facilitate accesses to memory920requested by processor910. In particular embodiments, memory920may include random access memory (RAM). This RAM may be volatile memory, where appropriate. Where appropriate, this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Memory920may include one or more memories920, where appropriate.

In particular embodiments, storage930may include mass storage for data or instructions. As an example, storage930may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these. Storage930may include removable or non-removable (or fixed) media, where appropriate. Storage930may be internal or external to computer system900, where appropriate. In particular embodiments, storage930may be non-volatile, solid-state memory. In particular embodiments, storage930may include read-only memory (ROM). Where appropriate, this ROM may be mask ROM (MROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, or a combination of two or more of these. Storage930may include one or more storage control units facilitating communication between processor910and storage930, where appropriate. Where appropriate, storage930may include one or more storages930.

In particular embodiments, I/O interface940may include hardware, software, or both, providing one or more interfaces for communication between computer system900and one or more I/O devices. Computer system900may include one or more of these I/O devices, where appropriate. One or more of these I/O devices may enable communication between a person and computer system900. As an example, an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, camera, stylus, tablet, touch screen, trackball, another suitable I/O device, or any suitable combination of two or more of these. An I/O device may include one or more sensors. Where appropriate, I/O interface940may include one or more device or software drivers enabling processor910to drive one or more of these I/O devices. I/O interface940may include one or more I/O interfaces940, where appropriate.

In particular embodiments, communication interface950may include hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system900and one or more other computer systems900or one or more networks. As an example, communication interface950may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC); a wireless adapter for communicating with a wireless network, such as a WI-FI network; or an optical transmitter (e.g., a laser or a light-emitting diode) or an optical receiver (e.g., a photodetector) for communicating using fiber-optic communication or free-space optical communication. Computer system900may communicate with an ad hoc network, a personal area network (PAN), an in-vehicle network (IVN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. As an example, computer system900may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a Worldwide Interoperability for Microwave Access (WiMAX) network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination of two or more of these. As another example, computer system900may communicate using fiber-optic communication based on 100 Gigabit Ethernet (100 GbE), 10 Gigabit Ethernet (10 GbE), or Synchronous Optical Networking (SONET). Computer system900may include any suitable communication interface950for any of these networks, where appropriate. Communication interface950may include one or more communication interfaces950, where appropriate.

In particular embodiments, bus960may include hardware, software, or both coupling components of computer system900to each other. As an example, bus960may include an Accelerated Graphics Port (AGP) or other graphics bus, a controller area network (CAN) bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local bus (VLB), or another suitable bus or a combination of two or more of these.

Bus960may include one or more buses960, where appropriate.

In particular embodiments, various modules, circuits, systems, methods, or algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or any suitable combination of hardware and software. In particular embodiments, computer software (which may be referred to as software, computer-executable code, computer code, a computer program, computer instructions, or instructions) may be used to perform various functions described or illustrated herein, and computer software may be configured to be executed by or to control the operation of computer system900. As an example, computer software may include instructions configured to be executed by processor910. In particular embodiments, owing to the interchangeability of hardware and software, the various illustrative logical blocks, modules, circuits, or algorithm steps have been described generally in terms of functionality. Whether such functionality is implemented in hardware, software, or a combination of hardware and software may depend upon the particular application or design constraints imposed on the overall system.

In particular embodiments, a computing device may be used to implement various modules, circuits, systems, methods, or algorithm steps disclosed herein. As an example, all or part of a module, circuit, system, method, or algorithm disclosed herein may be implemented or performed by a general-purpose single- or multi-chip processor, a digital signal processor (DSP), an ASIC, a FPGA, any other suitable programmable-logic device, discrete gate or transistor logic, discrete hardware components, or any suitable combination thereof. A general-purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

In particular embodiments, one or more implementations of the subject matter described herein may be implemented as one or more computer programs (e.g., one or more modules of computer-program instructions encoded or stored on a computer-readable non-transitory storage medium). As an example, the steps of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a computer-readable non-transitory storage medium. In particular embodiments, a computer-readable non-transitory storage medium may include any suitable storage medium that may be used to store or transfer computer software and that may be accessed by a computer system. Herein, a computer-readable non-transitory storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs (e.g., compact discs (CDs), CD-ROM, digital versatile discs (DVDs), blue-ray discs, or laser discs), optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, flash memories, solid-state drives (SSDs), RAM, RAM-drives, ROM, SECURE DIGITAL cards or drives, any other suitable computer-readable non-transitory storage media, or any suitable combination of two or more of these, where appropriate. A computer-readable non-transitory storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.

While operations may be depicted in the drawings as occurring in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all operations be performed. Further, the drawings may schematically depict one more example processes or methods in the form of a flow diagram or a sequence diagram. However, other operations that are not depicted may be incorporated in the example processes or methods that are schematically illustrated. For example, one or more additional operations may be performed before, after, simultaneously with, or between any of the illustrated operations. Moreover, one or more operations depicted in a diagram may be repeated, where appropriate. Additionally, operations depicted in a diagram may be performed in any suitable order. Furthermore, although particular components, devices, or systems are described herein as carrying out particular operations, any suitable combination of any suitable components, devices, or systems may be used to carry out any suitable operation or combination of operations. In certain circumstances, multitasking or parallel processing operations may be performed. Moreover, the separation of various system components in the implementations described herein should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may be integrated together in a single software product or packaged into multiple software products.

Various embodiments have been described in connection with the accompanying drawings. However, it should be understood that the figures may not necessarily be drawn to scale. As an example, distances or angles depicted in the figures are illustrative and may not necessarily bear an exact relationship to actual dimensions or layout of the devices illustrated.

The scope of this disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments described or illustrated herein that a person having ordinary skill in the art would comprehend. The scope of this disclosure is not limited to the example embodiments described or illustrated herein. Moreover, although this disclosure describes or illustrates respective embodiments herein as including particular components, elements, functions, operations, or steps, any of these embodiments may include any combination or permutation of any of the components, elements, functions, operations, or steps described or illustrated anywhere herein that a person having ordinary skill in the art would comprehend.

The term “or” as used herein is to be interpreted as an inclusive or meaning any one or any combination, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, the expression “A or B” means “A, B, or both A and B.” As another example, herein, “A, B or C” means at least one of the following: A; B; C; A and B; A and C; B and C; A, B and C. An exception to this definition will occur if a combination of elements, devices, steps, or operations is in some way inherently mutually exclusive.

As used herein, words of approximation such as, without limitation, “approximately, “substantially,” or “about” refer to a condition that when so modified is understood to not necessarily be absolute or perfect but would be considered close enough to those of ordinary skill in the art to warrant designating the condition as being present. The extent to which the description may vary will depend on how great a change can be instituted and still have one of ordinary skill in the art recognize the modified feature as having the required characteristics or capabilities of the unmodified feature. In general, but subject to the preceding discussion, a numerical value herein that is modified by a word of approximation such as “approximately” may vary from the stated value by ±0.5%, ±1%, ±2%, ±3%, ±4%, ±5%, ±10%, ±12%, or ±15%.

As used herein, the terms “first,” “second,” “third,” etc. may be used as labels for nouns that they precede, and these terms may not necessarily imply a particular ordering (e.g., a particular spatial, temporal, or logical ordering). As an example, a system may be described as determining a “first result” and a “second result,” and the terms “first” and “second” may not necessarily imply that the first result is determined before the second result.

As used herein, the terms “based on” and “based at least in part on” may be used to describe or present one or more factors that affect a determination, and these terms may not exclude additional factors that may affect a determination. A determination may be based solely on those factors which are presented or may be based at least in part on those factors. The phrase “determine A based on B” indicates that B is a factor that affects the determination of A. In some instances, other factors may also contribute to the determination of A. In other instances, A may be determined based solely on B.