Skip to content

Write the lab's ROS 2 handbook - #1

Open
MarcoDotIO wants to merge 1 commit into
mainfrom
docs/revamp
Open

MarcoDotIO wants to merge 1 commit into
mainfrom
docs/revamp

Conversation

@MarcoDotIO

@MarcoDotIO MarcoDotIO commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Summary

Fills the empty repository with the lab's ROS 2 handbook. It covers:

  • what ROS 2 is;
  • every distribution from Foxy to Lyrical, plus Rolling;
  • installing natively or with ROSEnv;
  • a command cheatsheet and useful packages and nodes;
  • debugging practices;
  • how each lab robot connects to ROS 2;
  • external resources.

Written for new students and for coding agents.

What's in it

  • docs/01–09:
    • concepts, with diagrams;
    • distributions: dates, platforms and which one to pick;
    • native install, one section per distro;
    • ROSEnv;
    • the cheatsheet, with the differences between distros;
    • packages and nodes;
    • a symptom → cause → fix debugging guide;
    • the lab's robots;
    • resources.
  • examples/hello_ws/: a talker, a listener, a parameter, a launch file and pytest tests, plus a rosenv.toml.
  • AGENTS.md: the repo map, sources, the Docker images used for verification, and open items. CLAUDE.md imports it.
  • Also: docs CI, the brand header and social preview. (main holds the MIT license.)

For the reviewer

  • Default distro. The docs recommend Jazzy on Ubuntu 24.04 for new work, and Humble only where a robot SDK requires it (today the Go2 community SDK and the Booster K1 SDK). Humble ends in May 2027, so those projects need a migration plan.

  • Go2 connection. go2_ws bundles a community SDK from before the July 2026 per-device key change. It may not connect on Go2 firmware 1.1.15 or newer.

  • Robot mower. robo_mower_ws pairs a Humble PC with a Jazzy Raspberry Pi. Official docs don't guarantee that different distros can talk to each other.

  • Kilted's end of life. docs.ros.org says December 2026 and REP 2000 says November 2026. The page plans for November.

  • Lab details to fill:

    • domain ID assignments;
    • the lab manager;
    • remote access;
    • shared storage.

    They are listed under "Open items" in AGENTS.md.

How it was checked

  • Install steps: the official steps were run as written in clean containers: Ubuntu 26.04 with Lyrical, 24.04 with Jazzy and Kilted, and 22.04 with Humble.
  • Example workspace: examples/hello_ws builds and passes colcon test in ros:humble, ros:jazzy, ros:kilted and ros:lyrical.
  • Cheatsheet: checked against each distro's CLI help. The debugging claims (domain IDs, discovery range, QoS mismatch, tf2, sim time, rosdep errors) were reproduced in containers.
  • ROSEnv 0.2.0: run end to end (lock, sync --locked, build, test, task) in a Linux container. That is not its tested Ubuntu 24.04 host, and the page says so.
  • Linters: brand_check.py reports 0 errors, markdownlint 0 issues and lychee 0 errors.
  • Not run: GUI tools (RViz, rqt, Gazebo) and hardware drivers. The pages say so.

After merge

Upload .github/assets/social-preview.png under Settings → Social preview.

Related PRs: .github · about · getting-started-atr-lab · dev-guidelines

🤖 Generated with Claude Code

A ROS 2 handbook for new students and coding agents, verified in the
official Docker images:

- concepts (graph, interfaces, DDS and QoS, tf2, workspaces)
- every distribution from Foxy to Lyrical plus Rolling, with dates,
  platforms and which one to pick
- installing natively (checked on Ubuntu 22.04, 24.04 and 26.04) and
  with ROSEnv (run end to end in a Linux container)
- a cheatsheet checked against each distro's CLI, useful packages,
  a symptom-to-fix debugging guide and the lab's robots in ROS 2
- examples/hello_ws: a talker, listener, launch file and tests that
  build and pass in ros:humble, ros:jazzy, ros:kilted and ros:lyrical
- AGENTS.md, CLAUDE.md, docs CI, brand header and social preview

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant