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.
pcl-fusion-teaser-video.mp4
-
Launch the
demo/docker-compose.ymlsetup. 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
-
The
ros-parameter-guiservice startsrqtwith therqt_reconfigureplugin. You may use it to inspect and adjust the parameters of thepoint_cloud_fusionnode while the demo is active. -
Stop the demo with
Ctrl+C, remove its containers, and revoke GUI access:docker compose down xhost -local:
- Clone the repository.
git clone https://github.com/openads-project/point_cloud_fusion.git
- Initialize the
.openads-dev-environmentsubmodule containing development environment configuration.cd point_cloud_fusion git submodule update --init --recursive - Open the repository in Visual Studio Code.
code . - Install the recommended VS Code extensions.
Ctrl+Shift+P / Extensions: Show Recommended Extensions / Install Workspace Recommended Extensions (Cloud Download Icon)
- Reopen the repository in a Dev Container.
Ctrl+Shift+P / Dev Containers: Rebuild and Reopen in Container
Ctrl+Shift+B
colcon buildCtrl+Shift+P / Tasks: Run Test Task
colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=1
colcon test
colcon test-result --verbosePackage 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. |
The source code in this repository is licensed under Apache-2.0, see LICENSE. Container images provided by this repository may contain third-party software shipped with their own license terms.
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.
