Enhancing triangulation-based three-dimensional distance measurements with time of flight information

Information

  • Patent Grant
  • 11320537
  • Patent Number
    11,320,537
  • Date Filed
    Wednesday, November 25, 2020
    4 years ago
  • Date Issued
    Tuesday, May 3, 2022
    2 years ago
Abstract
An example method includes causing a distance sensor to project a pattern of light onto an object, causing the distance sensor to acquire an image of the pattern of light on the object, detecting an image position of a first point of light of the pattern on an imaging sensor, calculating a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position, causing the distance sensor to emit a pulse of light toward the object, causing the distance sensor to acquire an image of a reflected portion of the pulse of light, calculating a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse, and calculating a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, second estimated distance, and third estimated distance.
Description
FIELD OF THE INVENTION

The invention related generally to distance measurement, and relates more particularly to enhancing triangulation-based three-dimensional distance measurements with time of flight (TOF) information.


BACKGROUND

U.S. patent applications 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 light projecting 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 points (dots, dashes, or other the like) 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 points) 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 performed by a processing system including at least one processor includes causing a light projecting system of a distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern, causing a light receiving system of the distance sensor to acquire an image of the pattern of light projected onto the object, detecting an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system, calculating a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light, causing the light projecting system of the distance sensor to emit a pulse of light toward the object, causing the light receiving system to acquire an image of a portion of the pulse of light that is reflected by the object, calculating a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse of light, and calculating a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance.


In another example, a non-transitory machine-readable storage medium is encoded with instructions executable by a processing system including at least one processor. When executed, the instructions cause the processing system to perform operations including causing a light projecting system of a distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern, causing a light receiving system of the distance sensor to acquire an image of the pattern of light projected onto the object, detecting an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system, calculating a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light, causing the light projecting system of the distance sensor to emit a pulse of light toward the object, causing the light receiving system to acquire an image of a portion of the pulse of light that is reflected by the object, calculating a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse of light, and calculating a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance.


In another example, an apparatus includes a processing system including at least one processor and a non-transitory machine-readable storage medium encoded with instructions executable by the processing system. When executed, the instructions cause the processing system to perform operations including causing a light projecting system of a distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern, causing a light receiving system of the distance sensor to acquire an image of the pattern of light projected onto the object, detecting an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system, calculating a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light, causing the light projecting system of the distance sensor to emit a pulse of light toward the object, causing the light receiving system to acquire an image of a portion of the pulse of light that is reflected by the object, calculating a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse of light, and calculating a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A is an example chart illustrating the relationship between the image position of a point of light on a distance sensor's imaging sensor and object distance;



FIG. 1B is an example chart illustrating the relationship between object distance and distance measurement accuracy for time of flight based distance calculations;



FIG. 2, for instance, illustrates a simplified example of a distance sensor for measuring the distance to an object;



FIG. 3 is a schematic diagram illustrating the relationship between the image position of a point and the object distance when the trajectories overlap, and further illustrating how ranging results obtained via time of flight-based measurement techniques can be obtained simultaneously with ranging results obtained via triangulation-based measurement techniques;



FIG. 4 illustrates an example of the imaging sensor of FIG. 2 in greater detail;



FIG. 5 is a flow diagram illustrating an example method for calculating the distance to an object, according to examples of the present disclosure; and



FIG. 6 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 enhancing triangulation-based three-dimensional distance measurements with time of flight (TOF) information. As discussed above, distance sensors such as those described in U.S. patent applications 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 of points (e.g., dots, dashes, or the like) 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.


Three-dimensional distance measurement by triangulation has proven to be highly accurate at close range, and is therefore useful for applications such as facial authentication (e.g., authenticating an individual as an authorized user of a device or service based on matching of the individual's facial features to facial features of an authorized user). At longer distances, however, triangulation may be more prone to error due to the difficulty in identifying individual points of light (i.e., identifying correspondences between points of light in the pattern and the beams that created the points, which are necessary for determining the positional relationships of the points of light).


For instance, as discussed above, the image positions (i.e., the positions of the light reflected by the points on an imaging sensor) of the individual points of light in a pattern that is projected into an object may vary based on the distance to the object. As an example, the points of light 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. The range of potential image positions for an individual point of light may be referred to as the point of light's “trajectory,” and the trajectory tends to be fixed. As the number of points of light in a pattern increases, so does the likelihood that the trajectories of the individual points of light will overlap, making it more difficult to determine which point of light corresponds to which beam projected by the distance sensor. If the beam to which the point of light corresponds cannot be determined, then distance measurement by triangulation becomes more difficult.



FIG. 1A is an example chart 100 illustrating the relationship between the image position of a point of light on a distance sensor's imaging sensor and object distance (i.e., the distance from the distance sensor to the object whose distance is being measured). In particular, the x axis of the chart 100 plots the positional resolution of the point of light, while the y axis of the chart 100 plots the distance resolution. As discussed above, knowing the relationship between point image position and object distance is key to being able to calculate object distance using triangulation techniques.


As can be seen in FIG. 1A, the trajectory (or range within which the image position of a point may move) decreases as the distance to the object increases. This means that, for triangulation-based distance measurement techniques, distance measurements can be made at high resolution for longer distances, because the amount of movement of the image position is larger in the near range.



FIG. 1B is an example chart 102 illustrating the relationship between object distance and distance measurement accuracy for time of flight based distance calculations. In particular, the x axis of the chart 102 plots the time measurement resolution (i.e., round trip time of flight), while they axis of the chart 102 plots the distance resolution. As can be seen from FIG. 1B, the ranging resolution (or accuracy) for time of flight-based distance measurement calculations is constant for any object distance.


Thus, when reviewing FIG. 1A and FIG. 1B together, it can be seen that the distance measurement resolution of triangulation-based distance measurement techniques far exceeds the distance measurement resolution of time of flight-based distance measurement techniques, at least up to a certain object distance.


Examples of the present disclosure make use of time of flight (TOF)-based distance measurement techniques to augment triangulation-based three-dimensional distance measurements for improved accuracy. TOF typically works by projecting modulated light onto an object and tracking the time that it takes the projected light to return as reflected light; the distance to the object can be calculated as a function of the time elapsed between emission of the projected light and imaging of the reflected light on a sensor. In this way, distance can be measured at a certain resolution, regardless of distance. Although this resolution is typically too coarse for applications such as facial authentication, which rely on a high level of detail, it can be useful in confirming the results of a triangulation-based measurement.


In particular, in one example, a distance measurement calculation made using triangulation-based techniques may identify a point of light in a projection pattern that is detected within a region of the projection pattern where two adjacent trajectories overlap. Using triangulation-based distance measurement techniques alone, it may be difficult to determine to which trajectory (and hence, which projected beam) that point of light belongs. However, by augmenting with a distance measurement calculation based on time of flight, it may be possible to discern the trajectory to which the point of light belongs.



FIG. 2, for instance, illustrates a simplified example of a distance sensor 200 for measuring the distance to an object 210. As illustrated, the distance sensor 200 generally comprises a processor 202, a light projecting system including a plurality of projection points including at least a first projection point 204, and a light receiving system 206 including at least an imaging sensor 206 and a lens 214 of a camera.


The projection point 204 may comprise a plurality of components, including a light source and a diffractive optical element. The light source may comprise a laser light source that is capable of emitting light in a wavelength that is substantially invisible to the human eye (e.g., an infrared wavelength). The light source may emit a single beam of light that is split, by the diffractive optical element, into a plurality of beams of light that fan out from a common central point or origin.


As illustrated, the projection point 204 may project the plurality of beams 2081-208n of light (hereinafter individually referred to as a “beam 208” or collectively referred to as “beams 208”) onto an object 210. When the beams 208 are incident upon the object 210, this creates a plurality of points of light 2121-212n (hereinafter individually referred to as a “point 212” or collectively referred to as “points 212’), i.e., one point of light per beam 208, on the object 210. The points 212 of light collectively form a predefined pattern (such as a grid) whose dimensions are known.


The distance from the distance sensor 200 to the object 210 may vary. FIG. 2 shows the object 210 at a first distance Da and a second distance Db. As shown, the points 212 of light may be incident upon the object 210 at either distance Da or Db; however, changing the distance will change the appearance of the pattern created by the points 212 of light as discussed above. In particular, the position of a point's reflected image on the imaging sensor 206 will vary as shown.


Inset 218 shows how the trajectories 2161-216n (hereinafter individually referred to as a “trajectory 216” or collectively referred to as “trajectories 216”) corresponding to the points 2121-212n overlap on the surface of the imaging sensor. The center of the imaging sensor is designated as C for reference. Due to the overlap of the trajectories 216, a given point 212 of light may appear on a location on the imaging sensor 206 that is covered by two adjacent and overlapping trajectories 216, making it difficult to determine, with certainty, to which trajectory 216 (and hence, to which beam 208) the given point 212 belongs.



FIG. 3 is a schematic diagram illustrating the relationship between the image position of a point 212 and the object distance D when the trajectories 216 overlap, and further illustrating how ranging results obtained via time of flight-based measurement techniques can be obtained simultaneously with ranging results obtained via triangulation-based measurement techniques.



FIG. 3 shows a plurality of image position-object distance curves similar to that illustrated in FIG. 1A, but for the points 212 of light illustrated in FIG. 2. For instance, curve 3001 corresponds to point 2121, curve 3002 corresponds to point 2122, and curve 300n corresponds to point 212n. The curves 3001-300n may be individually referred to as a “curve 300” of collectively referred to as “curves 300.” The interval or distance between the curves 300 is determined by the angular interval between the points 212 and corresponds to the range 302.


Rt in FIG. 3 represents the resolution of the time of flight-based measurements. More specifically, Rt indicates that, for the closest image position specified, that when the object (e.g., object 210) is a distance Rt away from the distance sensor, the image position moves by Rt. Thus, Rt1 indicates the resolution for the point 2121, Rt2 indicates the resolution for the point 2122, and Rtn indicates the resolution for the point 212n.


The trajectories 216 of the points 212 overlap as illustrated. Thus, when a given point of light is detected at a position P, the object distance that is calculated will differ depending on whether the given point of light belongs to the trajectory 2161, 2162, or 216n. On the other hand, since the object distance calculated using time of flight techniques at position P is already known, this knowledge can help to identify to which trajectory 216 the given point of light belongs. Furthermore, since the resolution of the time of flight-based measurements is Rt, the object distances for the points 212 can be reliably determined with the resolution of the time of flight.



FIG. 4 illustrates an example of the imaging sensor 206 of FIG. 2 in greater detail. More particularly, FIG. 4 shows the relationship between image position and time of flight detection position on the imaging sensor 206. As illustrated, the imaging sensor 206 comprises a plurality of pixels 4001-400m (hereinafter individually referred to as a “pixel 400” or collectively as “pixels 400”) arranged in a grid or matrix. Each pixel 400 may include, for example, a photodetector, and may further include a lens (e.g., a microlens) to focus reflected light onto the photodetector and a filter to allow specific wavelengths of light to pass through to the photodetector.


As illustrated, a point of light 402 may be imaged onto the imaging sensor 206. The position of the point of light 402 (as determined by a triangulation-based measurement technique) may overlap one or more of the pixels 400 of the imaging sensor 206. In FIG. 4, the shaded pixels 400 represent the time of flight detection position of the point 402, while the circular outline represents the image position of the point 402 as detected using triangulation-based measurement techniques. A trajectory 404 to which the point 402 belongs is also illustrated. In one example, the point 402 belonging to the trajectory 404 may be imaged anywhere on the imaging sensor 206 falling within the trajectory 404, depending upon the distance from the distance sensor to the object.



FIG. 5 is a flow diagram illustrating an example method 500 for calculating the distance to an object, according to examples of the present disclosure. The method 500 may be performed, for example, by a processing system including at least one processor, such as the processing system of a distance sensor. For the sake of example, the method 500 is described as being performed by a processing system.


The method 500 may begin in step 502. In step 504, the processing system may cause a light projecting system of a distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern. For instance, the processing system may send an electronic signal to the light projecting system, where the electronic signal encodes an instruction. 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).


The pattern of light may be created by a plurality of beams projected by the distance sensor's light projecting system. The plurality of beams may project the plurality of points of light onto the object, where the plurality of points of light collectively forms the pattern of light, or a “projection pattern.” In one example, the plurality of points of light may be arranged into a grid pattern comprising a plurality of rows and a plurality of columns.


In a further example, the arrangement of rows and columns may be staggered. For instance the rows may be arranged so that the points of light of every other row are aligned or collinear along imaginary lines that pass through the centers of the points of light in they or vertical direction. Conversely the points of light in any two immediately adjacent rows will not be aligned (e.g., there will not be an imaginary line in the y or vertical direction that passes through the centers of the points of light of both rows).


Similarly, the columns may be arranged so that the points of light of every other column are aligned or collinear along imaginary lines that pass through the centers of the points of light in the x or horizontal direction. Conversely the points of light of any two immediately adjacent columns will not be aligned (e.g., there will not be an imaginary line in the x or horizontal direction that passes through the centers of the points of light of both columns).


In step 506, the processing system may cause a light receiving system of the distance sensor to acquire an image of the projection pattern on the object. For instance, the processing system may send an electronic signal to the light receiving system, where the electronic signal encodes an instruction. As discussed above, although the projection pattern (e.g., the light forming the projection pattern) may be invisible to the human eye, it may be visible to an image sensor of the light receiving system.


In step 508, the processing system may detect an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system. Detecting the image position of the first point of light may include determining a first beam projected by a projection point of the light projecting system (where the first beam is one of a plurality of beams projected from the projection point) that corresponds to (i.e., produced) the first point of light.


In one example, detecting the image position of the first point of light may include determining that the image position of first point of light is located in a region of the imaging sensor where a first trajectory and a second trajectory overlap. Thus, it may be unclear from the image acquired in step 206 to which trajectory (and hence, which beam of the plurality of beams) the first point of light belongs.


For example, consider a point of light at position P that falls within the area where the trajectories 2161, 2162, and 216n overlap in FIG. 2. The point P could potentially be identified as a point P1 on trajectory 2161, a point P2 on trajectory 2162, or a point Pn on trajectory 216n. The calculated object distance will be different depending on which point P1, P2, or Pn is determined to be the point P (i.e., the object distance will be D1 for the point P1, D2 for the point P2, and Dn for the point Pn).


In step 510, the processing system may calculate a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light. For instance, the processing system may use a triangulation technique to calculate the first estimated distance and the second estimated distance. As an example, the distance may be calculated in any of the manners discussed in U.S. patent applications Ser. Nos. 14/920,246, 15/149,323, and 15/149,429.


In one example, the first estimated distance may be calculated based on the assumption that the first trajectory corresponds to the first point of light, while the second estimated distance may be calculated based on the assumption that the second trajectory corresponds to the second point of light. Thus, a triangulation-based distance measurement may be calculated for each trajectory that overlaps the location of the first point of light on the imaging sensor. For instance, following the example above for the point P, depending on which of the trajectories is identified as corresponding to the point P, the first estimated distance may be calculated as D1, D2, or D3.


In step 512, the processing system may cause the light projecting system of the distance sensor to emit a pulse of light toward the object. For instance, the processing system may send an electronic signal to the light projecting system, where the electronic signal encodes an instruction. As discussed above, the light may be of a wavelength that is substantially invisible to the human eye, but that is detectable by the imaging sensor of the distance sensor (e.g., infrared light). In one example, step 512 is performed simultaneously with step 504.


In step 514, the processing system may cause the light receiving system of the distance sensor to acquire an image of a portion of the pulse of light that is reflected by the object. For instance, the processing system may send an electronic signal to the light receiving system, where the electronic signal encodes an instruction. As discussed above, although the pulse of light (and the portion of the pulse of light that is reflected) may be invisible to the human eye, it may be visible to the image sensor of the light receiving system. In one example, step 514 is performed simultaneously with step 506.


In step 516, the processing system may calculate a third estimated distance between the distance sensor and the object, based on the time of flight of the pulse of light. For instance, the processing system may calculate the third estimated distance based on the time elapsed between the time when the light projecting system emits the pulse of light and the time when the imaging sensor of the light receiving system detects the portion of the pulse of light that is reflected by the object. For instance, for a point of light at position P on the imaging sensor, the second estimated distance may be calculated as Dt(P).


In step 518, the processing system may calculate a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance. In particular, the third estimated distance, which was calculated using a time of flight-based distance measurement technique, may be used to determine which of the first estimated distance and the second estimated distance is correct (e.g., matches the third estimated distance within some threshold tolerance or is closer to the third estimated distance). For instance, referring back to FIG. 4, if the point 402 represents the first point of light, then the distance measurement for the pixels 400 surrounding the point 402 may be adopted as the distance measurement for the point 402. Whichever of the first estimated distance and the second estimated distance is determined to be correct based on the third estimated distance may then be output or stored as the distance from the distance sensor to the object.


The method 500 may end in step 520.


It should be noted that although not explicitly specified, some of the blocks, functions, or operations of the method 500 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 500 can be stored, displayed, and/or outputted to another device depending on the particular application. Furthermore, blocks, functions, or operations in FIG. 5 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. 6 depicts a high-level block diagram of an example electronic device 600 for calculating the distance from a sensor to an object. As such, the electronic device 600 may be implemented as a processor of an electronic device or system, such as a distance sensor.


As depicted in FIG. 6, the electronic device 600 comprises a hardware processor element 602, e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor, a memory 604, e.g., random access memory (RAM) and/or read only memory (ROM), a module 605 for calculating the distance from a sensor to an object, and various input/output devices 606, 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 600 may employ a plurality of processor elements. Furthermore, although one electronic device 600 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 600 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 605 for calculating the distance from a sensor to an object, e.g., machine readable instructions can be loaded into memory 604 and executed by hardware processor element 602 to implement the blocks, functions or operations as discussed above in connection with the method 500. 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 605 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: causing, by a processing system of a distance sensor, a light projecting system of the distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern;causing, by the processing system, a light receiving system of the distance sensor to acquire an image of the pattern of light projected onto the object;detecting, by the processing system, an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system;calculating, by the processing system, a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light;causing, by the processing system, the light projecting system of the distance sensor to emit a pulse of light toward the object;causing, by the processing system, the light receiving system to acquire an image of a portion of the pulse of light that is reflected by the object;calculating, by the processing system, a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse of light; andcalculating, by the processing system, a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance.
  • 2. The method of claim 1, wherein the calculating the first estimated distance and the second estimated distance comprises: identifying, by the processing system, a first trajectory and a second trajectory that overlap in a location of the image position;calculating, by the processing system, the first estimated distance based on an assumption that the point of light belongs to the first trajectory; andcalculating, by the processing system, the second estimated distance based on an assumption that the point of light belongs to the second trajectory.
  • 3. The method of claim 2, wherein the first trajectory comprises a first range of potential range of image positions of a point of light of the plurality of points of light belonging to the first trajectory, and the second trajectory comprises a second range of potential image positions of a point of light of the plurality of points of light belonging to the first trajectory.
  • 4. The method of claim 3, wherein the first estimated distance and the second estimated distance are calculated using triangulation.
  • 5. The method of claim 3, wherein the calculating the fourth distance comprises: determining, by the processing system that the first estimated distance is closer to the third estimated distance than the second estimated distance; andsetting, by the processing system, the fourth estimated distance equal to the first estimated distance.
  • 6. The method of claim 1, wherein the causing the light projecting system to project the pattern of light is performed simultaneously with the causing the light projecting system to emit the pulse of light.
  • 7. The method of claim 6, wherein the causing the light receiving system to acquire the image of the projection pattern is performed simultaneously with the causing the light receiving system to acquire the image of the portion of the pulse of light.
  • 8. The method of claim 1, wherein the plurality of points of light and the pulse of light comprise light of a wavelength that is invisible to a human eye.
  • 9. The method of claim 8, wherein the plurality of points of light and the pulse of light comprise infrared light.
  • 10. The method of claim 1, wherein the pattern of light comprises a predefined pattern having known dimensions.
  • 11. A non-transitory machine-readable storage medium encoded with instructions executable by the processing system including at least one processor, wherein, when executed by the processing system, the instructions cause the processing system to perform operations, the operations comprising: causing a light projecting system of a distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern;causing a light receiving system of the distance sensor to acquire an image of the pattern of light projected onto the object;detecting an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system;calculating a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light;causing the light projecting system of the distance sensor to emit a pulse of light toward the object;causing the light receiving system to acquire an image of a portion of the pulse of light that is reflected by the object;calculating a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse of light; andcalculating a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance.
  • 12. The non-transitory machine-readable storage medium of claim 11, wherein the calculating the first estimated distance and the second estimated distance comprises: identifying a first trajectory and a second trajectory that overlap in a location of the image position;calculating the first estimated distance based on an assumption that the point of light belongs to the first trajectory; andcalculating the second estimated distance based on an assumption that the point of light belongs to the second trajectory.
  • 13. The non-transitory machine-readable storage medium of claim 12, wherein the first trajectory comprises a first range of potential range of image positions of a point of light of the plurality of points of light belonging to the first trajectory, and the second trajectory comprises a second range of potential image positions of a point of light of the plurality of points of light belonging to the first trajectory, and the first estimated distance and the second estimated distance are calculated using triangulation.
  • 14. The non-transitory machine-readable storage medium of claim 13, wherein the calculating the fourth distance comprises: determining, by the processing system that the first estimated distance is closer to the third estimated distance than the second estimated distance; andsetting, by the processing system, the fourth estimated distance equal to the first estimated distance.
  • 15. The non-transitory machine-readable storage medium of claim 11, wherein the causing the light projecting system to project the pattern of light is performed simultaneously with the causing the light projecting system to emit the pulse of light.
  • 16. The non-transitory machine-readable storage medium of claim 15, wherein the causing the light receiving system to acquire the image of the projection pattern is performed simultaneously with the causing the light receiving system to acquire the image of the portion of the pulse of light.
  • 17. The non-transitory machine-readable storage medium of claim 11, wherein the plurality of points of light and the pulse of light comprise light of a wavelength that is invisible to a human eye.
  • 18. The non-transitory machine-readable storage medium of claim 17, wherein the plurality of points of light and the pulse of light comprise infrared light.
  • 19. The non-transitory machine-readable storage medium of claim 11, wherein the pattern of light comprises a predefined pattern having known dimensions.
  • 20. An apparatus, comprising: a processing system; anda non-transitory machine-readable storage medium encoded with instructions executable by the processing system, wherein, when executed, the instructions cause the processing system to perform operations, the operations comprising: causing a light projecting system of a distance sensor to project a pattern of light onto an object, wherein the pattern of light comprises a plurality of points of light that collectively form the pattern;causing a light receiving system of the distance sensor to acquire an image of the pattern of light projected onto the object;detecting an image position of a first point of light of the plurality of points of light on an imaging sensor of the light receiving system;calculating a first estimated distance and a second estimated distance between the distance sensor and the object, based on the image position of the first point of light;causing the light projecting system of the distance sensor to emit a pulse of light toward the object;causing the light receiving system to acquire an image of a portion of the pulse of light that is reflected by the object;calculating a third estimated distance between the distance sensor and the object, based on a time of flight of the pulse of light; andcalculating a fourth estimated distance between the distance sensor and the object, based on the first estimated distance, the second estimated distance, and the third estimated distance.
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority of U.S. Provisional Patent Application Ser. No. 62/942,137, filed Dec. 1, 2019, which is herein incorporated by reference in its entirety.

US Referenced Citations (135)
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
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
20030071891 Geng Apr 2003 A1
20040167744 Lin et al. Aug 2004 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
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
20130076865 Tateno et al. Mar 2013 A1
20130088575 Park et al. Apr 2013 A1
20130155417 Ohsawa Jun 2013 A1
20130242090 Yoshikawa Sep 2013 A1
20130307933 Znamensky et al. Nov 2013 A1
20130314688 Likholyot Nov 2013 A1
20140000520 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ébert et al. 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
20150062558 Koppal et al. Mar 2015 A1
20150077764 Braker et al. Mar 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
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 et al. 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
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 et al. Jan 2018 A1
20180073863 Watanabe Mar 2018 A1
20180080761 Takao et al. Mar 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
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
Foreign Referenced Citations (49)
Number Date Country
101794065 Aug 2010 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
106796179 May 2017 CN
102016118562 Mar 2017 DE
0358628 Mar 1990 EP
1 739 391 Jan 2007 EP
3 171 129 May 2017 EP
H4-51112 Feb 1992 JP
H9-61126 Mar 1997 JP
2002-056348 Feb 2002 JP
4485365 Feb 2006 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
2010-256182 Nov 2010 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
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
WO 20130145164 Oct 2013 WO
WO 20140106843 Jul 2014 WO
WO 2014131064 Aug 2014 WO
WO 2015166915 Nov 2015 WO
WO 2017053368 Mar 2017 WO
Non-Patent Literature Citations (1)
Entry
International Search Report and Written Opinion mailed in corresponding PCT/US2020/062138 dated Mar. 9, 2021, 8 pages.
Related Publications (1)
Number Date Country
20210165098 A1 Jun 2021 US
Provisional Applications (1)
Number Date Country
62942137 Dec 2019 US