// the take
TurtleBot3 is ROBOTIS's official ROS2 package suite for their small differential-drive robot (Burger/Waffle/Waffle Pi) — bringup, description/URDF, SLAM via Cartographer, Nav2 integration, and teleop. It's for people who actually own or plan to buy the hardware, or who want a known-good reference stack for learning ROS2 navigation and SLAM rather than rolling their own.
Active multi-distro support (humble, jazzy, rolling) with per-distro param files instead of one brittle config; Docker setups per distro make the onboarding story less painful than the usual ROS dependency hell; the package split (bringup/description/node/cartographer/navigation2/example/teleop) mirrors real ROS2 conventions so it's a reasonable template to study; CI (ros-ci.yml, ros-lint.yml) actually runs lint and build checks rather than being decorative.
The README is just a wall of links to e-manual, YouTube, and sister repos — no actual usage instructions, build steps, or architecture overview live in the repo itself, so you're forced off-site before you can do anything; hard dependency on ROBOTIS hardware (Dynamixel servos, specific LIDAR drivers like hls_lfcd_lds) means the simulation story is split into a separate turtlebot3_simulations repo you also have to track and version-match; legacy branches (noetic, *-devel) sitting alongside active ones signal the usual ROS1-to-ROS2 migration debt that can bite if you clone the wrong branch; param files are duplicated per-robot-model per-distro (burger.yaml, waffle.yaml, waffle_pi.yaml × humble/jazzy) with no shared base config, which is exactly the kind of copy-paste that drifts out of sync over time.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →