acfr / cam_lidar_calibration

(ITSC 2021) Optimising the selection of samples for robust lidar camera calibration. This package estimates the calibration parameters from camera to lidar frame.
Apache License 2.0
436 stars 102 forks source link

Cannot catpture image using Manually crafted rosbag #29

Closed kakghiroshi closed 1 year ago

kakghiroshi commented 1 year ago

Hi! Thanks for your great work! I used your algorithm to calibrate lidar(VLP-16) and pinhole cameras before,and the results are satisfactory. Now I am using Robosense RS-Bpearl lidar and an external fisheye camera.The camera is well calibrated but can't not used under ROS,which means we can't get image topic and camera info topic using driver like usb_cam . We figured out how to make our devices meet the requirements to use this algorithm,here is what we do. 1、Using external algorithms to publish camera_info topics.(Adjust the correct parameters ) 2、Recorded different chessboard poses (camera_info and lidar_points recorded as rosbag ,image recorded as files(jpg) ). 3、Rename the image name as pose time-stamp respective. External algorithms are used to converted image to rosbag using the time stamp. 4、Merge the rosbag together,now we have a rosbag including image topic 、camera_info topic and lidar points topic. rqt_bag visualized: 企业微信截图_16758419221107

When we using this rosbag ,We meet these problems: 企业微信截图_16758279538151 As you can see,the chessboard is isolated properly,but the dimension is estimated wrong,I don't know if it is caused by lidar's internal distance estimation calibration. And every time I try to capture,the pcd can be saved while image can't. After pcd is saved, rviz no longer responds. That's weired :( Any suggestion would be appreciated!

LarryDong commented 1 year ago

Hi, have you solved this problem?

I tested this codes recently, and found that the code try to extract the lidar's chessboard by: 1) first extracting the begining/end point of each line, and 2) fit the four edges by RANSAC and 3) find corners of every two adjacent edges. So I guess it is not suitable for your lidar, because step 1) is just find the first and last point in each ring, which means your "circle-shape" scan cannot provide correct edge points.

Maybe you need to modify the codes when extracting the edges.

Hope it helps.

kakghiroshi commented 1 year ago

Hi,we do find that this code may no suitable for RS-Bpearl lidar,thus we will try other way. Anyway,thanks for your advices.