ROS101

RPLIDAR A1 vs A2: Which One Should You Buy for a Budget SLAM Robot?

Andy ChenAndy Chen·Verified · v1

The Short Answer

For a budget SLAM robot under $500 total, the RPLIDAR A1 is still the right default in 2026: ~12m range, 360° 2D scan, ~$99, and first-class support in both slam_toolbox and Cartographer on ROS2. Only step up to the A2/A3 if you specifically need >12m range or a higher scan rate for a fast-moving robot.

Why This Matters

LIDAR choice is the single biggest line item that determines whether a hobby SLAM build works reliably or fights you the whole way. Range, scan rate, and angular resolution all trade off against price, and the wrong choice shows up as map drift or dropped scans that are hard to diagnose after the fact — they look like a SLAM algorithm problem when they're actually a sensor spec problem.

Step-by-Step

1. Check your actual room/arena size first

If every room you'll map is under 10m across, the A1's 12m range has margin. If you're mapping a warehouse aisle or outdoor space, you need the A2 (18m) or A3 (25m, and a much faster 10Hz scan rate) instead — this decision has to come before anything else.

2. Match scan rate to robot speed

The A1 scans at ~5.5Hz by default (462 samples per scan at that rate). For a robot moving faster than ~0.5 m/s, that scan rate starts to smear the map at direction changes. The A2/A3's higher scan rates matter more for fast robots than raw range does.

3. Wire it up on ROS2 Jazzy

sudo apt install ros-jazzy-rplidar-ros
ros2 launch rplidar_ros rplidar_a1_launch.py serial_port:=/dev/ttyUSB0

Confirm scans are publishing before touching SLAM config:

ros2 topic hz /scan

4. Feed it into slam_toolbox

slam_toolbox's default parameters are tuned for exactly this sensor class (12m range, ~5Hz). If you're using the A3 instead, raise max_laser_range in your slam_toolbox params file to match — leaving it at the A1 default silently throws away the A3's extra range.

Common Errors & Fixes

Error Cause Fix Verified on
Map has "ghost" walls beyond ~12m max_laser_range left at A1 default while using A2/A3 Set max_laser_range to match your actual sensor RPLIDAR A2, slam_toolbox, ROS2 Jazzy, July 2026
Scan topic silent, no error Wrong serial port or missing udev rule Check ls /dev/ttyUSB* and add a udev rule for a stable device name RPLIDAR A1, ROS2 Jazzy, July 2026
Map smears at corners when turning fast Scan rate too low for robot's angular velocity Slow down turns or upgrade to A3's faster scan rate RPLIDAR A1, ROS2 Jazzy, July 2026

Summary

  • RPLIDAR A1 is still the right default for budget indoor SLAM in 2026.
  • Match max_laser_range in your SLAM config to your actual sensor, not the default.
  • Scan rate matters more than range once your robot moves faster than walking speed.