Patent Description:
A LIDAR system has signal processing components that analyze reflected light signals to determine the distances to surfaces from which the emitted laser light has been reflected. For example, the system may measure the "time of flight" of a light signal as it travels from the laser, to the surface, and back to the light sensor. A distance is then calculated based on the known speed of light. However, the accuracy of the distance measurement may depend on performance characteristics of the components of the LIDAR system (e.g., power sources, light sources, light sensors, etc.). Additionally, changes in environmental conditions, such as temperature and/or humidity, may impact distance measurements over time.

<CIT> discloses a laser distance measuring instrument including an optical separation part which separates a pulse laser beam from a deflection part into beams for a first route and a second route different in length, when this deflection part is at a predetermined turning position.

Typical LIDAR systems emit a light pulse and detect reflected light corresponding to the light pulse reflected off an object in the environment. The reflected light signals are then analyzed to determine the distances from the LIDAR system to surfaces from which the emitted laser light has been reflected. For example, the system may measure the "time of flight" (TOF) of a light signal as it travels from the laser, to the object, and back to the light sensor. A distance is then calculated based on the measured time of flight and the known speed of light. However, existing LIDAR systems do not do not take into account performance characteristics of the components of the LIDAR systems.

For example, these known techniques assume that the light source emits the light pulse substantially instantaneously when it is instructed to fire. However, in practice, the light pulse is not emitted instantaneously. Instead, there is some latency inherent in the components of the LIDAR system. Moreover, the light pulse may be Gaussian in nature, ramping up over time to a peak before dropping back off. Thus, the actual time of flight of the light pulse is a time from a peak of the emitted light pulse to a peak of the return pulse. However, because a time corresponding to the peak of the emitted light pulse may not be known, existing LIDAR systems use as a proxy the time at which the light source is instructed to fire. Thus, existing LIDAR systems do not account for inaccuracies in distance measurements inherently caused by performance characteristics and limitations of the components of the LIDAR systems. Furthermore, existing LIDAR systems do not account for differences in performance characteristics between similar components of the LIDAR system (e.g., differences in characteristics between multiple different light sources within the LIDAR system). Existing LIDAR systems also do not account for changes in performance characteristics over time, such as changes caused by environmental conditions in which the LIDAR systems are operating.

This application describes techniques for calibrating a LIDAR system based on a reference surface that is fixed at a known distance from a LIDAR sensor assembly. By using a fixed reference surface that is a known distance from the LIDAR sensor assembly, the LIDAR sensor assembly is able accurately measure a time of the peak of the emitted light pulse. In some examples this can be done directly by calculating an expected time of flight of a light pulse to the reference surface and back to the LIDAR sensor assembly. From this expected time of flight, the LIDAR sensor assembly can accurately determine a latency from the instruction to fire the light source to the peak of the emitted light pulse that is attributable to the performance characteristics of the components of the LIDAR sensor assembly. In other examples, due to the relatively short distance to the reference surface (typically a few centimeters or less), the time of flight of the light pulse to the reference surface may be negligible, and the LIDAR sensor assembly may determine the latency to be a time from the signal to fire the light source to receipt of the peak return signal.

Regardless of the technique used to determine the latency, the LIDAR sensor assembly can be calibrated to account for the latency, thereby improving the accuracy of subsequent distance measurements. In the case of multi-channel LIDAR systems, these calibration techniques can be performed for each channel (e.g., light source and light sensor combination) of the LIDAR sensor assembly. Moreover, in some examples, these techniques can be applied at runtime to account for changes in performance characteristics over time, such as changes caused by environmental conditions in which the LIDAR sensor assembly is operating. Still further, in some examples, the intensity of the reflected light returned from the reference surface may be measured and compared to previous returns to detect changes in performance of the light sources (e.g., determine degradation, burnout, or malfunction of a light source, storage capacity of a capacitor or other power source, or the like).

According to the invention, a LIDAR sensor assembly usable to implement the techniques described herein includes a rotatable assembly including one or more light sources. In some examples the Lidar sensor includes further one or more light sensors, and associated circuitry mounted in a chassis that rotates about a vertical rotational axis to scan horizontally across a scene. During a rotation of the chassis, light pulses are emitted at different horizontal directions. The horizontal angle of light emission varies with the rotation of the chassis. In other examples, LIDAR sensor assemblies according to this disclosure may be mounted in different orientations (e.g., may rotate about an axis other than a vertical axis such that the LIDAR sensor assembly scans in a path other than horizontal). In some examples, a view of the LIDAR sensor assembly may be limited or partially obstructed by an opaque object (e.g., by a stationary portion of the LIDAR sensor assembly, a vehicle to which the LIDAR sensor assembly is mounted, etc.). In that case, the LIDAR sensor assembly may be said to have a "limited detection angle" of less than <NUM> degrees. The obstruction may include a reference surface that is fixed relative to an axis of rotation of the rotatable assembly. Thus, the reference surface is positioned at a known, fixed distance from the light sources and light sensors of the LIDAR sensor assembly and may be used to calibrate the LIDAR sensor assembly. In other examples, the LIDAR sensor assembly may have an unobstructed <NUM>-degree detection angle.

In either case (limited detection angle or unobstructed detection angle), the LIDAR sensor assembly may additionally or alternatively include a substantially transparent surface (e.g., a cover or lens surrounding the rotatable assembly). The substantially transparent surface may be coupled to a stationary portion of the LIDAR sensor assembly and may be fixed at a known distance from the axis of rotation of the rotatable assembly. The substantially transparent surface may reflect a portion of the light emitted by the light source and may, therefore, additionally or alternatively serve as a fixed reference surface from which to calibrate the LIDAR sensor assembly.

In some examples, the calibration may be performed by a controller of the LIDAR sensor assembly as follows. The controller may cause the light source to emit a pulse of light toward the fixed reference surface. The controller then receives a signal from the light sensor indicating detection of reflected light corresponding to reflection of the pulse of light from the fixed reference surface. The controller may calibrate the LIDAR sensor assembly based at least in part on the signal indicating detection of the reflected light corresponding to reflection of the pulse of laser light from the fixed reference surface.

In this way, the LIDAR sensor assembly can be calibrated to account for latency inherent in the performance characteristics of the light sources, light sensors, and associated circuitry, thereby improving the accuracy of subsequent distance measurements. In the case of multi-channel LIDAR systems, each channel (e.g., light source and light sensor combination) may be calibrated. This calibration can be performed when the LIDAR system is turned on and/or periodically during use to account for changes in performance characteristics over time, such as changes caused by environmental conditions in which the LIDAR sensor assembly is operating.

These and other aspects are described further below with reference to the accompanying drawings. The drawings are merely example implementations, and should not be construed to limit the scope of the claims. For example, while the drawings depict a LIDAR sensor assembly including a specific number of channels, the techniques described herein are also applicable to LIDAR sensor assemblies using different numbers of channels. Also, while in some examples the LIDAR sensor assembly is described as being mounted to a vehicle, in other examples LIDAR sensor assemblies according to this disclosure may be used in other scenarios, such as in a manufacturing line, in a security context, or the like.

<FIG> is a partial cutaway view of an example system including a LIDAR sensor assembly <NUM>. The LIDAR sensor assembly <NUM> includes a chassis <NUM> that comprises multiple laser light source(s) <NUM>(<NUM>)-<NUM>(N) (collectively referred to as "laser light sources <NUM>) and one or more light sensor(s) <NUM>(<NUM>)-<NUM>(N) (collectively referred to as "light sensors <NUM>"), where N is any integer greater than or equal to <NUM>. The LIDAR sensor assembly <NUM> also includes control circuitry <NUM> configured to control emission of light by the light sources and to receive and analyze signals from the light sensors <NUM>.

In some examples, the chassis <NUM> may include a partition <NUM> (shown as transparent for ease and clarity of installation) that forms a compartment on each of two lateral sides of the chassis <NUM>. In <FIG>, a sensor compartment <NUM> is shown on one side of the chassis <NUM> and an emitter compartment <NUM> is shown on the other side of the chassis <NUM>. The sensor compartment <NUM> houses the light sensor(s) <NUM> and the emitter compartment <NUM> houses the laser light source(s) <NUM> while the partition <NUM> may be opaque to prevent or limit light leakage therebetween.

In the illustrated example, the chassis <NUM> also supports a first lens <NUM> and a second lens <NUM>, which may each be mounted so that their optical axes are oriented generally perpendicular to an outer surface of the chassis <NUM>. The first lens <NUM> is generally above the emitter compartment <NUM> and forward of the laser light source(s) <NUM>. In some examples, one or more mirrors <NUM> are positioned within the chassis <NUM> behind the first lens <NUM> and second lens <NUM> to redirect emitted and received light between horizontal and vertical directions. The chassis <NUM> may be rotatable about an axis of rotation X, such that as the chassis <NUM> is rotated, the optical axes of the first lens <NUM> and the second lens <NUM> will scan horizontally across a scene including one or more objects including an object <NUM>.

In some examples, the LIDAR assembly <NUM> may include a plurality of channels by which a laser light sources <NUM> may emit light along a precise direction so that the reflected light strikes a light sensor that corresponds specifically to the laser light source <NUM>. For example, laser light source <NUM>(<NUM>) and light sensor <NUM>(<NUM>) may correspond specifically to a first channel whereas laser light source <NUM>(N) and light sensor <NUM>(N) may correspond specifically to an N-th channel. The optical system of the LIDAR sensor assembly <NUM> is designed so that beams from light sources <NUM> at different physical positions within the LIDAR sensor assembly <NUM> are directed outwardly at different angles in azimuth and elevation. Specifically, the first lens <NUM> is designed to direct light from the light sources <NUM> for at least some of the channels at different angles relative to the horizon. The first lens <NUM> is designed so that the corresponding light sensor <NUM> of the channel receives reflected light from the same direction.

The control circuitry <NUM> includes a controller <NUM> that implements control and analysis logic. The controller <NUM> may be implemented in part by an FPGA (field-programmable gate array), a microprocessor, a DSP (digital signal processor), or a combination of one or more of these and other control and processing elements, and may have associated memory for storing associated programs and data.

The controller <NUM> implements control and analysis logic for each of the multiple channels. To initiate a single distance measurement using a single channel, the controller <NUM> generates a signal <NUM>. The signal <NUM> is received by a charge circuit <NUM>, which determines an appropriate charge duration (e.g., based on desired intensity, pulse width, etc.) and provides signal <NUM> to charge a capacitive driver <NUM> for the specified charge duration. The capacitive driver <NUM> comprises a bank of one or more capacitors to drive the light sources <NUM>. The duration of charge determines the intensity of the light pulse emitted for by the light source <NUM>.

After charging for the specified duration, the controller <NUM> causes the capacitive driver <NUM> to output an emitter drive signal <NUM> to the respective light source <NUM>. The emitter drive signal <NUM> causes the respective light source (e.g., light source <NUM>(<NUM>) in this example) to light source <NUM> to emit one or more laser light pulses through the first lens <NUM> along an outward path <NUM> (shown by the dot-dash line). The burst is reflected by the object <NUM> in the scene, through the lens second <NUM>, and to the light sensor <NUM> of the corresponding channel (e.g., light sensor <NUM>(<NUM>) in this example) along a return path <NUM> (shown by the double-dot-dash line).

Upon receipt of the reflected light along return path <NUM>, the light sensor <NUM>(<NUM>) outputs a return signal <NUM> to an analog to digital converter (ADC) <NUM>. The return signal <NUM> is generally of the same shape as the emitter drive signal <NUM>, although it may differ to some extent as a result of noise, interference, cross-talk between different emitter/sensor pairs, interfering signals from other LIDAR devices, pulse stretching, and so forth. The return signal <NUM> will also be delayed with respect to the emitter drive signal <NUM> by an amount of time corresponding to the round-trip propagation time of the emitted laser burst (i.e., the time of flight of the emitted burst).

The ADC <NUM> receives and digitizes the return signal <NUM> to produce a digitized return signal <NUM>. The digitized return signal <NUM> is a stream of digital values indicating the magnitude and timing of the digitized return signal <NUM> over time. In this example, the digitized return signal <NUM> is provided to a cross-correlator <NUM>, which correlates a specific digitized return signal <NUM> with the corresponding emitter drive signal <NUM> and outputs a time of flight signal <NUM> indicative of a time shift from emission of the light pulse by the light source to detection of the reflection of the return of the light pulse at the light sensor. In some configurations, the some or all of the functions of the cross-correlator <NUM> may be performed by the controller <NUM>. Once a return signal is correlated or matched with an emitted signal, the controller <NUM> can then use the time of flight of the pulse of light in combination with the known speed of light to calculate a distance D to the object <NUM>. While the distance D is depicted in this figure as just a distance between the first lens <NUM> and the object <NUM>, in practice the distance D may take into account a total roundtrip distance of the light path from the light source <NUM> to the light sensor <NUM> (i.e., including the distances between the light sources <NUM> and light sensors <NUM> and their respective lenses <NUM> and <NUM>). The foregoing example is just one of many techniques that may be used to recover the time of flight of the emitted pulse.

However, if, as in the case of <FIG>, the distance D to the object <NUM> is already known (i.e., if the object <NUM> is positioned at a known, fixed distance from the light source <NUM> and the light sensor <NUM>), the object <NUM> may serve as a reference surface and may be used to calibrate the LIDAR sensor assembly <NUM> as described further with reference to <FIG> below. That is, the time of flight signal <NUM> while the while the LIDAR assembly is aimed at the reference surface (i.e., object <NUM>) can be used as a "reference signal" against which to calibrate the LIDAR sensor assembly <NUM>. The reference signal (i.e., time of flight signal <NUM> while the LIDAR assembly is aimed at the reference surface (i.e., object <NUM>)) may be captured uniquely for each channel in the LIDAR sensor assembly <NUM>, may be stored and used for multiple subsequent measurements, and may be updated over time to account for thermal drift and/or other variables. In some examples, the reference signal may be updated at least once per revolution of the chassis. In other examples, the reference signal may be updated more or less frequently. Furthermore, in some examples, multiple readings may be performed and averaged to create the reference signal.

Thus, by fixing the object <NUM> in a scan path of the optical axes of the first lens <NUM> and the second lens <NUM> at a known distance D from the LIDAR sensor assembly <NUM>, the object <NUM> can be used as a reference surface. In some examples, the object <NUM> may be part of the LIDAR sensor assembly <NUM> (e.g., a support surface, part of the housing, a lens, etc.), while in other examples, the object <NUM> may be part of a surrounding environment (e.g., a vehicle, machine, or other structure) which is fixed relative to the LIDAR sensor assembly <NUM>.

<FIG> is a timing diagram to illustrate calibration of a LIDAR sensor assembly such as that shown in <FIG>. For ease of discussion, <FIG> is described in the context of the LIDAR sensor assembly <NUM> of <FIG>. However, the concepts illustrated in <FIG> are not limited to performance by the LIDAR sensor assembly <NUM> and may be employed using other systems and devices. Moreover, <FIG> depicts an example for a single pulse on a single channel of a LIDAR system. However, in other examples, this technique may be performed for each channel of a LIDAR system, and may be performed multiple times and/or using multiple pulses.

The timing diagram <NUM> includes a waveform <NUM> representing a pulse emitted by an example LIDAR sensor assembly and a waveform <NUM> representing a received pulse corresponding to the emitted light reflected off of a fixed reference surface. In some examples, the emitter drive signal <NUM> may be used as the waveform <NUM> representing the emitted pulse, while the return signal <NUM> may be used as the waveform <NUM> representing a received pulse corresponding to light reflected off of a fixed reference surface.

As shown in <FIG>, T<NUM> corresponds to a time at which the capacitive driver <NUM> issues the emitter drive signal <NUM> to cause the light source <NUM>(<NUM>) to fire (i.e., the time at which the signal is transmitted). However, as discussed above, the light pulse is not emitted instantaneously. Rather, when the emitter drive signal <NUM> is applied to the light source <NUM>(<NUM>), the light source <NUM>(<NUM>) emits a Gaussian pulse that ramps up over time to a peak before dropping back off. T<NUM> corresponds to the peak of the emitted light pulse, and T<NUM> corresponds to the peak of the return signal. The expected time of flight of the light pulse is equal to a time between the peak of the emitted pulse T<NUM> and the peak of the received pulse T<NUM>. That is, expected time of flight equals T<NUM> - T<NUM>. However, as discussed above, the time corresponding to the peak of the emitted light pulse T<NUM> may not be known or directly measurable. Instead, the LIDAR sensor assembly <NUM> may determine a measured time of flight between transmission of the firing signal T<NUM> and the peak of the received pulse T<NUM>. That is, the measured time of flight equals T<NUM> - T<NUM>. Then, unlike conventional systems, the LIDAR sensor assembly <NUM> can compute T<NUM> based on the received pulse from the reference surface. Specifically, using the known distance D to the reference surface and the speed of light, the LIDAR sensor assembly <NUM> can compute the expected time of flight (i.e., the amount of time it should take the emitted pulse to complete the round trip to the reference surface and back). From this, the LIDAR sensor assembly <NUM> can compute the time corresponding to the peak of the emitted light pulse T<NUM>. This also allows, the LIDAR sensor assembly <NUM> to determine a firing latency (i.e., an amount of time from issuance of the firing signal T<NUM> to the peak of the emitted light pulse T<NUM>) attributable to performance characteristics and limitations of the components of the LIDAR systems, such as the capacitive drivers <NUM> and the light sources <NUM>.

In other examples, due to the relatively short distance D to the reference surface (typically a few centimeters or less), the time of flight of the light pulse to the reference surface may be negligible (i.e., T<NUM> - T<NUM> may be negligible) when compared with time of flight of light pulses emitted in the detection angle of the LIDAR sensor assembly (i.e., pulses emitted into the surroundings of the LIDAR sensor assembly to detect objects in the surroundings), which are typically in the range of about <NUM> meter to about <NUM> meters from the LIDAR sensor assembly. In that case, the LIDAR sensor assembly <NUM> may treat the firing latency to be a whole period from the signal to fire T<NUM> to receipt of the peak return signal T<NUM>.

In some examples, the LIDAR sensor assembly <NUM> may determine when the chassis <NUM> is oriented to emit light toward the reference surface <NUM> based on the return signals (e.g., the shortest return signal received during each revolution may be determined to correspond to the reference surface). In other examples, a portion of the rotation of the chassis <NUM> during which pulses are emitted toward the reference surface <NUM> may be defined as a reference angle, and a rotary encoder coupled to the chassis <NUM> may be used to indicate when the chassis <NUM> is oriented to emit light within the reference angle. Return signals received while the chassis <NUM> is oriented in the reference angle may be determined to correspond to the reference surface.

In some examples, the intensity of the reflected light returned from the reference surface may be measured and compared to previous returns to detect changes in performance of the light sources (e.g., determine degradation, burnout, or malfunction of a light source, storage capacity of a capacitor or other power source, or the like). For instance, if the peak of the received reference pulse has a magnitude lower than previous received reference pulses, or if a sequence of received reference pulses shows a downward trend of peak values, the LIDAR sensor assembly <NUM> may determine that the light source corresponding to the emitted pulse is burning out, is damaged, is dirty, or is otherwise in need of service.

In some examples, other characteristics of the return pulse, such as the shape of the return pulse (e.g., how Gaussian, how steep/sharp, how wide, etc.), may additionally or alternatively be measured. The shape of the return pulse may provide additional information which may be useful for calibration of the LIDAR sensor and/or correlation of emitted and received signal pulses, for example.

<FIG>, <FIG> illustrate an example LIDAR sensor assembly <NUM> with one or more integral reference surfaces. In particular, <FIG> is a perspective view of the example LIDAR sensor assembly <NUM> with an outer housing omitted for clarity. <FIG> is a simplified top view of the example LIDAR sensor assembly <NUM>, with a top support rib omitted. <FIG> is a perspective view of the example LIDAR sensor assembly <NUM> showing the outer housing. <FIG> is a simplified cross sectional view of the example LIDAR sensor assembly <NUM>, taken along line B-B of <FIG>.

<FIG> illustrates the LIDAR sensor assembly <NUM> including a stationary portion <NUM> and a rotatable assembly <NUM> coupled to, and rotatable relative to, the stationary portion <NUM>. The rotatable assembly <NUM> includes an elongated chassis <NUM> which houses multiple laser light sources to emit laser light, multiple light sensors, and associated circuitry and electronics (e.g., one or more controllers, charge circuits, capacitive drivers, ADCs, cross correlators, etc.), such as those shown in <FIG>. The elongated chassis <NUM> has a generally frustum shape, which tapers from a top end to a bottom end. The elongated chassis <NUM> has an axis of rotation X substantially at a radial center of the frustum, about which the rotatable assembly <NUM> rotates. A lens assembly <NUM> includes a first lens <NUM> positioned in an optical path of the laser light sources, and a second lens <NUM> positioned in an optical path of the light sensors. In this example, the first lens <NUM> and the second lens <NUM> each constitute less than a full circle such that portions of the circumferences of the lenses that are closest together are truncated so they can be closer together. In other words, centers of the first lens <NUM> and the second lens <NUM> are less than one diameter apart from each other. In other examples, however, one or both lenses may be circular, such as the example shown in <FIG>.

The stationary portion <NUM> includes an elongated spine <NUM> which extends substantially parallel to the axis of rotation X of the rotatable assembly <NUM>. The spine <NUM> may include mounting features (e.g., through holes, connectors, brackets, etc.) to mount the LIDAR sensor assembly <NUM> to a vehicle, machine, or other surface during operation. The spine <NUM> may additionally house electronics and/or provide a routing pathway to route conductors to transfer power and/or data between the LIDAR sensor assembly and a computing device. A pair of support ribs <NUM> extend substantially perpendicularly from the spine <NUM> and couple to first and second ends of the elongated chassis <NUM>. Specifically, a first support rib 316A extends substantially perpendicularly from the spine <NUM> and couples to a first (top) end of the chassis <NUM>, and the second support rib 316B extends substantially perpendicularly from the spine <NUM> and couples to a second (bottom) end of the chassis <NUM>. The support ribs <NUM> are coupled to the chassis <NUM> by bearings, bushings, or other rotatable connections allowing the chassis <NUM> to rotate relative to the support ribs <NUM> and spine <NUM>. In the illustrated example, a motor <NUM> (e.g., an electric motor) is coupled between the chassis <NUM> and the support rib 316A and configured to apply torque to rotate the rotatable assembly <NUM> about the axis X. However, in other examples, the motor <NUM> may be located in other locations. For instance, the motor may be located on an opposite side of the support rib 316A from the chassis <NUM>. In other examples, the motor <NUM> may be located remotely from the chassis <NUM> and torque from the motor <NUM> may be provided by a device for transmitting torque, such as, for example, one or more gears, one or more shafts, one or more belts, and/or one or more chain drives. In some examples, the motor <NUM> may be located at the second (bottom) end of the chassis <NUM>, for example, between the support rib 316B and the chassis <NUM>, or on the opposite side of the support rib 316B from the chassis <NUM>.

Because the spine <NUM> is opaque and extends substantially parallel to the axis of rotation X of the rotatable assembly <NUM>, the spine <NUM> obstructs a portion of a scan path of the laser light sources and limits a detection angle of the LIDAR sensor assembly <NUM>. Typically, a limited detection angle for a LIDAR sensor is undesirable. However, the LIDAR sensor assembly <NUM> described in this example can take advantage of this limited detection angle by using the spine <NUM>, which is located at a known distance relative to the rotatable assembly <NUM>, as a fixed reference surface in order to calibrate the LIDAR sensor assembly according to the techniques described herein.

<FIG> illustrates the limited detection angle of the LIDAR sensor assembly <NUM>. As shown, the detection angle of the LIDAR sensor assembly <NUM> is indicated by the angle Θ. Over the angle Θ the LIDAR sensor assembly <NUM> emits laser light into a scene surrounding the LIDAR sensor assembly <NUM> to detect objects in the scene. However, over the angle α (<NUM>- Θ) the spine <NUM> obstructs the laser light. The angle Θ that is obstructed by the spine <NUM> depends on the width of the spine, the distance of the spine <NUM> from the axis of rotation X, the spacing of the optical axes of the first lens <NUM> and the second lens <NUM>. In the illustrated example, the angle Θ is about <NUM> degrees. In some examples, the angle Θ may be between about <NUM> degrees and about <NUM> degrees. However, in other examples, the angle Θ may be greater than or less than those listed. For instance, in the case of a nose mounted LIDAR sensor assembly Θ may be about <NUM> degrees, while in a top mounted LIDAR assembly Θ may be <NUM> degrees (as will be discussed further with respect to <FIG>).

Within the angle α, the LIDAR sensor assembly <NUM> may emit one or more pulses of light. For ease of illustration, <FIG> illustrates a single emitted pulse of light shown by the dashed line <NUM>. However, in practice the LIDAR sensor assembly may fire multiple pulses of light from multiple different light sources as the sensor rotates through angle α. Due to the relative proximity of the of the spine <NUM> to the rotatable assembly <NUM>, parallax may result in the emitted light pulse <NUM> from being reflected back at an angle that would not ordinarily be incident on the lens <NUM> and would, therefore, not be detected by the corresponding light sensor within the chassis <NUM>. In order to avoid this parallax problem and ensure that a return signal is received for each light pulse that is emitted within angle α, a light diffuser <NUM> may be disposed on at least a portion of a surface of the spine <NUM> closest to the rotatable assembly <NUM>. The light diffuser <NUM> may be formed integrally with the spine <NUM> or may be applied to all or a portion of the spine <NUM> (e.g., as a cover, sticker, paint, or coating). The diffuser <NUM> provides substantial internal reflection, such that when hit with light at any location on its surface, the diffuser emits light from substantially its entire surface, as shown by the dot dash lines <NUM> in <FIG>. The diffuser <NUM> can comprise any material capable of providing the desired internal reflection such as, for example, a retroreflector, a white or reflective material having a textured surface (e.g., bead blasted glass or acrylic, acid etched glass, etc.), etc..

Thus, when a controller of the LIDAR sensor assembly causes a light source to emit a pulse of laser light toward the reference surface (i.e., anywhere within angle α), a signal is received from the light sensor indicating detection of reflected light corresponding to reflection of the pulse of laser light from the fixed reference surface. Based on this signal indicating detection of the reflected light corresponding to reflection of the pulse of laser light from the fixed reference surface and the known distance to the reference surface, the controller is able to calibrate the LIDAR sensor assembly <NUM> to account for performance characteristics of the light sources, drivers of the light sources, and other components of the LIDAR sensor assembly <NUM>.

While omitted from <FIG> for clarity, the LIDAR sensor assembly <NUM> may also include an outer housing, such as the one shown and described with reference to <FIG> below. The outer housing may include a substantially transparent ring lens through which light is emitted from and received by the LIDAR sensor assembly <NUM>. The inclusion of the outer housing, including the ring lens, does not substantially change the operation of the LIDAR sensor assembly provided above. In some examples, the ring lens may be made of an antireflective material and/or interior and exterior surfaces of the ring lens may be coated with an antireflective coating in order to minimize the optical effects of the ring lens on the light entering and exiting the LIDAR sensor assembly <NUM>.

<FIG> is a perspective view of the example LIDAR sensor assembly <NUM>, showing an outer housing <NUM> to cover and protect the rotatable assembly <NUM> and the electronics of the LIDAR sensor assembly <NUM>. The outer housing <NUM> includes an opaque cap <NUM> and main body <NUM>, and a substantially transparent ring lens <NUM> interposed between the cap <NUM> and the main body <NUM>. The cap <NUM> is disposed at and covers the first support rib 316A and the first end (the top) of the rotatable assembly <NUM> of the LIDAR sensor assembly <NUM>. The main body <NUM> surrounds and encloses the second support rib 316B and the second end (bottom) of the rotatable assembly <NUM>. The ring lens <NUM> encircles the portion of the rotatable assembly <NUM> through which light enters and exits the lens assembly <NUM>. Thus, the ring lens <NUM> facilitates the passage of light to and from the LIDAR sensor assembly <NUM> as the rotatable assembly <NUM> rotates within the outer housing <NUM>. The outer housing <NUM> encloses the rotatable assembly <NUM> and is coupled to the stationary portion <NUM> of the LIDAR sensor assembly <NUM>. The cap <NUM> and the main body <NUM> are contoured to generally conform to an outer geometry of the rotatable assembly <NUM> around a majority of its circumference, before curving at an edge closest to the spine <NUM> to mate with lateral edges of the spine <NUM>. Contoured trim pieces <NUM> may be included to fill a gap between the ring lens <NUM> and the spine <NUM> and to match the contours of the cap <NUM> and the main body <NUM>. The contoured trim pieces <NUM> may be opaque or transparent. One or more O-rings (not shown) may be provided at the interfaces between the cap <NUM> and the ring lens <NUM>, and/or between the ring lens <NUM> and the main body <NUM>, in order to prevent dirt and moisture from entering the outer housing <NUM>. Gaskets and/or sealants may be provided between the outer housing <NUM> and the spine <NUM> in order to prevent dirt and moisture from entering the outer housing <NUM>.

<FIG> is a simplified cross sectional view of the example LIDAR sensor assembly <NUM>, taken along line B-B of <FIG> is similar to the example described with reference to <FIG> except that in this case, instead of (or in addition to) the spine <NUM>, the ring lens <NUM> serves as the fixed reference surface for calibrating the LIDAR sensor assembly. Like the spine <NUM>, the ring lens <NUM> is fixed a known distance from the rotatable assembly <NUM> and can also serve as a reference surface. Just as in <FIG>, for ease of illustration a single pulse of light, shown by the dashed line <NUM>, is emitted from the rotatable assembly <NUM>. However, in practice, the LIDAR sensor assembly may fire multiple pulses of light from multiple different light sources. In the example of <FIG>, at least a portion of the pulse of light is reflected by the ring lens <NUM>. In this example, an interior surface of the ring lens <NUM> may not be coated with an antireflective material. The reflected portion of the light pulse is shown by the dot dash lines. As shown, there may be multiple internal reflections of the light pulse. At least some of the reflected light enters the lens <NUM> and is received by a light sensor of the LIDAR sensor assembly <NUM>. Upon receipt of the reflected light, the light sensor generates a signal indicating detection of the reflected light corresponding to reflection of the pulse of laser light from the fixed reference surface (the ring lens <NUM> in this example). Based on this return signal from the reference surface and the known distance to the reference surface, the controller is able to calibrate the LIDAR sensor assembly <NUM> to account for performance characteristics of the light sources, drivers of the light sources, and other components of the LIDAR sensor assembly <NUM>.

When the ring lens <NUM> is used as the reference surface, the calibration operation is not necessarily limited to a portion of the rotation during which the scan direction of the rotatable assembly <NUM> is directed toward the spine <NUM>. Because a portion of each emitted light pulse is reflected by the ring lens <NUM> and detected by the light sensors, the LIDAR sensor assembly <NUM> could be calibrated based on any emitted light pulse emitted at any angle of rotation of the rotatable assembly <NUM>, not necessarily when oriented toward the spine <NUM>. However, in some examples, it may be beneficial to calibrate the LIDAR sensor assembly <NUM> based on pulses emitted toward the spine <NUM> since the system need not be simultaneously determining a distance to an object in the surroundings (since the distance to the spine is known). Additionally, in some examples, the spine <NUM> may include an optically black portion <NUM> (or substantially light absorbing portion). The surface of the spine <NUM> may be made optically black by, for example, constructing all or a portion of the spine of an optically black material, or by applying an optically black cover, sticker, paint, or other coating. By including the optically black portion <NUM>, pulses of light incident on the optically black portion <NUM> will be absorbed and will not be reflected. Thus, if the LIDAR sensor assembly <NUM> is calibrated based on pulses emitted toward the spine <NUM>, the only return will be the reflections from the ring lens <NUM>. Thus, reduces noise and thereby reduces the computational complexity of calibrating the LIDAR sensor assembly <NUM> based on the return from the ring lens <NUM> as the reference surface.

Additionally, in some examples, the return from the ring lens <NUM> as the reference surface may be measured during the calibration, and may be filtered out of subsequent distance measurements (i.e., during the portion of the rotation not obstructed by the spine). During operation, the LIDAR sensor assembly <NUM> receives multiple returns for every light emission (e.g., one or more reflections from the ring lens <NUM> as well as desired returns from actual objects in the surrounding scene). During normal distance measurements, the reflections from the ring lens <NUM> are extraneous noise that can degrade the accuracy of the LIDAR sensor assembly. However, in examples that employ an optically black portion <NUM> and use the ring lens <NUM> as a reference surface, the return signals corresponding to reflections the ring lens <NUM> can be isolated and filtered out, thereby eliminating noise from the return signal and further improving accuracy of the LIDAR sensor assembly <NUM>.

<FIG> is a simplified cross sectional view of another example LIDAR sensor assembly <NUM> that has an unobstructed <NUM>-degree detection angle. <FIG> is similar to the example of <FIG>, except that the spine <NUM> and at least one of the support ribs 316A and/or 316B is omitted. In this example, the LIDAR sensor assembly <NUM> is supported entirely by an axle <NUM> extending from a top or a bottom of the LIDAR sensor assembly <NUM>. Thus, the detection angle of the LIDAR sensor assembly <NUM> is unobstructed and the LIDAR sensor assembly <NUM> has a full <NUM>-degree detection angle. The LIDAR sensor assembly <NUM> may still employ the ring lens <NUM> as a reference surface for calibration according to the techniques described above.

<FIG> illustrates an example system <NUM> including a multiple LIDAR sensor assemblies 602A-602F (referred to collectively as "LIDAR sensor assemblies <NUM>") mounted to a vehicle <NUM>. The vehicle <NUM> in this example is illustrated as being an autonomous passenger vehicle. However, in other examples, LIDAR assemblies can be mounted to non-passenger vehicles, robots, aircraft, and other vehicles, and may be autonomous, semi-autonomous, or human driven.

<FIG> illustrates four corner mounted LIDAR sensor assemblies 602A-602D, a top mounted LIDAR sensor assembly 602E, and a nose mounted LIDAR sensor assembly 602F. The corner mounted LIDAR sensor assemblies 602A-602D may be the same as or similar to those shown in <FIG>, <FIG>, and/or 4B, for example, and may have a detection angle Θ<NUM> of at least about <NUM> degrees and at most about <NUM> degrees. The top mounted LIDAR sensor assembly 602E may be the same as or similar to that shown in <FIG>, for example, and may have a detection angle Θ<NUM> of about <NUM> degrees. The nose mounted LIDAR sensor assembly 602F may be similar to those shown in <FIG>, <FIG>, and/or 4B, for example, and may have a detection angle Θ<NUM> of at least about <NUM> degrees and at most about <NUM> degrees. In some examples, the system <NUM> may include all of the illustrated LIDAR sensor assemblies <NUM>, a subset of the LIDAR sensor assemblies (e.g., only the corner mounted LIDAR sensor assemblies 602A-602D), or the system <NUM> may include additional LIDAR sensor assemblies (e.g., a tail mounted LIDAR assembly, side or door mounted LIDAR sensor assemblies, etc.). The LIDAR sensor assemblies <NUM> may be coupled to one or more body panels or structural members of the vehicle <NUM> or may be formed integrally with the vehicle body itself (e.g., the LIDAR sensor assembly housing may be formed into the contour of a fender, hood, bumper, door, roof, or other portion of the vehicle body).

In some examples, a portion of the vehicle body may be within a detection angle of a LIDAR sensor assembly <NUM>. In that case, the LIDAR sensor assembly may be fixed relative to the portion of the vehicle and, thus, the portion of the vehicle body may serve as a fixed reference surface and may be used for calibration of the LIDAR sensor assembly according to the techniques described herein.

<FIG> is a side view of an example system <NUM> including a multiple LIDAR sensor assemblies 702A and 702B (referred to collectively as "LIDAR sensor assemblies <NUM>") mounted to a vehicle <NUM> at different orientations. Specifically, the system <NUM> includes a first LIDAR sensor assembly 702A mounted at a front corner of the vehicle <NUM>. The first LIDAR sensor assembly 702A is mounted such that an axis of rotation X of the first LIDAR sensor assembly 702A is oriented substantially vertically (i.e., normal to the horizon). The first LIDAR sensor assembly 702A is configured such that a pattern of emitted light pulses 706A is spanning the horizon, with some pulses being angled above the horizon and some pulses that are below the horizon. In some examples, the pattern of emitted light pulses may be concentrated around the horizon with fewer pulses emitted at angles further from the horizon. However, other scan patterns are also contemplated having light pulses emitted at other angles relative to the horizon.

The second LIDAR sensor assembly 702B is mounted such that an axis of rotation X of the first LIDAR sensor assembly 702B is offset by angle η relative to vertical (i.e., is tilted at an oblique angle from normal to the horizon). Nevertheless, the second LIDAR sensor assembly 702B is configured such that a pattern of emitted light pulses 706B is substantially the same as that of LIDAR sensor assembly 702A. This may be achieved, for example, by angling one or more mirrors in the LIDAR sensor assembly. However, again, other scan patterns are also contemplated having light pulses emitted at other angles relative to the horizon.

In some examples, different LIDAR sensor assemblies of the vehicle <NUM> may have different scan patterns. For instance, some LIDAR sensor assemblies (e.g., corner mounted LIDAR sensor assemblies) may have scan patterns centered around the horizon, while one or more other LIDAR sensor assemblies (e.g., nose or tail mounted LIDAR sensor assemblies) may have scan patterns oriented below the horizon (e.g., to detect objects closer to a front of the vehicle). These and other variations of mounting configurations are contemplated for LIDAR sensor assemblies according to this disclosure.

<FIG> also illustrates an example computing architecture <NUM> of the vehicle <NUM>. The computing architecture <NUM> includes one or more sensor systems <NUM>. The sensor system(s) <NUM> include the LIDAR sensor assemblies <NUM> and may include one or more other sensor systems such as, for example, one or more cameras, radar sensors, microphones, navigation sensors (e.g., GPS, compass, etc.), motion sensors (e.g., inertial sensors, odometers, etc.), and/or environmental sensors (e.g., temperature sensors, pressure sensors, humidity sensors, etc.). The sensor system(s) <NUM> provide input directly to one or more vehicle systems <NUM>. The vehicle system(s) <NUM>. In some examples, the vehicle system(s) <NUM> may include a vehicle control system to control steering, propulsion, braking, safety systems, and/or communication systems of the vehicle <NUM>. Additionally, in some examples, such as when the vehicle <NUM> is an autonomous vehicle, the vehicle systems may also include a localizer system to estimate a change in position of the vehicle <NUM> over time, a perception system to perform object detection and/or classification, and/or a planner system to determine routs and/or trajectories to use to control the vehicle. Additional details of localizer systems, perception systems, and planner systems that are usable can be found in <CIT>, entitled "Estimating Friction Based On Image Data".

The computing architecture <NUM> also includes one or more processors <NUM> and memory <NUM> communicatively coupled with the one or more processors <NUM>. The processor(s) <NUM> may be any suitable processor capable of executing instructions to implement the vehicle system(s) <NUM>. By way of example and not limitation, the processor(s) <NUM> may comprise one or more Central Processing Units (CPUs), Graphics Processing Units (GPUs), or any other device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory.

Memory <NUM> is an example of non-transitory computer-readable media. Memory <NUM> may store an operating system and one or more software applications, instructions, programs, and/or data to implement the methods described herein and the functions attributed to the various systems. In various implementations, the memory may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory capable of storing information.

The computing architecture <NUM> also includes one or more communication connections <NUM> that enable communication by the vehicle with one or more other local or remote computing devices. The communications connection(s) <NUM> include physical and/or logical interfaces for connecting the computing architecture <NUM> to another computing device or a network. For example, the communications connection(s) <NUM> may enable WiFi-based communication such as via frequencies defined by the IEEE <NUM> standards, short range wireless frequencies such as Bluetooth®, or any suitable wired or wireless communications protocol that enables the respective computing device to interface with the other computing devices.

The architectures, systems, and individual elements described herein may include many other logical, programmatic, and physical components, of which those shown in the accompanying figures are merely examples that are related to the discussion herein.

<FIG> is a flowchart illustrating an example method <NUM> of calibrating a LIDAR sensor assembly using a reference surface that is fixed relative to the LIDAR sensor assembly. The method <NUM> is described with reference to the LIDAR sensor assembly of <FIG> for convenience and ease of understanding. However, the method <NUM> is not limited to being performed using the LIDAR sensor assembly of <FIG> and may be implemented using any of the other LIDAR sensor assemblies and/or systems described in this application, as well LIDAR sensor assemblies and systems other than those described herein. Moreover, the LIDAR sensor assemblies and systems are not limited to performing the method <NUM>.

At operation <NUM>, rotatable assembly of a LIDAR sensor assembly, such as LIDAR sensor assembly <NUM> is caused to rotate. This rotation may be caused by a controller (e.g., controller <NUM> of the LIDAR sensor assembly, a controller of one of vehicle sensor systems <NUM>, etc.). As the rotatable assembly rotates, the LIDAR sensor assembly scans a detection angle by emitting laser light pulses from one or more light sources (e.g., light sources <NUM>) and receiving reflected returns corresponding to the emitted light pulses by one or more corresponding light sensors (e.g., light sensors <NUM>). In some examples, operation <NUM> may be initiated upon startup of a vehicle or other machine to which the LIDAR sensor assembly is used.

At operation <NUM>, the controller of the LIDAR sensor assembly or a controller of a sensor system of a vehicle determines whether to calibrate the LIDAR sensor assembly. In some examples, the controller may be configured to calibrate the LIDAR sensor assembly at least once per revolution of the rotatable assembly. In some examples, the controller may be configured to calibrate the LIDAR sensor assembly every time a light source emits light toward a reference surface. In some examples, the controller may be configured to calibrate the LIDAR sensor assembly periodically (e.g., every M units of time or number of revolutions, where M is any number greater than or equal to <NUM>). In some examples, the controller may be configured to calibrate the LIDAR sensor assembly responsive to occurrence of a triggering event such as powering on the LIDAR sensor assembly, a change in temperature, a difference in measurements by the LIDAR sensor assembly and another LIDAR sensor assembly, detection of an impact or other force exceeding a normal operating conditions, or the like. If the controller determines not to calibrate the LIDAR sensor assembly, the method returns to operation <NUM> to scan the detection angle of the LIDAR sensor assembly. If, at operation <NUM>, the controller determines to calibrate the LIDAR sensor assembly, the method proceeds to operation <NUM>.

At operation <NUM>, the controller causes a light source of the LIDAR sensor assembly to emit light toward a reference surface that is fixed in relation to the LIDAR sensor assembly. The reference surface may comprise a part of the LIDAR sensor assembly as in the example of <FIG> and <FIG>, a part of a vehicle, machine, or other structure to which the LIDAR sensor assembly is mounted, or any other surface that is fixed at a known distance relative to the LIDAR sensor assembly. At operation <NUM>, the controller receives a signal from a light sensor of the LIDAR sensor assembly. The signal received from the light sensor indicates detection of reflected light corresponding to reflection of the pulse of laser light from the reference surface. At operation <NUM>, the controller calibrates the LIDAR sensor assembly based at least in part on the signal indicating detection of the reflected light corresponding to reflection of the pulse of laser light from the reference surface.

In some examples, the calibration operation <NUM> includes, at operation <NUM>, measuring a time of flight from a firing signal to fire the pulse of laser light from the laser light source to the detection of the reflected light by the light sensor. At operation <NUM>, the controller compares the time of flight to an expected time of flight for the pulse of laser light to travel a known distance from the laser light source to the reference surface and back to the light sensor. And, at operation, <NUM>, the controller may adjust a distance calculation based at least in part on the comparison. In some examples, the calibration operation <NUM> may include other adjustments in addition to or instead of the operations <NUM>-<NUM>. For example, the calibration operation <NUM> may include measuring an intensity of a return signal indicating detection of the reflected light corresponding to reflection of the pulse of laser light from the reference surface. The measured intensity may be compared to previous returns to detect changes in performance of the light sources (e.g., determine degradation, burnout, or malfunction of a light source, storage capacity of a capacitor or other power source, or the like). In some examples, a drive signal applied to fire the light source may be adjusted (e.g., by adjusting a charge time of one or more capacitive drivers) to adjust an intensity of subsequent light pulses.

Operations <NUM>-<NUM> are described for a single channel of a LIDAR sensor assembly. For LIDAR sensor assemblies having multiple channels, the operations <NUM>-<NUM> may be performed for each channel of the LIDAR sensor assembly. Moreover, the method <NUM> describes the process for calibrating a single LIDAR sensor assembly. In LIDAR systems including multiple LIDAR sensor assemblies, the method <NUM> may be performed for each of the multiple LIDAR sensor assemblies.

The method <NUM> is illustrated as a collection of blocks in logical flow graph, which represents sequences of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the processes. In some embodiments, one or more blocks of the process may be omitted entirely. Moreover, the method <NUM> may be combined in whole or in part.

The various techniques described herein may be implemented in the context of computer-executable instructions or software, such as program modules, that are stored in computer-readable storage and executed by the processor(s) of one or more computers or other devices such as those illustrated in the figures. Generally, program modules include routines, programs, objects, components, data structures, etc., and define operating logic for performing particular tasks or implement particular abstract data types.

Claim 1:
A method comprising:
transmitting a firing signal to a laser light source (<NUM>) of a LIDAR sensor assembly (<NUM>) to cause the laser light source to emit light toward a reference surface (<NUM>) mechanically coupled to the LIDAR sensor assembly, the reference surface being part of a stationary portion (<NUM>) of the LIDAR sensor assembly, the stationary portion mechanically coupled to a rotatable assembly (<NUM>) rotatable relative to the stationary portion, and the stationary portion configured to remain stationary as the rotatable assembly rotates, the rotatable assembly including the laser light source;
receiving a signal from a light sensor (<NUM>) of the LIDAR sensor assembly; and
detecting, based at least in part on the received signal, reflected light corresponding to reflection of the emitted light from the reference surface.