Skip to content

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

All things ROS 2: concepts, installs, commands and debugging. Advanced Telerobotics Research Laboratory, Kent State University.

The lab's ROS 2 handbook: what ROS 2 is, which version to use, how to install it, the commands you need and how to fix what breaks, for new students and coding agents.
Advanced Telerobotics Research Laboratory · Department of Computer Science · Kent State University

License: MIT Advanced Telerobotics Research Laboratory, Kent State University Last reviewed Nov. 2026

Start here


What is ROS 2
Nodes, topics, services, actions, QoS, discovery, tf2 and workspaces in plain words.

Distributions
Foxy to Lyrical: dates, end of life and which one to pick.

Install natively
The official apt install, plus Raspberry Pi, Jetson, macOS and Windows.

Install with ROSEnv
Several distros side by side in Docker, pinned with a lockfile.

Command cheatsheet
ros2, colcon, rosdep and environment variables, checked per distro.

Packages and nodes
RViz, bags, ros2_control, Nav2, MoveIt 2, drivers and simulators.

Debugging
Symptom, cause and fix, from discovery to crashes.

Lab robots
How each lab device connects to ROS 2 and which distro it needs.

Resources
Official docs, REPs, where to ask, courses and lab repos.

Which distribution should I use?

The lab rule: manage ROS 2 with ROSEnv, which keeps several distributions side by side on one machine, and use the distribution the robot's SDK was written for. When no robot or SDK decides, use Jazzy on Ubuntu 24.04: it is supported until May 2029, has the widest set of packages and runs on the lab's newer hardware.

Your situation Use
New project, nothing forces a version Jazzy (Ubuntu 24.04)
Every package you need is released for Lyrical and you want support to 2031 Lyrical (Ubuntu 26.04)
A robot SDK or driver targets it (today: the Unitree Go2 community SDK and the Booster K1 SDK) That SDK's distro, today Humble (Ubuntu 22.04). Humble ends in May 2027; the lab plans to fork these SDKs for Lyrical (lab robots)
Old Foxy, Galactic or Iron code Run it in that distro's Docker image only
Kilted Not for new work; ends in December 2026 at the latest

Dates, platforms and the reasoning are in distributions. Status as of Sept. 30, 2026.

Quick start: five minutes to a talking robot graph

Pick one route. Both end with a talker and a listener exchanging messages. Route B, ROSEnv, is the lab's default.

Route A: native install (Ubuntu 24.04; full steps and other distros in install natively)

sudo apt update && sudo apt install curl software-properties-common -y
sudo add-apt-repository universe
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb
sudo apt update && sudo apt upgrade -y
sudo apt install ros-jazzy-desktop ros-dev-tools -y
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker   # second terminal: source the same file, then ros2 run demo_nodes_py listener

Route B: ROSEnv (a Linux host with Python 3.11+ and Docker Engine, tested on Ubuntu 24.04; ROS is not installed into the system; details in install with ROSEnv)

git clone https://github.com/MarcoDotIO/rosenv.git && cd rosenv && uv tool install . && cd ..
mkdir -p ~/robot_ws/src && cd ~/robot_ws
rosenv init --ros jazzy
rosenv add demo_nodes_cpp
rosenv run -- ros2 run demo_nodes_cpp talker     # in a second terminal: rosenv run -- ros2 run demo_nodes_cpp listener

Then build and test a real package: the example workspace has a talker and listener with parameters, a launch file and tests, verified on Humble, Jazzy, Kilted and Lyrical.

Repo map

Path What it holds Read it when
docs/ The handbook, nine numbered pages You are learning ROS 2 or looking something up
docs/01-what-is-ros2.md Concepts and vocabulary You are new to ROS
docs/02-distributions.md Every distro from Foxy to Lyrical, and a decision guide You are choosing a version or migrating
docs/03-install-native.md Official installs and platform notes You are setting up a computer or robot
docs/04-install-rosenv.md ROSEnv environments and lockfiles You need several distros or reproducible dependencies
docs/05-cheatsheet.md Commands and environment variables You need an exact command
docs/06-packages-and-nodes.md Useful packages by task You need a tool for a job
docs/07-debugging.md Symptoms, causes, fixes Something does not work
docs/08-lab-robots.md Lab devices and their ROS 2 support You are writing code for a lab robot
docs/09-resources.md External links You need more depth
examples/ hello_ws, a tested example workspace You want working code to copy
AGENTS.md Rules, sources and checks for coding agents and contributors You are editing this repo

Contributing

Found something wrong or out of date? Open an issue or send a pull request. Follow the writing rules and checks in AGENTS.md: cite an official source for every version, date or command, run the command before you document it, and use [bracketed placeholders] for anything only the lab can confirm.

License

Text and code in this repository are released under the MIT License. The names and logos of the Advanced Telerobotics Research Laboratory and Kent State University are trademarks and are not covered by that license. ROS, ROS 2 and the distribution names and logos belong to their respective owners; third-party projects linked from these pages keep their own licenses.


ATR Lab docs · About the lab · Getting started · Dev guidelines · All things ROS 2 · All repositories
Advanced Telerobotics Research Laboratory · Department of Computer Science · Kent State University · www.atr.cs.kent.edu

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors