Extrinsic Calibration of a Camera and 2d Laser
mkdir -p calibra_ws/src
cd calibra_ws/src
git clone https://github.com/MegviiRobot/CamLaserCalibraTool
cd ..
catkin_make
As Fig show, we use an apriltag marker as a calibration board. These 2d laser scan points should on the calibration planar. After computing the marker pose
Prepare a calibration plate as follow figure shown. Then place the calibration plate in front of the camera and laser, and the laser scan should fall on the calibration plate. Record all image and laser data with rosbag. Constantly adjust the plate pose, each time you change the pose, please keep still for more than 2 seconds, collect data with about 10 different pose (of course, the more the better).
Run the following code to get the marker pose:
source calibra_ws/devel/setup.bash
roslaunch apriltags_ros example.launch
rosbag play your_bag.bag
roslaunch lClibra example.launch
After running the code, the tool will automatically detect each moment that camera do not move. Once detected, the laser data will be drawn into an image. You can select the lasers that just fall on the calibration board from the image. Notice: Don't choose points that is not on the plane. Then press any key to continue, as shown below:
A python visualization tool is prepared in the folder config_and_tool, which will plot the point cloud data and plane at each static moment. You can check whether the laser data falls on the plane to evaluate the result. The figure below shows the laser point cloud and the plane of the calibration plate at a certain moment.
- Yijia He, you can find the chinese version in his homepage, if you have any question, please contact heyijia at megvii dot com
- XiZhen Xiao
- Xiao Liu, his homepage
2004, Qilong Zhang, Extrinsic Calibration of a Camera and Laser Range Finder (improves camera calibration).