finds.dev← search

// the find

dottantgal/ROS2_learning

★ 504 · Python · updated Dec 2025

A useful collection of CPP and PYTHON examples to learn ROS2 from zero

A structured ROS 2 learning repo covering all the core primitives — nodes, topics, services, actions, parameters, TF2, plugins — with every example implemented in both C++ (rclcpp) and Python (rclpy). Targets ROS 2 Jazzy on Ubuntu 24.04. Aimed squarely at people who just installed ROS 2 and need working reference code to read alongside the docs.

1. The C++/Python parity is genuinely useful — you can open both implementations side by side and see exactly where the APIs diverge, which is something the official docs make you piece together yourself. 2. The progression is sensible: simple nodes → pub/sub → services → actions → plugins/TF2, so you're not dropped into the deep end. 3. Docker setup with helper scripts means someone on Windows or macOS can actually run this without fighting a native ROS install. 4. The pluginlib example with a real abstract base class and concrete implementations is one of the better explanations of that pattern in any learning repo — most tutorials skip it entirely.

1. No license declared — the README literally says 'TODO: License declaration'. You can't use this code in any serious project without legal ambiguity. 2. Compiled Python bytecode (`.pyc` files) checked into the repo is sloppy hygiene and suggests the .gitignore isn't properly configured. 3. No testing whatsoever — not even a single `pytest` or `ament_cmake_gtest` test. For a learning repo, this is a missed opportunity to show how ROS 2 testing actually works. 4. Coverage stops at Jazzy-era basics; nothing on lifecycle nodes, component containers, or `ros2_control`, which are the things you hit almost immediately when building anything real.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →