Robotics / ROS 22026
AutoCar SLAM
A self-mapping robot car — ROS 2, RPLIDAR, and live floor plans over Wi-Fi
- ROS 2 Jazzy
- Python 3
- micro-ROS
- RPLIDAR A1
- Raspberry Pi 5
- ESP32
- L298N
- Foxglove
- Ubuntu 24.04
A robot car that drives itself around a room and builds a floor plan while it goes. An ESP32 handles motors and encoder counting, a Raspberry Pi 5 runs the LiDAR, odometry and SLAM stack under ROS 2 Jazzy, and a laptop watches the map build in real time through Foxglove Studio over Wi-Fi.

- 01
Split-brain architecture
The ESP32 does only what needs hard real-time — PWM and encoder ticks — and bridges into ROS 2 through micro-ROS. Everything with a compute budget lives on the Pi 5, so the motor loop never competes with scan matching.
- 02
Encoder odometry from first principles
Wheel position is integrated from 20-slot encoder ticks calibrated at 10.2 mm per tick, then fused with RPLIDAR A1 scans at 10 Hz to close loops and correct drift.
- 03
Live remote visualization
Map, scan point cloud and odometry stream to Foxglove Studio on a client machine over Wi-Fi, so you watch the floor plan assemble as the car drives rather than after the fact.
- 04
Teleop and autonomous modes
WASD keyboard teleop with tunable speed for careful mapping runs, plus an autonomous obstacle-avoidance mode. Finished maps persist as PGM images with YAML metadata.
- 05
Honest hardware limits, documented
Motor deadband near 20% duty, single-channel encoders that infer direction rather than measure it, and a battery that sags when motors and LiDAR draw together — all characterized in HARDWARE.md rather than hidden.


