cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L5CX Multi-Zone Sensor get x,y,z of points relative to origin?

VBhat.1
Associate III

Hi, I was trying to create a small 8x8 / 4x4 point cloud using a VL53L5CX sensor, and I can get the depth data for each zone, but I was wondering if there was a way to get x,y,z from this information? Like if there was a way to know the vertical and horizontal angle for every zone on the VL53L5CX and then calculate the x,y,z location of the points using that and the depth data.

Any help would be appreciated!

15 REPLIES 15
Thank you.
This email contains confidential information. If you have received it in error, you must not read, use, copy or pass on this e-mail or its attachments.
If you have received the e-mail in error, please inform me immediately by reply e-mail and then delete this e-mail from your system. Thank you
Diese E-Mail enthaelt vertrauliche Informationen. Sollten Sie sie irrtuemlich erhalten haben, duerfen Sie diese E-Mail oder ihre Anhaenge nicht lesen, verwenden, kopieren oder weitergeben.
Sollten Sie die Mail versehentlich erhalten haben, teilen Sie mir dies bitte umgehend per Antwort-E-Mail mit und loeschen Sie diese E-Mail dann aus Ihrem System. Vielen Dank

Hi John,

Where can I find the code for VL53L5_Plane_Algo.h and its associated C files? I'd like to play around with the Plane_Detection8x8 functionality. Or if there's a better plane detection algorithm that's fine too. (we have an NDA).

Thank you

I know it's been a while, but can I know how the values for Pitch and Yaw arrays were obtained? Thank You

Hello !

I also try to get XYZ coordonates of each pixel of the VL53L5CX (with the 4x4 Matrix) but I don't understand how the Pitch and Raw values were obtained.
Thank you !

John E KVAM
ST Employee

Have a look at the two arrays. And let us consider pitch first. 

The exact center of the part is actually a dot in the center of the matrix. (Right between the zones of:

135,45

225, 315

we are using a cylindric coordinate system. So the 0 angle is to the west, 90 degrees North, 180 East and 270 is South. 

Notice the 45's are at the one up, one over, two up and two over etc.

But you need another angle. You need to know how far off straight ahead your target is. And that's the Yaw. 

If you are very near straight ahead, the angles are small (4.5) and they get larger as you get toward the 45. 

(The sensor is 43 degrees or so in field of video, but we are pointing to the center of the zone - not the edge. )

The result of the function call is an (X,Y,Z) point in the Cartesian coordinate system. 

So if you had an object straight ahead and 1M away, it's pitch would be anything, the yaw would be 0 and the distance from the sensor would be 1M. In the XYZ coordinate system it would be (0,0,1)

- john


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'

Thank you.
I understand the idea. Just for the ones who would do it with the 4x4 configuration, there are the two matrix pitch and yaw :

const double Pitch_4x4[16] = {
    66.67,  73.25,  73.25,  66.67,
	73.25,  80.24,  80.24,  73.25,
	73.25,  80.24,  80.24,  73.25,
	66.67,  73.25,  73.25,  66.67
};

const double Yaw_4x4[16] = {                        
    135.00, 108.40, 71.60, 45.00,     				
    161.60, 135.00, 45.00, 18.40,                
    198.40, 225.00, 315.00, 341.60,				
    225.00, 251.60, 288.40, 315.00				
};

 
This method doesn't work so well to calculate the normal vector of the plan seen by the sensor.
Thank you for your answer !