Giter Club home page Giter Club logo

camlasercalibratool's Introduction

CamLaserCalibraTool

Extrinsic Calibration of a Camera and 2d Laser

code build and compile:

mkdir -p calibra_ws/src

cd calibra_ws/src

git clone https://github.com/MegviiRobot/CamLaserCalibraTool

cd ..

catkin_make

Calibration Method

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 $T_{cm}$ in the camera frame by solvePnp, we can get the planar equation in the camera frame. Then using these points on the planar to constraint the extrinsic $T_{cl}$. calibra_method

Calibration Step

1. Data Collection

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). calibra_board

2. Prepare config.yaml parameters

3. Save Marker Pose

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

4. Run Calibration

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: select_data

5. Calibration Evaluation

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.

evaluation

Authors

  1. Yijia He, you can find the chinese version in his homepage, if you have any question, please contact heyijia at megvii dot com
  2. XiZhen Xiao
  3. Xiao Liu, his homepage

Ref:

2004, Qilong Zhang, Extrinsic Calibration of a Camera and Laser Range Finder (improves camera calibration).

camlasercalibratool's People

Contributors

heyijia avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.