point_cloud_fusion v1.4.0
Loading...
Searching...
No Matches


ROS 2 Point Cloud Fusion of Multiple Point Clouds into a Single Point Cloud

This repository provides a ROS 2 point cloud fusion node. The node subscribes to multiple sensor_msgs/msg/PointCloud2 streams, transforms them into a common target frame, and publishes one fused point cloud through point_cloud_transport.

The package supports CPU processing and optional CUDA accelerated fusion.

🚀 Quick Start💻 Development📝 Documentation

Important
This repository is part of OpenADS, the Open Automated Driving Systems project. OpenADS and its modules have been initiated and are currently being maintained by the Institute for Automotive Engineering (ika) at RWTH Aachen University.

🚀 Quick Start

<video src="https://github.com/user-attachments/assets/daf07a07-49e4-43dc-865d-07045a581769" width="720" style="max-width: 100%;"> </video>

  1. Launch the demo/docker-compose.yml setup. This starts point cloud playback, point cloud fusion, RViz, and the runtime parameter GUI:

    cd demo
    xhost +local: # allow GUI forwarding from containers
    docker compose up
  2. The ros-parameter-gui service starts rqt with the rqt_reconfigure plugin. You may use it to inspect and adjust the parameters of the point_cloud_fusion node while the demo is active.
  3. Stop the demo with Ctrl+C, remove its containers, and revoke GUI access:

    docker compose down
    xhost -local:

💻 Development

Set up Development Environment

  1. Clone the repository.
    git clone https://github.com/openads-project/point_cloud_fusion.git
  1. Initialize the .openads-dev-environment submodule containing development environment configuration.
    cd point_cloud_fusion
    git submodule update --init --recursive
  1. Open the repository in Visual Studio Code.
    code .
  1. Install the recommended VS Code extensions.

    Ctrl+Shift+P / Extensions: Show Recommended Extensions / Install Workspace Recommended Extensions (Cloud Download Icon)

  1. Reopen the repository in a Dev Container. Ctrl+Shift+P / Dev Containers: Rebuild and Reopen in Container

Build

Ctrl+Shift+B

colcon build

Run Tests

Ctrl+Shift+P / Tasks: Run Test Task

colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1
colcon test
colcon test-result --verbose

📝 Documentation

Package and node interfaces are documented in the respective package READMEs listed below. Implementation details are found in the Source Code Documentation.

Package Description
point_cloud_fusion Fuses multiple point clouds into a single point cloud with common target frame.

⚖️ Licensing

The source code in this repository is licensed under Apache-2.0, see [LICENSE](LICENSE). Container images provided by this repository may contain third-party software shipped with their own license terms.

🙏 Acknowledgements

Development and maintenance of this repository are supported by the following projects. We acknowledge the funding of the respective institutions.

Project Funding Institution Grant Number
AIGGREGATE 🇪🇺 European Union 101202457

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Climate, Infrastructure and Environment Executive Agency (CINEA). Neither the European Union nor CINEA can be held responsible for them.