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.

ros2_camera_lidar_fusion package from ros2_camera_lidar_fusion repo

ros2_camera_lidar_fusion

Package Summary

Tags No category tags.
Version 0.0.0
License BSD 3
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROS2 Package to calculate the intrinsic and extrinsic camera calibration. Adding an easy way to fuse camera and lidars
Checkout URI https://github.com/cdonosok/ros2_camera_lidar_fusion.git
VCS Type git
VCS Version main
Last Updated 2025-01-15
Dev Status UNKNOWN
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

TODO: Package description

Additional Links

No additional links.

Maintainers

  • Clemente Donoso Krauss

Authors

No additional authors.

ROS2 Camera-LiDAR Fusion

License ROS2 Version

A ROS2 package for calculating intrinsic and extrinsic calibration between camera and LiDAR sensors. This repository provides an intuitive workflow to fuse data from these sensors, enabling precise projection of LiDAR points into the camera frame and offering an efficient approach to sensor fusion.

Visual Overview

| Static Sensors | Moving Sensors | |———————|——————–| | Static Sensors | Moving Sensors |

Support 💖

If you find this project helpful and want to support its ongoing development, you can buy me a coffee! Every contribution helps me dedicate more time to improving and maintaining open-source software.

Buy Me a Coffee


Table of Contents

  1. Get Started
  2. Usage
  3. License

Get Started

Prerequisites

To run this package, ensure the following dependencies are installed:

  • Git: For version control and repository management.
  • Docker: To streamline the environment setup and execution.
  • NVIDIA Container Toolkit (if using an NVIDIA GPU): For hardware acceleration.

Installation

Clone the Repository

Start by cloning the repository:

git clone git@github.com:CDonosoK/ros2_camera_lidar_fusion.git

Build Using Docker

This repository includes a pre-configured Docker setup for easy deployment. To build the Docker image:

  1. Navigate to the docker directory:
   cd ros2_camera_lidar_fusion/docker
   
  1. Run the build script:
   sh build.sh
   

This will create a Docker image named ros2_camera_lidar_fusion.

Run the Docker Container

Once built, launch the container using:

sh run.sh


Usage

Node Overview

This package includes the following ROS2 nodes for camera and LiDAR calibration:

Node Name Description Output
get_intrinsic_camera_calibration.py Computes the intrinsic calibration of the camera. Camera intrinsic calibration file.
save_sensor_data.py Records synchronized data from camera and LiDAR sensors. Sensor data file.
extract_points.py Allows manual selection of corresponding points between camera and LiDAR. Corresponding points file.
get_extrinsic_camera_calibration.py Computes the extrinsic calibration between camera and LiDAR sensors. Extrinsic calibration file.
lidar_camera_projection.py Projects LiDAR points into the camera frame using intrinsic and extrinsic calibration parameters. Visualization of projected points.

Workflow

Follow these steps to perform calibration and data fusion:

  1. Intrinsic Calibration
    Run get_intrinsic_camera_calibration.py to generate the intrinsic calibration file for the camera.

  2. Data Recording
    Use save_sensor_data.py to capture and save synchronized data from the camera and LiDAR.

  3. Point Correspondence
    Execute extract_points.py to manually select corresponding points between camera and LiDAR.

  4. Extrinsic Calibration
    Run get_extrinsic_camera_calibration.py to compute the transformation matrix between camera and LiDAR.

  5. LiDAR Projection
    Use lidar_camera_projection.py to project LiDAR points into the camera frame for visualization and analysis.

Running Nodes

To execute a specific node, use the following command:

ros2 run ros2_camera_lidar_fusion <node_name>

For example:

ros2 run ros2_camera_lidar_fusion lidar_camera_projection.py


Maintainer

This package is maintained by:

Clemente Donoso
Email: clemente.donosok@gmail.com GitHub: CDonosoK


License

This project is licensed under the MIT. See the LICENSE file for details.


Contributions and feedback are welcome! If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.

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 ros2_camera_lidar_fusion 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.