How to transform the rotation around Z axis in Lidar to Y axis in Camera frame?

asked 2021-01-24 05:34:33 -0500

Suri gravatar image

updated 2021-01-24 06:21:25 -0500

gvdhoorn gravatar image

Hey all,

I need to label the lidar point cloud for object detection according to kitti data set labelling. But kitti labels are in camera co-odinate frame. I am getting the rotation around Z axis in lidar frame(assume pitch and roll are 0). Now I need to convert the rot_z_lid into rot_y_cam?

I have the transformation matrix between lidar_to_camera, see below:

MATRIX_T_VELO_2_CAM = ([
        [7.49916597e-03, -9.99971248e-01, -8.65110297e-04, -6.71807577e-03],
        [1.18652889e-02, 9.54520517e-04, -9.99910318e-01, -7.33152811e-02],
        [9.99882833e-01, 7.49141178e-03, 1.18719929e-02, -2.78557062e-01],
        [0, 0, 0, 1]
    ])

How can I do this transformation?

When I look into other codes, they are just using a simple formula: rot_y = -rot_z - 3.14/2.

But I don't think this is the right way of transformation!

Could anyone help me with this?

Thanks in advance

edit retag flag offensive close merge delete

Comments

Have you tried using the static tf publisher? You can run a simple one from a roslaunch file.

seandburke99 gravatar image seandburke99  ( 2021-01-25 11:25:40 -0500 )edit

@seandburke99 will try

Suri gravatar image Suri  ( 2021-01-25 11:51:35 -0500 )edit