I did not set out to build a better robot vacuum. There are already good ones on the market, and competing with iRobot or Roborock on a hobbyist budget is a losing game. What I actually wanted was a realistic, physically grounded platform to force myself through the full mobile robotics stack: URDF modeling, sensor fusion, SLAM, Nav2, ros2_control, and eventually sim-to-real transfer of learned navigation policies. A vacuum form factor turned out to be a convenient excuse to build that platform.
This post documents where the project currently stands: the mechanical starting point, the ROS 2 architecture, the simulation setup in Gazebo Harmonic, the decisions I made and why, and the failures that shaped those decisions. This is not a tutorial. It is a log of an ongoing system, written the way I'd want to read about someone else's project before starting my own.
Why a Vacuum Form Factor
Designing a mobile robot chassis from a blank sheet is a rabbit hole. Wheel placement, center of mass, caster geometry, motor mounting, all of it consumes weeks before you've written a single line of navigation code. I wanted to spend my time on the software stack, not on reinventing a differential drive chassis that thousands of engineers have already solved well.






