Giter VIP home page Giter VIP logo

velo2cam_calibration's Introduction

velo2cam_calibration Build Status

The velo2cam_calibration software implements an Automatic Calibration algorithm for Lidar-Stereo camera setups [1]. This software is provided as a ROS package.

Package developed at Intelligent Systems Laboratory, Universidad Carlos III de Madrid.

gazebo screenshot

Nodes

stereo_pattern

Subscribed Topics

cloud2 (sensor_msgs/PointCloud2)

    Stereo camera point cloud containing points belonging to edges in the left image

cam_plane_coeffs (pcl_msgs::ModelCoefficients)

    Coefficients of the calibration target plane model

Published Topics

/stereo_pattern/centers_cloud (velo2cam_calibration::ClusterCentroids)

    Target circles centers obtained from stereo camera data

laser_pattern

Subscribed Topics

cloud1 (sensor_msgs/PointCloud2)

    LIDAR pointcloud

Published Topics

/laser_pattern/centers_cloud (velo2cam_calibration::ClusterCentroids)

    Target circles centers obtained from LIDAR data

velo2cam_calibration

Subscribed Topics

~cloud1 (velo2cam_calibration::ClusterCentroids)

    Target circles centers obtained from LIDAR data

~cloud2 (velo2cam_calibration::ClusterCentroids)

    Target circles centers obtained from stereo camera data

~cloud3 (sensor_msgs/PointCloud2)

    Original LIDAR pointcloud

Published Topics

TF containing the transformation between both sensors (see TF info in ROS Wiki)

The node broadcasts the TF transformation between velodyne and stereo frames. The fixed transformation between stereo_camera and stereo is published by a static broadcaster in stereo_pattern.launch. The picture below shows the three coordinate frames:

gazebo screenshot

Note: Additionally, a .launch file called calibrated_tf.launch containing the proper TF broadcasters is created in the /launch folder of the velo2cam_calibration package so you can use the calibration just executing:

roslaunch velo2cam_calibration calibrated_tf.launch

Parameters

As described in the paper, different parameters can be selected. The ones that you will usually need are set in the launch files. For convenience, two sets of launch files are provided, with different parameters intended for the Gazebo environment, on the one hand, or the real wood pattern, on the other hand. The latter have real_ as a prefix.

Usage

Some sample .launch files are provided in this package. The simplest way to launch the algorithm is by running the three main ROS nodes as follows:

roslaunch velo2cam_calibration laser_pattern.launch

roslaunch velo2cam_calibration stereo_pattern.launch

roslaunch velo2cam_calibration velo2cam_calibration.launch

We also provide a launch file containing the three launch files above:

roslaunch velo2cam_calibration full_calibration.launch

In order to test the algorithm, you can download an example .bag file here.

Note: The .bag file above was generated using a simulator environment in Gazebo which is provided here. We use the simulator in order to test the algorithm with a proper ground truth.

Calibration target details

The following scheme shows the real size of the calibration target used by this algorithm. Measurements are given in centimeters (cm).

gazebo screenshot

Note: Other size may be used for convenience. If so, please configure nodes parameters accordingly.

Citation

[1] Guindel, C., Beltrán, J., Martín, D. and García, F. (2017). Automatic Extrinsic Calibration for Lidar-Stereo Vehicle Sensor Setups. IEEE International Conference on Intelligent Transportation Systems (ITSC), 674–679.

Pre-print available here.

velo2cam_calibration's People

Contributors

beltransen avatar cguindel avatar

Watchers

James Cloos 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.