Distance measurement using high density projection patterns

Information

  • Patent Grant
  • 11474245
  • Patent Number
    11,474,245
  • Date Filed
    Tuesday, June 4, 2019
    5 years ago
  • Date Issued
    Tuesday, October 18, 2022
    2 years ago
Abstract
In one example, a method includes instructing, by a processing system of a distance sensor, a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts, detecting, by the processing system, a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a window corresponding to a trajectory of the first projection artifact, wherein the trajectory represents a range of potential movement of the first projection artifact on an imaging sensor of the distance sensor, and calculating, by the processing system, a distance from the distance sensor to the object based in part on the location of the first projection artifact.
Description
BACKGROUND

U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 describe various configurations of distance sensors. Such distance sensors may be useful in a variety of applications, including security, gaming, control of unmanned vehicles, and other applications.


The distance sensors described in these applications include projection systems (e.g., comprising lasers, diffractive optical elements, and/or other cooperating components) which project beams of light in a wavelength that is substantially invisible to the human eye (e.g., infrared) into a field of view. The beams of light spread out to create a pattern (of dots, dashes, or other artifacts) that can be detected by an appropriate light receiving system (e.g., lens, image capturing device, and/or other components). When the pattern is incident upon an object in the field of view, the distance from the sensor to the object can be calculated based on the appearance of the pattern (e.g., the positional relationships of the dots, dashes, or other artifacts) in one or more images of the field of view, which may be captured by the sensor's light receiving system. The shape and dimensions of the object can also be determined.


For instance, the appearance of the pattern may change with the distance to the object. As an example, if the pattern comprises a pattern of dots, the dots may appear closer to each other when the object is closer to the sensor, and may appear further away from each other when the object is further away from the sensor.


SUMMARY

In one example, a method includes instructing, by a processing system of a distance sensor, a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts, wherein each projection artifact of the plurality of projection artifacts is associated with a trajectory representing a range of potential movement of the each projection artifact on an imaging sensor of the distance sensor, where at least a first threshold distance exists between two trajectories that are adjacent in a direction parallel to a direction of movement of the trajectories, and wherein at least a second threshold distance exists between two trajectories that are adjacent in a direction perpendicular to the direction of movement of the trajectories, detecting, by the processing system, a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a first window corresponding to a first trajectory associated with the first projection artifact, and calculating, by the processing system, a distance from the distance sensor to the object based in part on the location of the first projection artifact.


In another example, a non-transitory machine-readable storage medium is encoded with instructions executable by a processor. When executed, the instructions cause the processor to perform operations including In one example, a method includes instructing a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts, wherein each projection artifact of the plurality of projection artifacts is associated with a trajectory representing a range of potential movement of the each projection artifact on an imaging sensor of the distance sensor, where at least a first threshold distance exists between two trajectories that are adjacent in a direction parallel to a direction of movement of the trajectories, and wherein at least a second threshold distance exists between two trajectories that are adjacent in a direction perpendicular to the direction of movement of the trajectories, detecting a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a first window corresponding to a first trajectory associated with the first projection artifact, and calculating a distance from the distance sensor to the object based in part on the location of the first projection artifact.


In another example, a method includes instructing, by a processing system of a distance sensor, a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts, detecting, by the processing system, a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a window corresponding to a trajectory of the first projection artifact, wherein the trajectory represents a range of potential movement of the first projection artifact on an imaging sensor of the distance sensor, and calculating, by the processing system, a distance from the distance sensor to the object based in part on the location of the first projection artifact.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 conceptually illustrates the use of windows to detect the positions of projection artifacts in a projection pattern generated by the projection system of a distance sensor, according to examples of the present disclosure;



FIG. 2 illustrates a close up view of the trajectories of a plurality of projection artifacts, according to examples of the present disclosure;



FIG. 3 illustrates the window and associated geometry for a single projection artifact, according to the present disclosure;



FIG. 4 illustrates an example projection pattern in which the object is so close to the distance sensor that the projection artifacts in an area of the pattern are so large/bright that the projection artifacts overlap each other, making it difficult to differentiate between individual projection artifacts;



FIG. 5 illustrates an example projection pattern in which optical noise makes it difficult to differentiate between individual projection artifacts in an area of the projection pattern;



FIG. 6 illustrates the case when there is optical noise present in the window of FIG. 3;



FIG. 7 is a flow diagram illustrating one example of a method for distance measurement using high density projection patterns, according to the present disclosure; and



FIG. 8 depicts a high-level block diagram of an example electronic device for calculating the distance from a sensor to an object.





DETAILED DESCRIPTION

The present disclosure broadly describes an apparatus, method, and non-transitory computer-readable medium for distance measurement using high density projection patterns. As discussed above, distance sensors such as those described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 determine the distance to an object (and, potentially, the shape and dimensions of the object) by projecting beams of light that spread out to create a pattern (e.g., of dots, dashes, or other artifacts) in a field of view that includes the object. The beams of light may be projected from one or more laser light sources which emit light of a wavelength that is substantially invisible to the human eye, but which is visible to an appropriate detector (e.g., of the light receiving system). The three-dimensional distance to the object may then be calculated based on the appearance of the pattern to the detector, using triangulation techniques.


High-density patterns (i.e., patterns in which the distance between projection artifacts is small) are often desirable as they allow for higher resolution distance measurements to be made. However, the high density of such patterns can also make the distance calculation more complicated. For one, the closer the projection artifacts are to each other, the more likely it is that the movement of the trajectories (moving areas, or ranges of potential movement) of the individual projection artifacts will overlap. This overlap makes it more difficult for the sensor to distinguish the individual projection artifacts and their movements. Since the movement of a projection artifact affects the projection artifact's appearance, and since the distance is calculated based on the appearances of the projection artifacts, this complicates the distance measurement and leads to longer calculation times.


In addition, even a lower density pattern may appear to be denser when the object is closer to the sensor. Specifically, the size, intensity, and spacing of the projection artifacts change with the distance to the object. When the sensor is further away from the object, the projection pattern will appear less dense; the projection artifacts will appear smaller and less bright, with greater spacing between them. When the sensor is closer to the object, the projection pattern will appear denser; the projection artifacts will appear larger and brighter, with less spacing between them. The sizes, intensities, and shapes of the projection artifacts may also change based on the shape, reflectance, and reflectance distribution of the object.


Further complicating matters, an image captured by the detector may include visual noise in addition to the projection pattern. This visual noise may occur as a result of the object's characteristics (e.g., reflectance) and/or the ambient lighting conditions. The visual noise can make it more difficult to accurately recognize projection artifacts in an efficient manner, especially when the projection pattern is very dense.


Examples of the present disclosure provide a way to reliably identify individual projection artifacts in an image of a high density projection pattern, where the image may include visual noise in addition to the projection pattern. In particular, examples of the present disclosure reduce the problem of detecting projection artifact location, which is conventionally a two-dimensional problem, to a one-dimensional problem. In one example, the trajectory of each projection artifact is assigned a window, e.g., a fixed, physical range of locations within which the projection artifact is expected to appear in the projection pattern (according to the principle of triangulation). Examples of the present disclosure assume that the distance sensor has been calibrated to determine these windows. Then, within a given projection artifact's corresponding trajectory window, an area of peak light intensity is identified; this area of peak light intensity is assumed to correspond to the location of the projection artifact. The locations of the projection artifacts can be identified quickly in this manner, allowing for rapid triangulation and calculation of object distance. In further examples, thresholds may be applied to the far ends of the window, such that when the peak light intensity is located beyond these thresholds (e.g., is too close to one of the window edges), the projection artifact is eliminated from the distance calculation. This compensates for visual noise and objects that are too close to the sensor to allow for accurate distance calculation.



FIG. 1 conceptually illustrates the use of windows to detect the positions of projection artifacts in a projection pattern generated by the projection system of a distance sensor, according to examples of the present disclosure. In the example of FIG. 1, the projection artifacts are illustrated as dots; however, the projection artifacts may take other forms such as dashes, x's, or the like. Thus, FIG. 1 employs dots for the sake of example. The projection artifacts may be arranged along the x and y axes of a grid, so that a plurality of rows and a plurality of columns are formed. This arrangement may be symmetrical about a center line (not shown) that is parallel to the y axis (e.g., orthogonal to the rows). The trajectories 1021-102n (hereinafter individually referred to as a “trajectory 102” or collectively referred to as “trajectories 102”) of the projection artifacts are parallel to (e.g., move along) the x axis.


In one example, each trajectory 102 is associated with a corresponding window 1041-104n (hereinafter individually referred to as a “window 104” or collectively referred to as “windows 104”). As discussed above, the window 104 for a trajectory 102 represents a fixed, physical range of locations within which the corresponding projection artifact is expected to appear in the projection pattern, when the projection pattern is projected upon an object whose distance is to be calculated. In one example, each window 104 may have a substantially conical or tapered shape. For instance, in FIG. 1, the left side of each window 104 is illustrated as being narrower than the right side of each window. This shape accounts for changes in projection artifact size due to object distance. Specifically, the further away the distance sensor is from the object, the smaller the projection artifact will appear on the object. Conversely, the closer the distance sensor is to the object, the larger the projection artifact will appear on the object. Thus, the narrower end 106 of each window 104 represents a far limit distance for detecting the corresponding projection artifact, while the wider end 108 of the window represents a near limit distance for detecting the corresponding projection artifact.


It should be noted that in the illustrated example, there is no overlap between collinear, adjacent trajectories 102. That is, the trajectories 102 of two adjacent projection artifacts that appear in the same row of the projection pattern (such as the trajectories 1021 and 1022) do not overlap. This is conceptually illustrated in FIG. 2, which illustrates a close up view of the trajectories 2001-200m (hereinafter individually referred to as a “trajectory 200” or collectively referred to as “trajectories 200”) of a plurality of projection artifacts, according to examples of the present disclosure. As illustrated, there is at least a threshold distance d1 (d1>0) between the near limit distance of a given trajectory (e.g., the wide end of the corresponding window) and the far limit distance of an adjacent trajectory (e.g., the narrow end of the window) in the same row. Furthermore, there is at least a threshold distance d2 (d2>0) between the trajectory center (e.g., an imaginary line 2021-202m running through the trajectory 200 that is parallel to the x axis) of a given trajectory 200 and the trajectory center of an adjacent trajectory 200 moving along the y axis. Thus, no two projection artifacts can share the same trajectory center 202. Furthermore, no two windows overlap. It should be noted that the pattern of FIG. 2 has been simplified. For instance, there may be an offset between adjacent rows (e.g., along the x axis) or between adjacent columns (e.g., along the y axis).



FIG. 3 illustrates the window 300 and associated geometry for a single projection artifact 302, according to the present disclosure. FIG. 3 also shows a plot 304 of the distribution of the light intensity (or “pixel value”) across the window 300. Here, “pixel value” refers to a value that indicates the intensity of light in the image, as measured at a specific pixel of the distance sensor's imaging sensor 310. As illustrated, the peak light intensity (denoted by peak 306 of the plot 304) coincides with the position of the projection artifact 302 in the window 300.


In one example, in order to reduce the influence of the non-uniformity of the light intensity in the window 300, the average of the light intensity (lΔxk) in the y direction may be calculated for a sub-window (e.g., a minute area) xk of the window 300. This sub-window may stretch across the whole of the y direction in the window 300, but across a minute or limited portion (e.g., five percent or less) of the x direction (e.g., the direction of movement of the projection artifact) in the window 300.


Additionally, the distribution of the light intensity lΔxk in the x direction may be determined, as well as the distribution in the x direction of the light intensity that exceeds a threshold range or value s (denoted in FIG. 3 by line 308). In one example, the limits of the light intensity distribution threshold range, Rxmin and Rxmax, have constant or different values with respect to the position x1 of the projection artifact in the x direction (i.e., Rx1min, Rx1max). In a further example, the threshold value s may have a constant value or a different value with respect to the position xk in the x direction.


Thus, in order to determine whether an image acquired by the distance sensor's image sensor corresponds to the projection artifact 302, the following steps may be performed. First, the light intensity distribution range at pixel x1(Rx1) in the x direction of the light intensity lΔxk is compared with a light intensity distribution threshold range (Rx1min, Rx1max). The light intensity distribution threshold range (Rx1min, Rx1max) may shorten the window 300 by eliminating the far limit distance and the near limit distance of the window 300 from consideration.


When the light intensity distribution range at x1(Rx1) in the x direction of the light intensity lΔxk falls outside of the light intensity distribution threshold range (Rx1min, Rx1max), the projection artifact 302 may be ignored (e.g., excluded from a distance measurement calculation). For instance, when Rx1 is larger than Rx1max, this may indicate that the object is too close to the distance sensor for the distance sensor to reliably observe the projection artifact 302. An example of this situation is shown in FIG. 4, which illustrates an example projection pattern 400 in which the object is so close to the distance sensor that the projection artifacts in an area 402 of the pattern 400 are so large/bright that the projection artifacts overlap each other, making it difficult to differentiate between individual projection artifacts.


Similarly, when Rx1 is smaller than Rx1min, the detected light is likely to be a result of noise rather than the projection artifact 302. An example of this situation is shown in FIG. 5, which illustrates an example projection pattern 500 in which optical noise 502 makes it difficult to differentiate between individual projection artifacts in an area of the projection pattern 500. FIG. 6 also illustrates the case when there is optical noise present in the window 300 of FIG. 3. As shown in FIG. 6, the presence of the optical noise causes Rx1 to fall outside the light intensity distribution threshold range (Rx1min, Rx1max).


However, if the light intensity distribution range at x1(Rx1) in the x direction of the light intensity lΔxk falls within the light intensity distribution threshold range (Rx1min, Rx1max), then the location of the projection artifact 302 may be detected with further operations. In one example, for each pixel value that falls within the light intensity distribution threshold range (Rx1min, Rx1 max), a value of X0 (the projection artifact) is calculated according to a predetermined algorithm (e.g., taking a central value, a median value, or the like). However, it should be noted that the relationship between light intensity distribution and projection artifact location may vary due to lens characteristics, beam projection characteristics, and other factors.



FIG. 7 is a flow diagram illustrating one example of a method 700 for distance measurement using high density projection patterns, according to the present disclosure. The method 700 may be performed, for example, by a processor, such as the processor of a distance sensor or the processor 802 illustrated in FIG. 8. For the sake of example, the method 700 is described as being performed by a processing system.


The method 700 may begin in step 702. In step 704, the processing system may cause a pattern of light to be projected onto an object. The pattern of light may be created by a plurality of beams of a distance sensor's projection system. The plurality of beams may project a plurality of projection artifacts onto an object, where the projection artifacts collectively form the pattern of light, or a “projection pattern.” The geometric constraints of the projection pattern may be defined by FIG. 2, above. As discussed above, the light may be of a wavelength that is substantially invisible to the human eye, but that is detectable by an imaging sensor of the distance sensor (e.g., infrared light).


In step 706, the processing system may identify the window assigned to a first beam of the plurality of beams. In one example, it is assumed that at least some beams of the plurality of beams are assigned respective detection areas or “windows” for the respective projection artifacts that the beams create on an object, as discussed above. The lengths of the windows in the x direction may be predetermined and do not overlap. In one example, the window assigned to the first beam has a width in they direction of the projection pattern that is less than or equal to the diameter of the image of first beam's projection artifact on the distance sensor's image sensor.


In step 708, the processing system may calculate a quantity (e.g., a sum or an average) of the light intensity (e.g., the light received by the imaging sensor of the distance sensor) in the y direction of the window (e.g., in a direction perpendicular to the trajectories of the projection artifacts). The quantity of the light intensity in the y direction may be calculated over a sub-window that stretches across the entirety of the window in the y direction, but across a minute portion (e.g., five percent or less) of the window in the x direction.


In step 710, the processing system may identify an area of the window in which the light intensity distribution across the x direction of the window (e.g., in a direction parallel to the trajectories of the projection artifacts) exceeds a first predefined threshold. In one example, the value of the first predefined threshold is set according to a position along the x direction. This area of the window may be denoted as x1.


Next, the processing system may determine whether the light intensity distribution in the area x1 of the window identified in step 708 falls outside of a light intensity distribution threshold range (Rx1min, Rx1max). In one example, the minimum and maximum vales of the light intensity distribution threshold range have different values according to a position along the x direction.


In step 712, the processing system may determine whether the light intensity distribution exceeds the maximum value of the light intensity distribution threshold range (Rx1max). If the processing system determines in step 712 that the light intensity distribution exceeds the maximum value of the light intensity distribution threshold range, then the processing system may proceed to step 714. In step 714, the processing system may exclude the projection artifact associated with the first beam from the distance calculation.


In this case, the processing system may assume that the object whose distance is being detected may be too close to the distance sensor to allow for accurate distance measurement using the projection artifact associated with the first beam. In one example, the processing system may store this assumption in memory. Subsequently, if at least a threshold number of adjacent windows are determined to contain a light intensity distribution that exceeds the maximum value of the light intensity distribution threshold range, the processing system may conclude that the object is too close to the distance sensor. The processing system may generate a signal to alert a user to adjust the distance between the object and the distance sensor. Alternatively, if less than the threshold number of adjacent windows are determined to contain a light intensity distribution that exceeds the maximum value of the light intensity distribution threshold range, the processing system may conclude that optical/light noise is present. In this case, the processing system may adjust the settings (e.g., exposure time) of the distance sensor's image capture means, or may generate a signal to alert a user to make the adjustment.


Referring back to step 712, if the processing system determines in step 712 that the light intensity distribution does not exceed the maximum value of the light intensity distribution threshold range, then the processing system may proceed to step 716. In step 716, the processing system may determine whether the light intensity distribution falls below the minimum value (Rx1min) of the light intensity distribution threshold range.


If the processing system determines in step 716 that the light intensity distribution falls below the minimum value of the light intensity distribution threshold range, then the processing system may proceed to step 718. In step 718, the processing system may exclude the projection artifact associated with the first beam from the distance calculation. In this case, the processing system may assume that the detected light in the window is optical/light noise rather than a projection artifact.


Alternatively, if the processing system determines in step 716 that the light intensity distribution does not fall below the minimum value of the light intensity distribution threshold range, then the method 700 may proceed to step 720. In step 720, the processing system may determine the location of the projection artifact on the imaging sensor according to a quantity of the light intensity in the area x1 identified in step 708. In one example, the quantity may comprise a center value and/or a median value of the light intensity (which may indicate the center of the projection artifact).


Once the projection artifact is excluded from the distance calculation in accordance with step 714 or step 718 or the location of the projection artifact is determined in step 720, the method 700 proceeds to step 722. In step 722, the processing system may compute the distance from the object to the distance sensor, in accordance with the locations of a plurality of projection artifacts that have been identified based on light intensity (e.g., in accordance with the method 700). Thus, the method 700 may be performed for a plurality of windows associated with the plurality of beams, so that the locations of multiple projection artifacts can be identified.


The method 700 may end in step 724.


The method 700 therefore transforms the conventionally two-dimensional problem of determining projection artifact location into a one-dimensional problem, by seeking out the regions of peak light intensity within fixed windows. These regions of peak intensity, if they satisfy certain threshold criteria, can be assumed to represent the locations of the projection artifacts.


It should be noted that in some cases, multiple areas within a window may meet the threshold criteria (e.g., multiple areas may have a peak light intensity that falls within the light intensity distribution threshold range). In this case, the projection artifacts generated by the beams associated with these windows may be excluded from the distance calculation.


It should be noted that although not explicitly specified, some of the blocks, functions, or operations of the method 700 described above may include storing, displaying and/or outputting for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the method 700 can be stored, displayed, and/or outputted to another device depending on the particular application. Furthermore, blocks, functions, or operations in FIG. 7 that recite a determining operation, or involve a decision, do not imply that both branches of the determining operation are practiced. In other words, one of the branches of the determining operation may not be performed, depending on the results of the determining operation.



FIG. 8 depicts a high-level block diagram of an example electronic device 800 for calculating the distance from a sensor to an object. As such, the electronic device 800 may be implemented as a processor of an electronic device or system, such as a distance sensor.


As depicted in FIG. 8, the electronic device 800 comprises a hardware processor element 802, e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor, a memory 804, e.g., random access memory (RAM) and/or read only memory (ROM), a module 805 for calculating the distance from a sensor to an object, and various input/output devices 806, e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a display, an output port, an input port, and a user input device, such as a keyboard, a keypad, a mouse, a microphone, a camera, a laser light source, an LED light source, and the like.


Although one processor element is shown, it should be noted that the electronic device 800 may employ a plurality of processor elements. Furthermore, although one electronic device 800 is shown in the figure, if the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the blocks of the above method(s) or the entire method(s) are implemented across multiple or parallel electronic devices, then the electronic device 800 of this figure is intended to represent each of those multiple electronic devices.


It should be noted that the present disclosure can be implemented by machine readable instructions and/or in a combination of machine readable instructions and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a general purpose computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the blocks, functions and/or operations of the above disclosed method(s).


In one example, instructions and data for the present module or process 805 for calculating the distance from a sensor to an object, e.g., machine readable instructions can be loaded into memory 804 and executed by hardware processor element 802 to implement the blocks, functions or operations as discussed above in connection with the method 700. Furthermore, when a hardware processor executes instructions to perform “operations”, this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component, e.g., a co-processor and the like, to perform the operations.


The processor executing the machine readable instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, the present module 805 for calculating the distance from a sensor to an object of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or an electronic device such as a computer or a controller of a safety sensor system.


It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, or variations therein may be subsequently made which are also intended to be encompassed by the following claims.

Claims
  • 1. A method, comprising: instructing, by a processing system of a distance sensor, a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts, wherein each projection artifact of the plurality of projection artifacts is associated with a trajectory representing a range of potential movement of the each projection artifact on an imaging sensor of the distance sensor, where at least a first threshold distance exists between two trajectories that are adjacent in a direction parallel to a direction of movement of the trajectories, and wherein at least a second threshold distance exists between two trajectories that are adjacent in a direction perpendicular to the direction of movement of the trajectories;detecting, by the processing system, a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a first window corresponding to a first trajectory associated with the first projection artifact; andcalculating, by the processing system, a distance from the distance sensor to the object based in part on the location of the first projection artifact.
  • 2. The method of claim 1, further comprising: excluding, by the processing system, a location of a second projection artifact of the plurality of projection artifacts from the calculating, when an area of peak light intensity within a second window corresponding to a second trajectory associated with the second projection artifact falls outside of a predefined threshold range.
  • 3. The method of claim 2, further comprising: assuming, by the processing system, that the object is too close to the distance sensor to allow a reliable observation of the second projection artifact, when the area of peak light intensity within the second window is greater than a maximum value of the threshold range, and when at least threshold number of windows adjacent to the second window also exhibit peak light intensities that are greater than the maximum value.
  • 4. The method of claim 3, further comprising: generating, by the processing system, a signal to alert a user to adjust a distance between the object and the distance sensor.
  • 5. The method of claim 2, further comprising: assuming, by the processing system, that there is too much optical noise to allow a reliable observation of the second projection artifact, when the area of peak light intensity within the second window is greater than a maximum value of the threshold range, and when less than a threshold number of windows adjacent to the second window also exhibit peak light intensities that are greater than the maximum value.
  • 6. The method of claim 5, further comprising: generating, by the processing system, a signal to alert a user to adjust a setting of an image capture means of the distance sensor.
  • 7. The method of claim 2, further comprising: assuming, by the processing system, that there is too much optical noise to allow a reliable observation of the second projection artifact, when the area of peak light intensity within the second window is less than a minimum value of the threshold range.
  • 8. The method of claim 1, wherein a width of the first window in the direction perpendicular to the direction of movement of the trajectories is no more than a diameter of the first projection artifact.
  • 9. The method of claim 8, further comprising, prior to the detecting: calculating, by the processing system, a quantity of light intensity over a sub-window of the first window, wherein the sub-window stretches across an entirety of the first window in the direction perpendicular to the direction of movement of the trajectories, but stretches across less than an entirety of the first window in the direction parallel to the direction of movement of the trajectories.
  • 10. The method of claim 9, wherein the quantity is a sum of the light intensity.
  • 11. The method of claim 9, wherein the quantity is an average of the light intensity.
  • 12. The method of claim 1, wherein the peak light intensity comprises a center value of the light intensity within the first window.
  • 13. The method of claim 1, wherein the peak light intensity comprises a median value of the light intensity within the first window.
  • 14. The method of claim 1, further comprising: excluding, by the processing system, a location of a second projection artifact of the plurality of projection artifacts from the calculating, when at least two areas of peak light intensity are detected within a second window corresponding to a second trajectory associated with the second projection artifact.
  • 15. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a distance sensor, wherein, when executed, the instructions cause the processor to perform operations, the operations comprising: instructing a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts, wherein each projection artifact of the plurality of projection artifacts is associated with a trajectory representing a range of potential movement of the each projection artifact on an imaging sensor of the distance sensor, where at least a first threshold distance exists between two trajectories that are adjacent in a direction parallel to a direction of movement of the trajectories, and wherein at least a second threshold distance exists between two trajectories that are adjacent in a direction perpendicular to the direction of movement of the trajectories;detecting a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a window corresponding to a trajectory of the first projection artifact; andcalculating a distance from the distance sensor to the object based in part on the location of the first projection artifact.
  • 16. A method, comprising: instructing, by a processing system of a distance sensor, a pattern projector of the distance sensor to project a pattern of light onto an object, wherein the pattern comprises a plurality projection artifacts;detecting, by the processing system, a location of a first projection artifact of the plurality of artifacts in an image of the object that includes the pattern of light, wherein the detecting comprises identifying an area of peak light intensity within a window corresponding to a trajectory of the first projection artifact, wherein the trajectory represents a range of potential movement of the first projection artifact on an imaging sensor of the distance sensor; andcalculating, by the processing system, a distance from the distance sensor to the object based in part on the location of the first projection artifact.
  • 17. The method of claim 16, further comprising: excluding, by the processing system, a location of a second projection artifact of the plurality of projection artifacts from the calculating, when an area of peak light intensity within a second window corresponding to a second trajectory associated with the second projection artifact falls outside of a predefined threshold range.
  • 18. The method of claim 16, wherein a width of the first window in the direction perpendicular to the direction of movement of the trajectories is no more than a diameter of the first projection artifact.
  • 19. The method of claim 18, further comprising, prior to the detecting: calculating, by the processing system, a quantity of light intensity over a sub-window of the first window, wherein the sub-window stretches across an entirety of the first window in the direction perpendicular to the direction of movement of the trajectories, but stretches across less than an entirety of the first window in the direction parallel to the direction of movement of the trajectories.
  • 20. The method of claim 16, further comprising: excluding, by the processing system, a location of a second projection artifact of the plurality of projection artifacts from the calculating, when at least two areas of peak light intensity are detected within a second window corresponding to a second trajectory associated with the second projection artifact.
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority of U.S. Provisional Patent Application Ser. No. 62/681,236, filed Jun. 6, 2018, which is herein incorporated by reference in its entirety.

US Referenced Citations (153)
Number Name Date Kind
4914460 Caimi et al. Apr 1990 A
5061062 Schneiter Oct 1991 A
5699444 Palm Dec 1997 A
5730702 Tanaka et al. Mar 1998 A
5870136 Fuchs et al. Feb 1999 A
5980454 Broome Nov 1999 A
6038415 Nishi et al. Mar 2000 A
6122039 Schumacher Sep 2000 A
6442476 Poropat Aug 2002 B1
6668082 Davison et al. Dec 2003 B1
6937350 Shirley Aug 2005 B2
7191056 Costello et al. Mar 2007 B2
7193645 Aagaard et al. Mar 2007 B1
7375803 Bamji May 2008 B1
7589825 Orchard et al. Sep 2009 B2
9098909 Nomura Aug 2015 B2
9488757 Mukawa Nov 2016 B2
9536339 Worley et al. Jan 2017 B1
9686539 Zuliani et al. Jun 2017 B1
9888225 Znamensky et al. Feb 2018 B2
9986208 Chao et al. May 2018 B2
10223793 Ebrahimi et al. Mar 2019 B1
10228243 Kimura Mar 2019 B2
11158074 Kantor Oct 2021 B1
20030071891 Geng Apr 2003 A1
20040041996 Abe Mar 2004 A1
20040167744 Lin et al. Aug 2004 A1
20050111009 Keightley May 2005 A1
20050288956 Speicher Dec 2005 A1
20060044546 Lewin et al. Mar 2006 A1
20060055942 Krattiger Mar 2006 A1
20060290781 Hama Dec 2006 A1
20070091174 Kochi et al. Apr 2007 A1
20070165243 Kang et al. Jul 2007 A1
20070206099 Matsuo Sep 2007 A1
20080259354 Gharib Oct 2008 A1
20100007719 Frey et al. Jan 2010 A1
20100149315 Qu et al. Jun 2010 A1
20100209002 Thiel et al. Aug 2010 A1
20100223706 Becker et al. Sep 2010 A1
20100238416 Kuwata Sep 2010 A1
20100303341 Hausler Dec 2010 A1
20110037849 Niclass et al. Feb 2011 A1
20110188054 Petronius et al. Aug 2011 A1
20120050528 Davies Mar 2012 A1
20120051588 Mceldowney Mar 2012 A1
20120056982 Katz et al. Mar 2012 A1
20120062758 Devine et al. Mar 2012 A1
20120076375 Saijo et al. Mar 2012 A1
20120105867 Komatsu May 2012 A1
20120113252 Yang et al. May 2012 A1
20120219699 Pettersson Aug 2012 A1
20120225718 Zhang Sep 2012 A1
20120236288 Stanley Sep 2012 A1
20120236317 Nomura Sep 2012 A1
20120307260 Keshavmurthy Dec 2012 A1
20130038882 Umeda et al. Feb 2013 A1
20130050710 Yamaguchi Feb 2013 A1
20130076865 Tateno et al. Mar 2013 A1
20130088575 Park et al. Apr 2013 A1
20130155417 Ohsawa Jun 2013 A1
20130201325 Kessler Aug 2013 A1
20130242090 Yoshikawa Sep 2013 A1
20130307933 Znamensky et al. Nov 2013 A1
20130314688 Likholyot Nov 2013 A1
20140000020 Bareket Jan 2014 A1
20140009571 Geng Jan 2014 A1
20140016113 Holt et al. Jan 2014 A1
20140036096 Sterngren Feb 2014 A1
20140071239 Yokota Mar 2014 A1
20140085429 Hérbert Mar 2014 A1
20140125813 Holz May 2014 A1
20140207326 Murphy Jul 2014 A1
20140241614 Lee Aug 2014 A1
20140275986 Vertikov Sep 2014 A1
20140320605 Johnson Oct 2014 A1
20150009301 Ribnick et al. Jan 2015 A1
20150012244 Oki Jan 2015 A1
20150293210 Imamura Jan 2015 A1
20150062558 Koppal et al. Mar 2015 A1
20150077764 Braker et al. Mar 2015 A1
20150116460 Jouet Apr 2015 A1
20150131054 Wuellner et al. May 2015 A1
20150016003 Terry et al. Jun 2015 A1
20150171236 Murray Jun 2015 A1
20150248796 Iyer et al. Sep 2015 A1
20150268399 Futterer Sep 2015 A1
20150288956 Mallet et al. Oct 2015 A1
20150323321 Oumi Nov 2015 A1
20150336013 Stenzier et al. Nov 2015 A1
20150347833 Robinson Dec 2015 A1
20150381907 Boetliger et al. Dec 2015 A1
20160022374 Haider Jan 2016 A1
20160033262 Kessler Feb 2016 A1
20160041266 Smits Feb 2016 A1
20160050401 Gordon Feb 2016 A1
20160117561 Miyazawa et al. Apr 2016 A1
20160128553 Geng May 2016 A1
20160157725 Munoz Jun 2016 A1
20160178915 Mor et al. Jun 2016 A1
20160249810 Darty et al. Sep 2016 A1
20160261854 Ryu et al. Sep 2016 A1
20160267682 Yamashita Sep 2016 A1
20160288330 Konolige Oct 2016 A1
20160327385 Kimura Nov 2016 A1
20160328854 Kimura Nov 2016 A1
20160334939 Dawson et al. Nov 2016 A1
20160350594 McDonald Dec 2016 A1
20160377414 Thuries Dec 2016 A1
20160379368 Sakas et al. Dec 2016 A1
20170067734 Heidemann Mar 2017 A1
20170098305 Gossow Apr 2017 A1
20170102461 Tezuka et al. Apr 2017 A1
20170135617 Alasirniöet al. May 2017 A1
20170221226 Shen et al. Aug 2017 A1
20170270689 Messely et al. Sep 2017 A1
20170284799 Wexler et al. Oct 2017 A1
20170307544 Nagata Oct 2017 A1
20170347086 Watanabe Nov 2017 A1
20180010903 Takao et al. Jan 2018 A1
20180011194 Masuda Jan 2018 A1
20180012372 Takao Jan 2018 A1
20180073863 Watanabe Mar 2018 A1
20180080761 Takao et al. Mar 2018 A1
20180106606 Fujita Apr 2018 A1
20180143018 Kimura May 2018 A1
20180156609 Kimura Jun 2018 A1
20180227566 Price et al. Aug 2018 A1
20180247424 Bleyer Aug 2018 A1
20180249142 Hicks et al. Aug 2018 A1
20180324405 Thirion Nov 2018 A1
20180329038 Lin et al. Nov 2018 A1
20180357871 Siminoff Dec 2018 A1
20190064359 Yang Feb 2019 A1
20190086198 Chen Mar 2019 A1
20190107387 Kimura Apr 2019 A1
20190108743 Kimura Apr 2019 A1
20190122057 Kimura Apr 2019 A1
20190295270 Kimura Sep 2019 A1
20190297241 Kimura Sep 2019 A1
20190297278 Sumi et al. Sep 2019 A1
20190377088 Kimura Dec 2019 A1
20200003556 Kimura Jan 2020 A1
20200051268 Kimura Feb 2020 A1
20200077010 Noguchi Mar 2020 A1
20200090355 Hall Mar 2020 A1
20200092524 Morris Mar 2020 A1
20200182974 Kimura Jun 2020 A1
20200236315 Kimura Jul 2020 A1
20200278197 Tokimitsu Sep 2020 A1
20200309916 Kimura Oct 2020 A1
20200319309 Van Nieuwenhove Oct 2020 A1
20200358961 Kimura Nov 2020 A1
Foreign Referenced Citations (56)
Number Date Country
101794065 Aug 2010 CN
102193295 Sep 2011 CN
103428026 Apr 2013 CN
103196385 Jul 2013 CN
103559735 Feb 2014 CN
104160243 Nov 2014 CN
104515514 Apr 2015 CN
104685868 Jun 2015 CN
106067968 Nov 2016 CN
106338244 Jan 2017 CN
106796179 May 2017 CN
102016118562 Mar 2017 DE
0358628 Mar 1990 EP
L 739 391 Jan 2007 EP
3 171129 May 2017 EP
H045112 Feb 1992 JP
H0961126 Mar 1997 JP
2002-056348 Feb 2002 JP
2006-313116 Nov 2006 JP
2007-10346 Jan 2007 JP
2007-187581 Jul 2007 JP
2007-315864 Dec 2007 JP
2010-091855 Apr 2010 JP
2010-101683 May 2010 JP
4485365 Jun 2010 JP
2010-256182 Nov 2010 JP
2011-515703 May 2011 JP
2012-047500 Mar 2012 JP
2013-8513179 Apr 2013 JP
2014-020978 Feb 2014 JP
2014-044113 Mar 2014 JP
2014-511590 May 2014 JP
2014-122789 Jul 2014 JP
2014-238259 Dec 2014 JP
2016-6166747 Sep 2016 JP
6038415 Dec 2016 JP
6241793 Dec 2017 JP
2018514783 Jun 2018 JP
2019-203822 Nov 2019 JP
10-2013-0000356 Jan 2013 KR
10-2013-0037152 Apr 2013 KR
10-2015-0101749 Sep 2015 KR
10-2016-0020323 Feb 2016 KR
10-2017-0005649 Jan 2017 KR
10-2017-0054221 May 2017 KR
10-2017-0094968 Aug 2017 KR
I320480 Feb 2010 TW
I451129 Apr 2012 TW
WO 2012081506 Jun 2012 WO
WO2013046927 Apr 2013 WO
WO2013145164 Oct 2013 WO
WO 20140106843 Jul 2014 WO
WO 2014131064 Aug 2014 WO
WO 2015166915 Nov 2015 WO
WO 2016154218 Sep 2016 WO
WO 2017053368 Mar 2017 WO
Non-Patent Literature Citations (3)
Entry
EP Search Report mailed in corresponding EP Patent Application No. 19815592 dated Feb. 8, 2022, 12 pages.
Chinese Office Action mailed in corresponding CN Application No. 201980052241.1 dated Feb. 28, 2022, 22 pages.
International Search Report and Written Opinion mailed in corresponding PCT/US2019/035368 dated Sep. 20, 2019, 12 pages.
Related Publications (1)
Number Date Country
20190377088 A1 Dec 2019 US
Provisional Applications (1)
Number Date Country
62681236 Jun 2018 US