Notifications
Clear all

Time of Flight (ToF) VL53L5CX - 8x8 pixel sensor

251 Posts
5 Users
74 Reactions
15 K Views
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
Topic starter  

@will - Didn't that turn out bad for Schrödinger's Cat? 🤔 😏 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Will
 Will
(@will)
Member
Joined: 3 years ago
Posts: 2538
 

@davee 

Thanks Dave. After reading your analysis of what's happening I think my level of interest in this device has dipped below the surface for the last time.

Anything seems possible when you don't know what you're talking about.


   
ReplyQuote
Will
 Will
(@will)
Member
Joined: 3 years ago
Posts: 2538
 
Posted by: @inq

@will - Didn't that turn out bad for Schrödinger's Cat? 🤔 😏 

Half bad 🙂

Anything seems possible when you don't know what you're talking about.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7105
 

@davee YUP

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1721
 

Hi @will,

  I may be totally confused, but I think you are looking at it the wrong way round!

  In the hope I am somewhere near the truth ...

The majority of measurement sensors ... e.g. a thermocouple measuring temperature, will provide a new reading every time it is accessed, so it has no concept of 'memory'.

However, this one, when prompted for a new reading, flashes the VCSEL light, and enables a photon detector for just 30 nanoseconds or so, immediately after the flash.

If a photon of suitable wavelength arrives during that time window and hits the right spot on the pixel, it frees up an electron. However, that electron is surrounded by other electrons 'perched precariously', like a build up of snow on a mountainside. That first electron causes a chain reaction, so that a large group of electrons all move off together. The resulting current peak is recorded, as a time, relative to time the VCSEL flash occurred, which can be simply converted into a distance.

However, if no 'suitable' photons arrive in the 30 nanosecond period, there is nothing to report.

However, the 'computer interface' is contracted to provide an 'arrival time' for each prompt. (Prompts were arriving at about 15 per second.)

You might expect it to report a 'zero' or a 'Nothing to report' ... but instead, it reports the value of the last photon that did arrive.

---------------------

Note A

Hence, if you ran the sensor for long enough to get at least one reading, then covered the sensor, so no more photons could arise, then, in theory, the sensor would continue to report the last valid timing for as long as you kept it powered and being prompted to produce new result.

(In practice, thermal electrical noise would generate a free electron in a valid time window and create a new value which would itself be repeeated 'endlessly'.)

------------------------

Note B

The above explanation ignores the effect of photons due to ambient light. If they arrive just before the time window, then they can cause a current peak in the same way, but it will not be recorded as a result. However, it will have have cleared out the 'precariouly perched' electrons, so a photon subsequently arriving during the time window will not cause a large current peak, and hence not be detected.

Hence, a high ambient light level will tend to cause the sensor to repeat the last photon that occurred within the time window.

I didn't find a 'recovery time' for the mass of 'perched' electrons to build up, but clearly the longer the time, the longer the period an 'ambient light' photon can arrive in and 'blind' the pixel to a photon arriving during the time window.

--------------

I hope that is  a little clearer. Best wishes, Dave


   
ReplyQuote
Will
 Will
(@will)
Member
Joined: 3 years ago
Posts: 2538
 

@davee 

Yes, thanks. I understood that from your previous post and that's why I lost interest. I think I'd prefer single readings that have a specific trigger and respond (as hinted by @Inq's previous post).

Silly as it may seem, I think I'd rather have a row of single sonar (or light) sensors pinging in turn and raise or lower them as desired to get a feeling for whatever obstacle(s) are in my way.

I'm not disparaging the 8x8 sensor, it's simply a tool that I wouldn't feel comfortable using.

Anything seems possible when you don't know what you're talking about.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7105
 

@davee fyi @Inq @willCameras not intended for astrophotography which is for instance ALL models of the Canon DSLR lineup but one have a filter internally applied to the sensor (the astro camera has the sensor removed) The filter reduces the red spectrum to 'normal' but astro shooters want to highlight that Hydrogen glow in nebulas.

My point is could a very high pass filter be applied to this sensor to almost eliminate all the ambient light since the laser emitter is very wavelength specific? Would that not increase the signal to noise ratio and does that imply better sensitivity?

@Inq I was watching a video about this sensor and they said you could use multiples of them. Does that help or hurt the mapping you want to do?

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2043
 

@inq
@davee
@will

The use of this sensor is not well documented for the general hobby level user. The general hobby level user needs code examples of how it can used for creating a 3d map as the sensor is moved around or even a library that does the job.

However I would encourage @inq to keep experimenting now he has the sensor to see what he can do with it.

Using an ordinary camera there is also a technique that is available called photogrammetry which can extract 3D information from photographs. The process involves taking overlapping photographs of an object, structure, or space and software converts the data into 2D or 3D digital models.

 


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7105
 

@robotbuilder I haven't heard of that (photogrammetry) before, but to use it I imagine you would need uncompressed photos, not JPEG's but raw. That means either a DSLR or I think newer iPhones can shoot in raw format.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1721
 

Hi @will,

  I think our messages crossed in the ether, so maybe I answered the wrong question!

I guess this device had one or more specific markets in mind ... high resolution computer vision not being one of them.... though I am not totally clear what they are.

I think the 4 metre range may be a bit misleading .. not because it isn't possible in some circumstances ... more that it can only do it those in limited circumstances that are unrealistic.

In @inq's 2 metre data in the dark, it was often only managing about 50% new readings per frame (assuming my hypothesis) and with the high pressure sodium lamps it was probably less than 10%. (only eyeball percentages!)

I also remember spotting that it has problems at very short ranges .. <100 cm maybe, I didn't read or remember it clearly. So I suspect it has a Goldilocks range, perhaps something like 100 cm to 1000cm, that it is most comfortable with, plus limited capability beyond those guideline limits.

I don't see it's 2 dimensional nature is a problem ... you can easily ignore some of the rows (or columns) of data ... I should have thought it increased its capability.

Being careful to understand what the data values mean is vital ... I would suggest seeing the same value twice in a row for a given pixel means it doesn't know what is there on the second time ... so treat as a 'no data'. The odd 'no data' pixel moment is normal 'noise' ... a succession all over the sensor output, is 'not a clue what's out there'.

Perhaps it should also be seen in the context of a family with the ...0x (1pixel) and ...1x (multi-pixel?) versions ..., and alternates, like the ubiquitous ultrasound modules, and the higher resolution devices which offer 'real image' devices, although I don't know how accessible the last group are yet. And I am not clear how the ..5x version is 'superior' to the ..1x version.

How much data do you want to deal with?

Best wishes all, Dave


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1721
 

Hi Ron @zander,

re: My point is could a very high pass filter be applied to this sensor to almost eliminate all the ambient light since the laser emitter is very wavelength specific? Would that not increase the signal to noise ratio and does that imply better sensitivity?

 It is possible a more specific wavelength filter could improve its ability to reject ambient light. So far, I haven't seen any specification about the optical filtering capability of the device ... I would expect it to have at least some ability to reject unwanted light but it seems plausible it could be improved.

In terms of sensitivity, then it depends .... if the sensor is being 'blinded' by ambient light that the filter is effective at attenuating, which I think was happening with the high pressure sodium lightning experiment, then maybe yes ... but a filter will also attenuate light of all wavelengths, so it will reduce the chance of a photon actually reaching the sensor.

The 'cost effectiveness' of such a filter is another consideration I have no information about.

Best wishes, Dave


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7105
 

@davee Narrow band filters can reject all but 3 to 5 nm of the spectrum. Finding one in the frequency of the laser being used is the challenge

Screen Shot 2022 08 12 at 13.48.59

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1721
 

Hi @robotbuilder

   I tend to agree that the sensor looks useful, as an improvement on the basic ultrasound sensor or similar. It is also probably an intermediate learning step towards more capable sensors currently being developed and deployed.

I am not convinced it is good enough for a complete geometric mapping solution in a more general environment... its range in many conditions is probably much less than 4m and the pixel resolution is low.

But, pehaps there is an intermediate set of conditions it could cope with.

Could it distinguish enough data to recognise its location in a 'familiar' area? ... I don't know. Maybe a machine learning/artificial approach?

Best wishes, Dave


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1721
 

Hi Ron @zander

   I was aware that in principle narrow band filters can be constructed ... but I have no idea about availability and cost. Such devices tend to be special products, but it is possible this would be a 'commodity' product because of the market potential.

In addition, I don't know how much it would attenuate the in-band signal.

Best wishes, Dave


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2043
 

@davee 

Could it distinguish enough data to recognise its location in a 'familiar' area? ... I don't know.

Well that is up to @inq who has the sensor to experiment with.

I can think of experiments I would do with it.

Maybe it can recognize simple features like the corner of a box (convex) or the corner of a room (concave). Or a flat area like a wall with openings and endings or where wall meets floor and so on. This can all be determined by pointing the sensor at various shapes at various distances. It probably needs to limit its data to a close range of values discarding anything beyond say 3m as "unknown". Probably using at least three sensors might be useful (as they do with sonar). One looking ahead and two looking sideways. The one looking sideways for example could wall follow and collect shape data on the way while listing the features spatial relationships. The one at the front might hit the end of the passage and trigger the robot to turn around and scan the other side at the same distance if the passage was wider than 8m. And so on ...

Like I wrote before, I would encourage @inq to keep experimenting now he has the sensor to see what he can do with it.  Often trying ideas out leads to more ideas to try out.

To enlarge image, right click image and choose Open link in new window.

frames

   
DaveE reacted
ReplyQuote
Page 6 / 17