Robotics

Open-source ROS2 project turns cheap 2D LiDAR into 3D scanner

Two servos, one LiDAR, and no vendor SDK needed for full 3D scans.

Deep Dive

A new open-source ROS2 project from developer aa2mz turns a humble 2D LiDAR into a full 3D scanning module—no vendor SDK required. Dubbed pan_tilt_lidar, the subsystem pairs two Feetech STS3215 serial-bus servos with an LDROBOT LD19 LiDAR on a 2-DOF pan/tilt platform. A dedicated ROS2 node sweeps the platform while an assembler stacks individual 2D scans into a standard sensor_msgs/PointCloud2, using the live TF tree for accurate spatial alignment. The upstream ldlidar_stl_ros2 driver is patched to compile on recent GCC/glibc, and the project implements the Feetech half-duplex protocol over pyserial—including handling the URT-1 adapter's TX echo, a notorious time sink.

The system supports both pure ROS2 topics and an optional MQTT bridge for external control, allowing a rover or tablet to trigger scans and receive completion handshakes. The assembler is driver-agnostic, consuming any sensor_msgs/LaserScan on /scan, making it compatible with other 2D LiDARs. Currently running on an RK3588, the project is designed for headless operation on a Raspberry Pi 5. This is the first open-source release from a larger autonomous rover effort, licensed under GPL-3.0. The developer invites feedback, especially on multi-LiDAR and TF-timing synchronization—the trickiest part to get right.

Key Points
  • Uses two Feetech STS3215 serial-bus servos for pan/tilt motion with LD19 2D LiDAR.
  • Patches the upstream ldlidar_stl_ros2 driver to compile on modern GCC/glibc.
  • Includes optional MQTT bridge for external control and supports headless Pi 5 operation.

Why It Matters

Low-cost 3D scanning for ROS2 robots becomes accessible with off-the-shelf hardware and open-source code.

📬 Get the top 10 AI stories daily