Robotics

Scan Detection Fusion fuses LiDAR and camera for ROS 2 Jazzy

A high school student's library gives robots distance-aware object detection for Nav2.

Deep Dive

A high school student has released scan_detection_fusion, a reusable ROS 2 library for the Jazzy distribution that fuses 2D LiDAR scans with camera object detections to produce range-resolved, semantically labeled obstacles and class-aware ground footprints for navigation. The package solves a fundamental limitation in robotics perception: monocular cameras know what an object is but not its distance, while LiDAR knows precise distances but lacks semantic understanding. By matching each detection's bearing to LiDAR returns in that direction, the library estimates robust range and projects objects into the map frame.

The library goes beyond basic fusion with semantic zone routing, which directs LiDAR sampling to the vertical region where a given class actually intersects the scan plane, and class-aware footprint reconstruction that generates W×D ground polygons per obstacle. It subscribes to vision_msgs/Detection2DArray and sensor_msgs/LaserScan, publishes a JSON object registry, MarkerArray for RViz, and PolygonStamped for Nav2's obstacle layer. All topics and frames are parameterized, and the core algorithm lives in a ROS-free class with a 32-test pytest suite. The package originated from the SmartCane project, an AI-powered assistive device for visually impaired users.

Key Points
  • Fuses 2D LiDAR scans with camera detections to produce range-resolved, semantically labeled obstacles for Nav2's obstacle layer.
  • Includes semantic zone routing and class-aware footprint reconstruction for more accurate ground polygons.
  • Published by HexboxRC, a high school student, and available via apt install ros-jazzy-scan-detection-fusion.

Why It Matters

This open-source library bridges a key perception gap for ROS 2 robots, enabling safer navigation without expensive depth sensors.

📬 Get the top 10 AI stories daily