2D Scan Merger (scan_2d_merger)
- Software
- Perception
- Tool
A ROS2 composable node that merges any number of 2D LiDAR scans into one LaserScan, using approximate-time synchronization and parallel ray projection.
Source on GitHub: github.com/ali-pahlevani/2D_Scan_Merger_ROS2 (opens in a new tab). Facts read at commit 9d670ad (opens in a new tab).
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit 9d670ad (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Subscribes to any number of LaserScan topics and synchronises them by timestamp within a configurable window.
- Transforms each scan into a shared reference frame with TF2 and projects all rays into common angular bins.
- Keeps the closest reading per angular bin, so overlapping fields of view are combined by minimum range.
- Uses a persistent thread pool with barriers to project multiple scans in parallel.
- Offers height filtering, range filtering, per-topic QoS, and optional intensity output.
- Can be run inside a component container or as a standalone process, with a demo launch and integration tests.
Written by Robotheca from the project's README (opens in a new tab) at commit 9d670ad.
Getting started
- Difficulty
- Beginner
- Hardware it needs, as the project states it
- ROS2 Humble or newer with a C++20-capable compiler (GCC 11+ on Ubuntu 22.04, GCC 13+ on Ubuntu 24.04) and a TF tree linking each scanner frame to the merged frame.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 23 Jul 2026 on main
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.