cancel
Showing results for 
Search instead for 
Did you mean: 

Could you explain the working principle of motion indicator on VL53L5CX?

DWang.7
Associate III

Hi, because there is almost no information about Motion Indicator from the existing docus, could you pls explain how does it work. And what does it aim to be used?

Thanks,

Best regards,

Wayne

2 REPLIES 2
John E KVAM
ST Employee

The motion function was added to the L5 kind of late due to a customer request. And no, it is not well understood. So I'll try to give you some insight. The L5 works by collecting a histogram where each bin of the histogram is a count of the number of photons gathered during a given clock cycle. From these histograms we determine the range information. Each histogram bin is about 4cm worth of distance.

(Light travels about 4cm out and back during each clock cycle.)

To detect motion the system simply compares the histogram during each range and if the difference is great enough, 'motion' is declared.

To do this we needed memory to store the prior histogram. And it's this memory limit that determines the 1500 delta between the beginning and the end.

The histogram is just too big to store it all.

To be honest we only focused on people moving in front of the sensor. And we chose defaults that made that satisfied that one application.

We released the feature thinking that someone might make more use of it.

So I'm not exactly sure what happens in other cases.

I'm not convinced that the default settings mean what the documentation says it does. It looks to me like 400 is the minimum - corresponding to distance zero.

And the 1500 is the memory limit.

My guess is that if you want to detect motion, choose 400 to start, and if you only want near motion, lower the upper parameter. It looks like someone made an attempt to make these numbers into mm, but the signature of an object is quite a number of histograms bins wide, so choosing an upper limit is going to be tricky.

If you want to be less sensitive to motion at far distances, lower that upper number until you are satisfied.

There is also a threshold in the code. It determines how much difference in the histograms there is before 'motion' is declared. I think the default is 44*64K.

So in general terms, Leave the 400 alone. Adjust the upper parameter and the threshold to adjust distance and sensitivity.

I'll keep playing with it to see if I have anymore insight.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.
DWang.7
Associate III

Dear John,

thank you for the detailed explanation. I will also keep trying this plugin and look forward to your new insight.

Best regards,

Wayne