velo2cam_calibration icon indicating copy to clipboard operation
velo2cam_calibration copied to clipboard

Confused about correct rigid transformation result

Open Nasrudin78 opened this issue 2 years ago • 1 comments

Hi, I have a dummy question regarding the final rigid transformation, in my case between a monocular camera sensor and a lidar hdl32. I see in your code that when you print the final rigid transformation is in format : xt, yt, zt, roll, pitch, yaw in registration.csv. But in the. tf file you swap the order being: xt, yt, zt, yaw, pitch, roll. What's the reason of doing that? Which one is the correct to get the matrix that goes from lidar coordinate system to camera coordinate system? Could you provide some visual example? Let's supose that I have all coordinate systems for both camera and lidar with x-axis pointing forward, y-axis pointing left and z-axis up. Mathematically what is the matrix in homogenous that is responsible of relating these two sensors?

For my case, I'm doing:

Velo2cam= getRotation(yaw, pitch, roll, order='XYZ' ) | T(xt, yt, zt)

And then : Camera Point = Velo2cam_in_hom @ Lidar_point

But, I don't know why I have to reverse roll by yaw in the formula. Thanks

Nasrudin78 avatar Jan 21 '23 07:01 Nasrudin78