ankitdhall / lidar_camera_calibration

ROS package to find a rigid-body transformation between a LiDAR and a camera for "LiDAR-Camera Calibration using 3D-3D Point correspondences"
http://arxiv.org/abs/1705.09785
GNU General Public License v3.0
1.47k stars 459 forks source link

3D points in lidar frame calculation correct? #107

Open narutojxl opened 4 years ago

narutojxl commented 4 years ago

Hi, when reading the code about calculating 3D points in lidar frame, defined in Corners.cpp, I am confused.The input param retval fo function getCorners(), has been transformed into camera frame with initial guessed transform matrix,

point_cloud = transform(point_cloud, config.initialTra[0], config.initialTra[1], config.initialTra[2], config.initialRot[0], config.initialRot[1], config.initialRot[2]);

But the author finally calculates 8 corners of two calibration board in lidar using point cloud in camera frame, as you will see in Corners.cpp, I have no idea about why?

When i did the calibration experiment, the result transform is wrong. I transform the above points into lidar frame with the initial TF, the rusult is close to actual TF. This calibration repo dependents on initial TF heavily, not very perfect. Any disscussion will be welcomed, appreciate for your time, thanks a lot!