No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

lidar_camera_calib package from lidar_camera_calib repo

lidar_camera_calib

Package Summary

Tags No category tags.
Version 1.0.0
License TODO
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simi-asher/lidar_camera_calib.git
VCS Type git
VCS Version main
Last Updated 2023-01-03
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The lidar_camera_calib package

Additional Links

No additional links.

Maintainers

  • vpatil

Authors

No additional authors.

lidar_camera_calib

lidar_camera_calib is a tool that extends Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera in Targetless Environments to spinning LiDARs (e.g. Velodyne, Ouster).

The original tool is a robust, high accuracy extrinsic calibration tool LiDAR-camera calibration in a targetless environment. The algorithm can run in both indoor and outdoor settings, and only requires edge information in the scene. If the scene is suitable, we can achieve pixel-level accuracy similar to or even beyond the target based method.

<img src="pics/color_cloud.png" width = 100% > <font color=#a0a0a0 size=2>An example of a outdoor calibration scenario. We color the point cloud with the calibrated extrinsic and compare with actual image. A and C are locally enlarged views of the point cloud. B and D are parts of the camera image corresponding to point cloud in A and C.</font>

Key features:

  1. Extends an automatic targetless extrinsic calibration tool for LiDAR-Camera Calibration to spinning LiDARs as well. It has been tested in both indoor and outdoor environments and algorithm is able to converge and have good accuracy.
  2. Supports ROS2 (has been tested with ROS2 Humble).

Results:

Indoor results:

<img src="pics/result1.png" width = 100% > <font color=#a0a0a0 size=2>Coloured pointcloud after calibration of a portion of a corridor of the Field Robotics Center </font>
<img src="pics/result2.png" width = 100% > <font color=#a0a0a0 size=2>Coloured pointcloud after calibration of a closed hallway </font>

Outdoor results:

<img src="pics/outdoor-img1.png" width = 100% > <img src="pics/outdoor-result1.png" width = 100% > <font color=#a0a0a0 size=2>Coloured pointcloud after calibration outside Newell-Simon Hall </font>

1. Prerequisites

1.1 Ubuntu and ROS2

Ubuntu 64-bit 22.04. ROS2 Humble and additional ROS package:

    sudo apt-get install ros-XXX-cv-bridge ros-xxx-pcl-conversions

    rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro humble -y

1.2 Eigen

Follow Eigen Installation

1.3 Ceres Solver

Follow Ceres Installation.

1.4 PCL

Follow PCL Installation. (Our code is tested with PCL1.12)

2. Usage:

  1. Record a ROS2 bag file while moving the LiDAR-camera setup. During our testing, we tried both lateral translation and pitching motion and both yielded good convergence, although pitching will give you a denser pointcloud.
  2. Clone, build and run lidarslam_ros2 on this bag file and generate a PCD file. You can apply this patch to run with our example bag files.
  3. Extract the first image from the recorded camera data in this bag file and save it. You can use the given extract_image_from_bag.py script for this.
  4. Modify the calib.yaml, change the data path to your local data path and provide the instrinsic matrix and distor coeffs for your camera. Run the package as
    ros2 launch lidar_camera_calib calib.launch.py

3. Example data

You can find ROS2 bags and PCD and image files that we have collected here

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_camera_calib at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.