Motion sensor assembly for determining the angular velocity of a moving contrast in its field of view with a high accuracy
09797919 · 2017-10-24
Assignee
- Universite D'aix Marseille (Marseille, FR)
- Centre National De La Recherche Scientifique (C.N.R.S.) (Paris, FR)
Inventors
Cpc classification
International classification
Abstract
A motion sensor assembly is adapted to determine an angular velocity of a moving contrast in its field of view. The motion sensor assembly includes: a motion sensor with a first and a second analog photoreceptor each adapted for observing the moving contrast, the first and the second photoreceptors being separated by a predetermined interreceptor angle; and an angular velocity calculating unit connected to the first and second photoreceptors for calculating the angular velocity of the moving contrast based on a first and a second analog signal delivered by the first and the second photoreceptors, respectively. The first and the second analog signals delivered by the first and the second photoreceptors at are sampled a given sampling frequency to obtain a first and a second digital signal, respectively. An interpolator is configured to interpolate the first and the second digital signals upon their crossing a predetermined threshold between successive samples.
Claims
1. A motion sensor assembly adapted to determine an angular velocity of a moving contrast in a field of view of said motion sensor assembly, said motion sensor assembly comprising: at least one motion sensor with a first and a second analog photoreceptors each adapted for observing said moving contrast, wherein said first and second photoreceptors are separated by a predetermined interreceptor angle; and an angular velocity calculating unit connected to said first and second photoreceptors for calculating said angular velocity of said moving contrast based on a first and a second analog signal delivered by said first and second photoreceptors, respectively; wherein said angular velocity calculating unit comprises a sampler configured to temporally sample said first and second analog signals delivered by said first and second photoreceptors at a given sampling frequency to obtain a first and a second digital signal respectively; wherein said angular velocity calculating unit further comprises an interpolator configured to interpolate said first and second digital signals upon a crossing of a predetermined threshold by said first and second digital signals between successive samples; wherein said angular velocity calculating unit further comprises a filter configured to output a first and a second filtered digital signal from said first and second digital signals.
2. The motion sensor assembly of claim 1, wherein said interpolator comprises: a detector configured to detect said crossing, by said first and second digital signals, of said predetermined threshold; the interpolator, which is configured to interpolate said first interpolated time of said crossing by said first digital signal and said second interpolated time of said crossing by said second digital signal; and an estimator configured to estimate said delay in said crossing between said first and second digital signals based on said first and second interpolated times.
3. The motion sensor assembly of claim 1, said interpolator comprises: a detector configured to detect said crossing, by said first and second digital signals, of said predetermined threshold; the interpolator, which is configured to interpolate: a) a first interpolated time interval between said crossing by said first digital signal and said crossing by a next sample of said first digital signal; and b) a second interpolated time interval between said crossing by said second digital signal and said crossing by a next sample of said second digital signal ; and an estimator configured to estimate a delay in said crossing between said first and second digital signals based on said first and second interpolated time intervals; and wherein said angular velocity calculating unit further comprises a calculator configured to calculate said angular velocity by dividing said predetermined interreceptor angle by said delay.
4. The motion sensor assembly of claim 1, wherein said given sampling frequency is between 0.01 and 1000000 Hz.
5. The motion sensor assembly of claim 4, wherein said given sampling frequency is equal to about 200 Hz.
6. The motion sensor assembly of claim 1, wherein said motion sensor assembly comprises an array of photoreceptors.
7. The motion sensor assembly of claim 6, wherein said array of photoreceptors is a 3×4 array.
8. The motion sensor assembly of claim 1, wherein said angular velocity calculating unit comprises a microcontroller.
9. A vehicle equipped with said motion sensor assembly of claim 1.
10. The vehicle of claim 9, wherein said vehicle is a terrestrial, maritime or aerial vehicle, a Micro Aerial Vehicle, motor vehicle, drone or space vehicle.
11. The motion sensor assembly of claim 1, wherein said filter is a low-pass filter.
12. The motion sensor assembly of claim 1, wherein said interpolator comprises: a detector configured to detect said crossing, by said first and second digital signals, of said predetermined threshold; the interpolator, which is configured to interpolate: a) a first interpolated time interval between said crossing by said first digital signal and said crossing by a next sample of said first digital signal; and b) a second interpolated time interval between said crossing by said second digital signal and said crossing by a next sample of said second digital signal; and an estimator configured to estimate a delay in said crossing between said first and second digital signals based on said first and second interpolated time intervals.
13. A method for determining an angular velocity of a moving contrast, said method comprising the steps of: obtaining a first and a second analog signal by observing said moving contrast from a first and a second photoreceptors separated by a predetermined interreceptor angle; and temporally sampling said first and second analog signals at a given sampling frequency to obtain a first and a second digital signal, and interpolating said first and second digital signals upon a crossing of a predetermined threshold by said first and second digital signals between successive samples, wherein a filtering step is provided outputting a first and a second filtered digital signal from said first and second digital signals.
14. The method of claim 13, wherein said interpolating comprises: detecting said crossing, by said first and second digital signals, of said predetermined threshold; interpolating said first interpolated time of said crossing by said first digital signal and said second interpolated time of said crossing by said second digital signal; and estimating a delay in said crossing between said first and second digital signals based on said first and second interpolated times.
15. The method of claim 13, wherein said interpolating comprises: detecting said crossing, by said first and second digital signals, of said predetermined threshold; interpolating: a) said first interpolated time interval between said crossing by said first digital signal and a next sample of a first filtered digital signal; and b) said second interpolated time interval between said crossing by said second digital signal and a next sample of a second filtered digital signal; and estimating said delay in said crossing between said first and second digital signals based on said first and second interpolated time intervals, and wherein the method further comprises calculating an angular velocity by dividing said predetermined interreceptor angle by said delay.
16. The method of claim 13, wherein said given sampling frequency (f.sub.sample) is between 100 and 500 Hz.
17. The method of claim 16, wherein said given sampling frequency is equal to about 200 Hz.
18. The method of claim 13, wherein said interpolating is a linear interpolating.
19. The method of claim 13, wherein said interpolating comprises: detecting said crossing, by said first and second digital signals, of said predetermined threshold; interpolating: a) said first interpolated time interval between said crossing by said first digital signal and a next sample of a first filtered digital signal; and b) said second interpolated time interval between said crossing by said second digital signal and a next sample of a second filtered digital signal; and estimating said delay in said crossing between said first and second digital signals based on said first and second interpolated time intervals.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
DETAILED DESCRIPTION
(5) With reference to
(6) The moving object 11 is a printed and endless strip of wallpaper 13 that can be conveyed by two drums 15 at a speed V. The wallpaper print depicts natural contrasts, one of which is denoted by the number 19.
(7) The motion sensor assembly 10 includes an optic assembly 12 and an angular velocity calculating unit 14 connected to the optic assembly 12.
(8) The optic assembly 12 includes a photoreceptor array 16 having a plurality of photoreceptors 17 and a lens 18. The lens 18 is placed in front of the photoreceptor array 16 at a distance I such that the photoreceptors 17 have a Gaussian angular sensitivity function. Preferably, photoreceptors 17 are photodiodes. The interreceptor angle between two adjacent photoreceptors 17 is identified in
(9) The angular velocity calculating unit 14 is divided into an analog processing section 20 and a digital processing section 22.
(10) The analog processing section 20, may be a 20 to 136 Hz bandpass filter. For example; an analog bandpass filter is provided comprising a high-pass filtering (fc=20 Hz) enhancing the contrast information and eliminating the DC component of the photoreceptor signals. This high pass filtering is followed by a low-pass filtering step (with fc=116 or 136 Hz) to avoid the phenomena of aliasing.
(11) The digital processing section 22 comprises a first analog-to-digital conversion means or stage 24, and a second low-pass filtering means or stage 26, in order to output a first and second filtered digital signals DS1′ and DS2′ respectively.
(12) Said digital processing section 22 further includes a third means for processing signals DS1′ and DS2′ which comprises a delay determining thresholding and interpolating stage in order to compute the time delay Δt as illustrated by
(13) The analog processing section 20 and the first, second and fourth means are similar to the corresponding elements described in article A. Article A's disclosure relating to these elements is hereby incorporated by reference.
(14) However, the inventive angular velocity calculating algorithm is characterised by an additional step in between the digital filtering step 26 and the angular velocity calculating step 344. The additional step is carried out by the delay determining thresholding and interpolating the signals DS1′ and DS2′ stage 28 to compute the time delay Δt between the filtered digital signals DS1′ and DS2′.
(15) One motion sensor 9 (delimited by the dashed frame) of the motion sensor assembly 10 comprises two adjacent photoreceptors 17 and the associated processing part of the angular velocity calculating unit 14.
(16) With reference to
(17)
(18)
(19) For comparison,
(20) As one can see, according to the invention, the analog photoreceptor signals AS1, AS2 are sampled at a much lower frequency than the sampling frequency of NS1 and NS2. The signal between successive sampling points is then determined via interpolation.
(21) More precisely,
Δt.sub.ON=n×T.sub.sample+t1−t2 (1)
(22) wherein n is the number of periods between the two signals DS1′ and DS2′, T.sub.sample is the sampling period, t1 is the time interval between the time of DS1′'s threshold crossing and the next sampling time, and t2 is the time interval between the time of DS2″s threshold crossing and the next sampling time.
(23) In the example shown in
(24) The values of t1 and t2 are estimated by linear interpolation, i.e. with the following equation:
t1,t2=a/b×T.sub.sample (2)
(25) wherein a is the difference between the signal amplitude at the next sampling time following the threshold crossing and the threshold S, and b is the difference in amplitude between the two sampling points surrounding the time of threshold crossing.
(26) The additional step is added to the angular velocity calculating algorithm in order to be able to reduce the digital sampling frequency of the analog signals delivered by the photoreceptors 17 while essentially keeping the same measurement accuracy. In other words, according to the invention, when the visual signals are interpolated, the calculation of the optical flow is realized with a temporal accuracy superior than that of the previous art at the same frequency.
EXPERIMENTAL RESULTS
(27) In order to determine the best sampling frequency for the new angular velocity calculating algorithm using interpolation, the experiment shown in
(28) An array 16 of 4×3 auto-adaptive analog Very Large Scale Integration (aVLSI) pixels 17 called APIS (Adaptive Pixels for Insect-based Sensors) was used for determining the horizontal angular speed ω.sub.median.sup.H and the vertical angular speed ω.sub.median.sup.V of a moving contrast. The horizontal angular speed ω.sub.median.sup.H was computed by taking the maximum value between the median value of the angular speed measurements in the positive horizontal direction and the median value of the angular speed measurements in the negative horizontal direction. The vertical angular speed ω.sub.median.sup.V was computed by taking the maximum value between the median value of the angular speed measurements in the positive vertical direction and the median value of the angular speed measurements in the negative vertical direction. The moving contrast was travelling with a known angular velocity profile having a saw tooth shape M (cf.
(29) The results of the experiment for each of the three chosen sampling frequencies are shown in
(30) The horizontal output (ω.sub.median.sup.H) and the vertical output (ω.sub.median.sup.V) of the motion sensor assembly follow the saw tooth shape M. As expected, the data dispersion decreases when the sampling frequency increases, namely from a standard deviation of 27°/s at 100 Hz to a standard deviation of 12°/s at 500 Hz.
(31)
(32) The experiments show that the inventive linear interpolation is best combined with a sampling frequency of 200 Hz. At 200 Hz, one has the best compromise between computational load and measurement precision. In this case, the standard deviation of the error is below 20°/s and the computational load is five times lower than the one of a photoreceptor array sampling at 2 kHz without interpolation. Despite the low sampling frequency used, thanks to the inventive linear interpolation, the Nyquist-Shannon sampling theorem is still respected due to the spatial (Gaussian angular sensitivity of the photoreceptors 17) and temporal low-pass filtering (analog and digital filtering stages 20 and 26).
(33) First trials were performed on a dsPIC 33FJ128GP804 microcontroller at a 200 Hz sampling frequency with linear interpolation and 50 Million Instructions Per Second (MIPS). The following table shows the tested sampling frequencies, with the corresponding average and peak percentages of processor load.
(34) TABLE-US-00001 Sampling frequency % processor load % processor load (Hz) (average) (peak) 2000 84 >100 500 21 32 200 10.5 16 100 5.25 8
(35) Thanks to the decrease of the sampling frequency and the inventive delay determining—thresholding and interpolating the signals DS1′ and DS2′ stage 28 to compute the time delay Δt on the visual signals, it becomes possible to implement 17 bidirectional motion sensors based on a 3×4 photosensors array on a single microcontroller with an average processor load of only 10.5%.
(36) The above tests were carried out with an interreceptor angle Δφ of 4°. This corresponds to a motion sensor assembly able to measure angular speeds in the range of [30, 350°/s]. Such a range is typical of the stimulations received by an UAV flying at low altitude (around 1 m above ground) with a speed in the order of 2 m/s.
(37) However, an UAV flying at high altitude at around the same speed would experience smaller angular speeds. In this case, the measured temporal delays Δt would be greater. Accordingly, the sampling frequency could be reduced even further without loss in measurement accuracy.
(38) The assembly according to the invention allows, with the help of a retina of some pixels and with limited calculation resources to determine the angular velocity of the scrolling of contrasts in its field of view.
(39) This type of sensor has a major interest for the detection of the proximity of obstacles, especially in the automotive sector and in aerospace.
(40) Because of their low cost, motion sensors according to the invention may be arranged around a motor vehicle. By reducing the computational load allowed by the interpolation, the number of pixels processed by the same calculation unit is multiplied, which allows the detection of obstacles in several directions simultaneously or to increase the accuracy of the sensor by multiplying the number of sensors covering the same area.
(41) In addition, this type of sensor has the advantage that it can operate in a wide range of background illuminance.
(42) Other types of applications are also possible with the motion sensor assembly according to the invention.
(43) It will be understood that the above description of the present invention is susceptible to various modifications, changes and adaptations and the same are intended to be comprehended within the meaning and range of equivalents of the appended claims.