Programmable light curtains

11493634 · 2022-11-08

Assignee

Inventors

Cpc classification

International classification

Abstract

Embodiments described herein are generally directed to a device that monitors for the presence of objects passing through or impinging on a virtual shell near the device, referred to herein as a “light curtain”, which is created by rapidly rotating a line sensor and a line laser in synchrony. The boundaries of the light curtain are defined by a sweeping line defined by the intersection of the sensing and illumination planes.

Claims

1. A system comprising: a light source for creating a line of light defining an illumination plane; a line sensor for sensing a line of light in a sensing plane, the sensed line of light being defined by an intersection of the illumination plane and the sensing plane; a processor; and software executed by the processor for performing the functions of: steering the illumination plane and the sensing plane synchronously such that an intersection of the illumination plane and the sensing plane follows a pre-defined path defining a light curtain; cycling the light source on and off; and reading the line sensor as the light source is cycled on and off.

2. The system of claim 1 wherein the light source comprises: a laser diode; a collimation lens; and a Powell-type lens; and a first steerable mirror; wherein light emitted by the laser diode is formed into a line of light by the Powell-type lens before striking the first steerable mirror.

3. The system of claim 1 wherein the line sensor comprises a lens and a sensor capable of sensing a single line of pixels.

4. The system of claim 1 wherein the software performs the further functions of: detecting a variance in light detected by the line sensor, indicative of the presence of an object intersecting the light curtain.

5. The system of claim 4 wherein the software performs the further functions of: communicating an alert off-unit upon detection of the variance.

6. The system of claim 1 wherein the illumination plane and the sensing plane are rotated about parallel axes.

7. The system of claim 1 wherein the illumination plane and the sensing plane are rotated over two axes.

8. The system of claim 1 wherein the illumination plane and the sensing plane are rotated over two points.

9. The system of claim 1 wherein the line sensor is a continuous wave time-of-flight sensor.

10. The system of claim 1 wherein the illumination plane and the sensing plane are steered by steerable galvo mirrors.

11. The system of claim 1 wherein the illumination plane and the sensing plane are steered by mechanical motors.

12. The system of claim 1 wherein the line sensor is a 2D sensor having a rolling shutter or a region of interest mask.

13. A method comprising: creating an illumination plane by continuously sweeping a line light source back and forth over a first pre-defined path; creating a sensing plane by sweeping a line sensor back and forth over a second pre-defined path; and synchronizing the first and second pre-defined paths such that a line defining an intersection of the illumination plane and the sensing plane creates a light curtain of a desired shape.

14. The method of claim 13 further comprising: cycling the line light source on and off; and reading the line sensor as the line light source is cycled on and off.

15. The method of claim 14 further comprising: detecting variances in light detected by the line sensor, indicative of the presence of an object intersecting the light curtain.

16. The method of claim 13 wherein the illumination plane and the sensing plane are rotated about parallel axes.

17. The method of claim 13 wherein the illumination plane and the sensing plane are rotated over two axes.

18. The system of claim 13 wherein the illumination plane and the sensing plane are rotated over two points.

19. A non-transitory computer-readable storage media containing instructions that, when executed by a processor, perform the steps of: creating an illumination plane by continuously sweeping a line light source back and forth over a first pre-defined path; creating a sensing plane by sweeping a line sensor back and forth over a second pre-defined path; and synchronizing the first and second pre-defined paths such that a line defining an intersection of the illumination plane and the sensing plane creates a light curtain of a desired shape.

20. The computer-readable storage media of claim 19 containing further instructions that, when executed by a processor, perform the steps of: cycling the line light source on and off; and reading the line sensor as the line light source is cycled on and off.

21. The computer-readable storage media of claim 19 containing further instructions that, when executed by a processor, perform the steps of: detecting variances in the light detected by the line sensor, indicative of an object intersecting the light curtain.

22. The computer-readable storage media of claim 21 containing further instructions that, when executed by a processor, perform the steps of: communicating an alert off-unit upon detection of the variance.

23. The computer-readable storage media of claim 20 containing further instructions that, when executed by a processor, perform the steps of: filtering ambient light from light sensed by the line sensor by reading each line in the light curtain each line defining the intersection of the illumination plane and the sensing plane twice, once with the line light source illuminated and once without, and subtracting the readings.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The Detailed Description of the invention will be better understood when read in conjunction with the figures appended hereto. For the purpose of illustrating the invention, a preferred embodiment is shown in the drawings. It is understood, however, that this invention is not limited to these embodiments or the precise arrangements shown.

(2) FIG. 1 is a schematic view of the components of the light curtain device.

(3) FIG. 2 is a diagram showing the intersecting planes of the light projector the sensor and the formation of the light curtain by synchronously scanning the projector and sensor such as to move the intersecting line of the planes in the desired shape.

(4) FIG. 3 is a top view of the diagram of FIG. 2.

(5) FIG. 4 is a diagram showing (a) an illumination geometry of a light curtain generated by rotating the laser light plane and sensor plane about a parallel axis; (b) the coordinate frame showing various parameters; and (c) a top view of the coordinate system shown in (b).

(6) FIG. 5 is a diagram showing the thickness of the light curtain.

(7) FIG. 6 shows two applications of the light curtain. FIG. 6(a) shows a light curtain being used for a tilted plane a proximity arc and a path check. FIG. 6(b) shows the application of a light curtain in a self-driving vehicle sensing for upcoming adjacent traffic and an adjacent lane check.

(8) FIG. 7(a-d) are illustrations of light curtains resulting when the sensor and laser rotates about an axis and about a point.

DETAILED DESCRIPTION

(9) The invention is described in detail below. Implementations used in the description of the invention, including implementations using various components or arrangements of components, should be considered exemplary only and are not meant to limit the invention in any way. As one of skill in the art would realize, many variations on implementations discussed herein which fall within the scope of the invention are possible. Accordingly, the exemplary methods and apparatuses disclosed herein are not to be taken as limitations on the invention, but as an illustration thereof.

(10) In one embodiment, the device consists of a line scan laser (illumination module 100) and a line scan sensor (sensor module 120) as shown in a top view in FIG. 1. In one embodiment, illumination module 100 uses a laser diode 102 as a light source. In one embodiment, the laser diode 102 may be, for example, a 638 nm laser diode with the peak power of 700 mW. The light emitted from laser diode 102 is collimated using collimation lens 104. The light is stretched into a line with line lens 106, which may, in some embodiments, be a 45° Powell lens.

(11) To steer the light beam, a steerable galvo mirror 108 is used. In preferred embodiments, the galvo mirror has a dimension of 11 mm×7 mm and has a 22.5° mechanical angle, providing the sensor and laser with a 45° field of view. The galvo mirror 108 takes approximately 500 μs to rotate through a 0.2° optical angle. A micro-controller is used to synchronize the sensor, the laser and the galvo mirrors 108, 126. In preferred embodiments, the galvo mirror 108 used for the illumination module 100 and the galvo mirror 126 use for sensor module 120 will be identical. In alternate embodiments, a mechanical motor may be used to steer the light beam and sensor. In yet other embodiments, a 2D sensor and with a rolling shutter or a region of interest mask may be used to effectively emulate a faster line sensor.

(12) Sensor module 120 comprises a line sensor 122, lens 124 and steerable galvo mirror 126. In one embodiment, line sensor 122 is a line scan intensity sensor. In one embodiment, the line scan intensity sensor is a 6 mm f/2 S-mount lens having a diagonal field-of-view of 45° and an image circle 7 mm in diameter. The line sensor may have 2048×2 total pixels with the pixel size being approximately 7 μm×7 μm. In preferred embodiments, only the central 1000 pixels of the sensor are used due to the limited circle of illumination of the lens. Preferably, the line scan sensor may be capable of scanning 95,000 lines per second and may be fitted with an optical bandpass filter having a 630 nm center wavelength and a 50 nm bandwidth suppress ambient light.

(13) In preferred embodiments, the rotation axes are aligned to be parallel and fixed with a baseline of 300 mm. The resulting field-of-view of the system is approximately 45° by 45°.

(14) The Powell lens 106 fans the laser beam into a planar sheet of light and the line sensor 122 senses light from a single plane. In the general configuration, the two planes intersect at a line in 3D, as shown in a perspective view FIG. 2 and in a top view in FIG. 3. In the absence of ambient and indirect illuminations, the line sensor 122 measures light scattered by any object on the line. By rotating both the line sensor 122 and the laser 102 at a high speed, the intersecting line can be swept to form any ruled surface. This ruled surface, on which presence of objects can be detected, is the light curtain. The resulting device is programmable, in terms of its light curtain shape, and flexible, in terms of being able to vary laser power and sensor exposure time to suit the demands of an application.

(15) FIG. 4(a) shows the viewing and illumination geometry of a light curtain generated by rotating the laser light plane and sensor plane about parallel axes r. The intersection line is also parallel to the two rotation axes, as shown in FIG. 4(b). The coordinate frame of FIG. 4(b) and top view of FIG. 4(c) show various parameters of interest. Note that changing θ.sub.c and θ.sub.p synchronously generates light curtains with different shapes. FIG. 4(c) and FIG. 5 show that the finite sizes of sensor pixels and finite thickness of laser sheet lead to a thick light curtain upon triangulation.

(16) When operated in strong ambient light, for example, sunlight, the sensor 122 also measures the contribution from the ambient light illuminating the entire scene. To suppress this, two image captures are performed at sensor 122 for each setting of the galvos, one with and one without illumination from laser 102, each with exposure of 100 μs. The images may then be subtracted to filter out the ambient light.

(17) In one embodiment, galvo mirrors 108, 122 may take time to stabilize after rotation. The stabilization time may be as much as 500 μs before the mirrors are stable enough to capture a line. This limits the overall frame-rate of the device. Adding two 100 μs exposures for laser on and off to filter out ambient light allows a display of 1400 lines per second. If the light curtains are designed to contain 200 lines, the entire light curtain can be refreshed at a rate of 5.6 fps. Galvo mirrors which stabilize in times shorter than 500 μs would allow the curtain refresh rates to reach 20 to 30 fps.

(18) Light Curtains with Parallel Axes of Rotation—

(19) The case where the sensor and laser can each be rotated about a single fixed parallel axis, as shown in FIG. 4, can be implemented by placing two 1D galvo mirrors, one each in the front of the line sensor and in front of the laser, respectively. Let the sensor and laser rotation axes be r. The intersecting line in the curtain will also be parallel and of the form:
p.sub.0+ur

(20) where p.sub.o is any 3D point on the line and u∈(−α, α) is the offset along the axis of rotation (see FIG. 4 (a,b)). Then, the light curtain s(t, u)⊂custom character.sup.3 is obtained by sweeping the intersection line such that:
s(t,u)−p(t)+ur

(21) where p(t)∈custom character.sup.3 is a 3D path that describes the points scanned by the center pixel on the line sensor and t∈[0,1] is the parameterization of the path.

(22) Given a light curtain s(t, u), the rotation angles of the sensor and laser can be computed. Without loss of generality, it is assumed that the origin of the coordinate system is at the midpoint between the centers of the line sensor and the laser. It is further assumed that the rotation axes are aligned along the y-axis and that the 3D path can be written as p(t)=[x(t), 0, z(t)].sup.T. To achieve this light curtain, suppose that the laser rotates about its axis with an angular profile of θ.sub.p(t), where the angle is measured counter-clockwise with respect to the x-axis. Similarly, the line sensor rotates with an angular profile of θ.sub.c(t). Let b be the baseline between the laser and the line sensor. θ.sub.c(t) and θ.sub.p(t) can be derived as:

(23) [ tan θ c ( t ) tan θ p ( t ) ] = [ ( x ( t ) + b 2 ) z ( t ) ( x ( t ) - b 2 ) z ( t ) ] ( 1 )

(24) General Light Curtains—

(25) The light curtain device can also be configured with line sensor 122 and laser 102 rotating over non-parallel axes or with each of them enjoying full rotational degrees of freedom. These configurations have their own unique advantages. When the devices have full rotational freedom, i.e., capable of rotating around a point with no restrictions, then any ruled surface (including for example, a mobius strip) can be generated as a light curtain. Full rotational freedom, however, is hard to implement because multi-axis galvos or gimbals are needed and are often cost-prohibitive.

(26) Rotation Over Two Axes—

(27) When the line sensor and line laser rotate over two axes, l.sub.c and l.sub.p, respectively, given a 3D path p(t), the generated ruled surface can be determined. Each line in the surface should not only go through p(t), but also be co-planar to l.sub.c and l.sub.p simultaneously. The parametric form of the generated light curtain s(t, u)⊂custom character.sup.3 can be written as:
s(t,u)=p(t)+ur(t)
where u is a scalar and r(t)∈custom character.sup.3 is the direction of the line which is analyzed in the following from easy to general conditions.

(28) FIG. 6 shows two applications of the light curtain. FIG. 6(a) shows a light curtain being used for a tilted plane a proximity arc and a path check. FIG. 6(b) shows the application of a light curtain in a self-driving vehicle sensing for upcoming adjacent traffic and an adjacent lane check.

(29) FIG. 7(a,b,c) are illustrations of light curtains resulting when each of the sensor 122 and laser 102 rotates about an axis. FIG. 7(d) is an illustration of a light curtain resulting when the sensor 122 and laser 102 rotate about a point. When l.sub.c∥l.sub.p, as shown in FIG. 7(a), the lines in light curtain should also be parallel to l.sub.c or l.sub.p, thus r(t) is a constant value and is in the direction of l.sub.c. When l.sub.c and l.sub.p intersect at a point, as shown in FIG. 7(b), the lines in light curtain should also go through A, thus:

(30) r ( t ) = p ( t ) - A .Math. p ( t ) - A .Math. 2

(31) When l.sub.c and l.sub.p are non-coplanar, as shown in FIG. 7(c), r(t) can be derived as follows. If l.sub.p intersects with plane p(t)−l.sub.c at A(t), the line should also pass A(t), thus:

(32) r ( t ) = p ( t ) - A ( t ) .Math. p ( t ) - A ( t ) .Math. 2

(33) If there is no intersection, meaning l.sub.p is parallel to this plane, r(t) should be in the direction of l.sub.p.

(34) Given a 3D path p(t), the rotation angles of the line sensor and line laser can be computed as follows. Without loss of generality, assume that the origin of the coordinate system is at the midpoint between the centers of the line sensor 122 and line laser 102. The distance between two centers is b, and the directions of l.sub.c and l.sub.p are M and N∈custom character.sup.3 respectively. The given 3D path is at the y=0 plane and can be written as p(t)=[x(t), 0, z(t)].sup.T. The rotation angle of sensor 122, which is measured counter-clockwise with respect to the xy-plane, is:

(35) θ c ( t ) = angle ( [ 0 0 1 ] , [ M x M y M z ] × [ x ( t ) = b / 2 0 z ( t ) ] )
and the rotation angle of laser 102 is similar. They are:

(36) [ θ c ( t ) θ p ( t ) ] = [ cos - 1 - M y ( x ( t ) - b 2 ) M y 2 z ( t ) 2 + ( M z x ( t ) + M z b 2 - M x z ( t ) ) 2 + ( M y x ( t ) + M y b 2 ) 2 cos - 1 - N ( x ( t ) - b 2 ) N y 2 z ( t ) 2 + ( N z x ( t ) + N z b 2 - N x z ( t ) ) 2 + ( Nx ( t ) + N y b 2 ) 2 ]

(37) When l.sub.c and l.sub.p are co-planar, the equation can be simplified. Without loss of generality, assume both are co-planar at the xy-plane, and are ±γ to the y-axis,

(38) [ θ c ( t ) θ p ( t ) ] = [ cos - 1 ( x ( t ) + b 2 ) cos γ ( x ( t ) + b 2 ) 2 cos 2 γ + z ( t ) 2 cos - 1 ( x ( t ) - b 2 ) cos γ ( x ( t ) - b 2 ) 2 cos 2 γ + z ( t ) 2 ]
and when l.sub.c∥l.sub.p, γ=0, this can be simplified further as:

(39) ii

(40) [ θ c ( t ) θ p ( t ) ] = [ cos - 1 ( x ( t ) + b 2 ) ( x ( t ) + b 2 ) 2 + z ( t ) 2 cos - 1 ( x ( t ) - b 2 ) ( x ( t ) - b 2 ) 2 + z ( t ) 2 ]

(41) Rotation Over Two Points—

(42) When line sensor 122 and line laser 102 can rotate over two points respectively (full rotational degree of freedom), any ruled surface can be generated. FIG. 7(d) shows a mobius strip as an example. The proof is trivial, that any line in the ruled surface and the rotation center form a plane, which will determine the rotation of line sensor 122 or line laser 102.

(43) Optimizing Light Curtains—

(44) Parameters of interest in practical light curtains can be quantified, for example, their thickness and SNR of measured detections, and approaches to optimize them are presented herein. Of particular interest is the minimizing of the thickness of the curtain as well as optimizing exposure time and laser power for improved detection accuracy when the curtain spans a large range of depths.

(45) Thickness of Light Curtain—

(46) The light curtain produced by device described herein has a finite thickness due to the finite size of the sensor pixels and finite thickness of the laser illumination. Suppose that the laser spot has a thickness of Δ.sub.L meters and each pixel has an angular extent of δ.sub.c radians. Given a device with a baseline of length b meters, imaging a point at depth z(t)=z, then the thickness of the light curtain is given as an area of a parallelogram shaded in FIG. 4(c) and FIG. 5, which evaluates to:

(47) A = r c 2 r p δ c Δ L zb ( 2 )
where r.sub.c and r.sub.p is the distance between the intersected point and the sensor and laser, respectively.

(48) Given that different light curtain geometries can produce curtains of the same area, a more intuitive and meaningful metric for characterizing the thickness is the length:

(49) U = A Δ L = r c 2 r p δ c zb

(50) In any given system, changing the laser thickness Δ.sub.L, requires changing the optics of the illumination module. Similarly, changing δ.sub.c requires either changing the pixel pitch or the field-of-view of the sensor. In contrast, varying the base-line provides an easier alternative to changing the thickness of the curtain that involves a single translation. This is important because different applications often have differing needs regarding the thickness of the curtain. A larger baseline helps in achieving very thin curtains, which is important when there is a critical need to avoid false alarms. On the other hand, thick curtains that can be achieved by having a smaller baseline are important in scenarios where it is critical to avoid mis-detections. Further, a sufficiently thick curtain also helps in avoiding mis-detections caused by the inherent discreteness.

(51) Minimizing the Thickness and Energy for Nearby Light Curtains—

(52) When a light curtain is far away, the largest possible baseline can be used to minimize uncertainty, and regardless of how the device is configured, the consumed energy is close. But, when the light curtain is nearby, the best configuration is nontrivial.

(53) Given the curtain shape in the xz plane p(τ), the optimization problem minimizing thickness by triangulation can be formalized as following:

(54) 0 min C , P .Math. τ = 0 T U ( τ ) = .Math. τ = 0 T r c τ 2 r p ( τ ) .Math. "\[LeftBracketingBar]" C - P .Math. "\[RightBracketingBar]" z ( τ ) s . t . - b 2 C , P b 2
where r.sub.c(τ) and r.sub.p(τ) are the distance from p(τ) to sensor rotation center [C, 0,0] and laser rotation center [P, 0,0] respectively, z(τ) is the depth of p(τ), and

(55) ( - b 2 , b 2 )
is the range through which the rotate center of the sensor and laser can position. For simplicity, only consider a cross-section of a light curtain in the xz plane.

(56) When the objective is to minimize energy, the problem becomes

(57) min C , P .Math. τ = 0 T E ( τ ) = .Math. τ = 0 T r p ( τ ) r c ( τ ) s . t . - b 2 C , P b 2

(58) When the objective is to minimize one subject to the other one smaller than some value, like

(59) min C , P .Math. τ = 0 T U ( τ ) s . t . min C , P .Math. τ = 0 T E ( τ ) < e , - b 2 C , P b 2 and min C , P .Math. τ = 0 T E ( τ ) s . t . min C , P .Math. τ = 0 T U ( τ ) < g , - b 2 C , P b 2
the optimization result is hard to predict.

(60) Adapting Laser Power and Exposure—

(61) A key advantage of the light curtain device is that the power of the laser or the exposure time can be adapted for each intersecting line to compensate for light fall-off, which is inversely proportional to the square of the depth. In a traditional projector-sensor system, it is commonplace to increase the brightness of the projection to compensate for light fall-off, so that far-away points in the scene can be well illuminated. However, this would imply that points in the scene close to be sensor get saturated easily. This would further imply a need for a high dynamic range sensor as well as reduced resource efficiency due to the need for sending strong light to nearby scenes.

(62) In contrast, system of the present invention has an additional degree of freedom wherein the power of the laser and/or the exposure time of the sensor can be adjusted according to depth such that light fall-off is compensated to the extent possible under the device constraints and with respect to eye safety. Further, because the system only detects the presence or absence of objects, in an ideal scenario where albedo is the same everywhere, the laser can send small amounts of light to just overcome the readout noise of the sensor or the photon noise of ambient light, and only a 1-bit sensor is required.

(63) Combining with Time-of-Flight Sensors—

(64) The analysis above also indicates that the light curtain can be expected to get thicker, quadratically, with depth. Increasing baseline and other parameters of the system can only alleviate this effect in part due to the physical constraints on sensor size, laser spot thickness as well as the baseline. Replacing the line intensity sensor with a 1D continuous wave time-of-flight (CW-TOF) sensor alleviates the quadratic dependence of thickness with depth.

(65) CW-TOF sensors measure phase to obtain depth. A CW-TOF sensor works by illuminating the scene with an amplitude modulated wave (typically, a periodic signal of frequency f.sub.m Hz) and measuring the phase between the illumination and the light intensity at each pixel. The phase difference ϕ and the depth d of the scene point are related as:

(66) ϕ = mod ( fm d c , 2 π )

(67) As a consequence, the depth resolution of a TOF sensor is constant and independent of depth. Further, the depth resolution increases with the frequency of the amplitude wave. However, TOF-based depth recovery has a phase wrapping problem due to the presence of the mod (⋅) operator, which implies that the depth estimate has an ambiguity problem. This problem gets worse at higher frequencies. In contrast, traditional triangulation-based depth estimation has no ambiguity problem, but at the cost of quadratic depth uncertainty.

(68) The complementary strengths of traditional triangulation and CW-TOF can be leveraged to enable light curtains with near-constant thickness over a large range. Triangulation and phase are fused by measuring the phase (as with regular correlation-based ToF) in addition the usual measurement of intensity.

(69) Knowing the depth of the curtain, the appropriate phase to retain and discard pixels with phase values that are significantly different can be calculated. An alternative approach achieves this by performing phase-based depth gating using appropriate codes at illumination and sensing. The use of triangulation automatically eliminates the depth ambiguity of phase-based gating provided the thickness of the triangulation is smaller than the wavelength of the amplitude wave. With this, it is possible to create thinner light curtains over a larger depth range.

(70) See Through Scattering Media—

(71) In traditional imaging, the sensor receives first-bounce light reflected from an object as well as single-scattered light. With light curtains, the line sensor 102 avoids single-scattered light and only receives multi-scattered light. The ratio between first-bounce light and global light is much higher, thus contrast is better.

(72) The light curtain method and device described herein has many benefits. The shape of a light curtain is programmable and can be configured dynamically to suit the demands of the immediate task. For example, light curtains can be used to determine whether a vehicle is changing lanes in front, whether a pedestrian is in the crosswalk, or whether there are vehicles in neighboring lanes. Similarly, a robot might use a curtain that extrudes its planned (even curved) motion trajectory. FIGS. 6(a,b) show various light curtains for use in robots and cars respectively.

(73) Given an energy budget, in terms of average laser power, exposure time, and refresh rate of the light curtain, higher power and exposure can be allocated to lines in the curtain that are further away to combat inverse square light fall-off. This is a significant advantage over traditional depth sensors that typically expend the same high power in all directions to capture a 3D point cloud in an entire volume.

(74) The optical design of the light curtain shares similarities with confocal imaging in that small regions are selectively illuminated and sensed. When imaging in scattering media, such as fog and murky waters, this has the implicit advantage that many multi-bounce light paths are optically avoided, thereby providing images with increased contrast.

(75) A key advantage of light curtains is that illumination and sensing can be concentrated to a thin region. Together with the power and exposure adaptability, this provides significantly better performance under strong ambient illumination, including direct sunlight, at large distances (i.e., 20-30 m). The performance increases under cloudy skies and indoors to 40 m and 50 m respectively.

(76) At any instant, the sensor only captures a single line of the light curtain that often has small depth variations and hence, little variation in intensity fall-off. Thus, the dynamic range of the measured brightness can be low. A such, even a one-bit sensor with a programmable threshold would be ample for the envisioned tasks.

(77) Many sensor types are available for use with the device. Any line sensor could be used with the described device including intensity sensors (CMOS, CCD, IuGaAs), time-of-flight (ToF) sensors (correlation, SPAD), and neuromorphic sensors (DVS).

(78) The system may be run under control of one or more microprocessors in communication with memory containing software implementing the functions of the system. The movement of the galvo mirrors 108, 126 is under the control of the software to define the shape of the light curtain. The software may be configurable to allow the definition of light curtains of various shapes. In addition, the software may control the cycling of light source 102 as well as the timing of the reading of the data from line sensor 122 and the application of any filtering to the data, for example, the filtering of ambient light. Objects may be detected by breaking the light curtain, causing a variance in the light in the line of pixels sensed by line sensor 122. Upon detection of an object that has breached the light curtain, an alert may be raise and communicated off-unit.

(79) To those skilled in the art to which the invention relates, many modifications and adaptations of the invention will suggest themselves. The exemplary methods and apparatuses disclosed herein are not to be taken as limitations on the invention, but as an illustration thereof. The intended scope of the invention is defined by the claims which follow.