ros_tutorials

July 14, 2026 · View on GitHub

ros_tutorials is a collection of packages that support the official ROS 2 documentation and are used throughout the beginner tutorials to teach the core concepts of ROS 2 — nodes, topics, services, actions, parameters and launch files.

This branch (rolling) targets ROS 2 Rolling Ridley. For other ROS distributions, check out the matching branch of this repository.

What's in this repository

This repository contains two packages:

PackageDescription
turtlesimA lightweight simulator built with Qt. It is the tool used to introduce the basics of ROS 2 in the beginner tutorials.
turtlesim_msgsThe interface package that defines the messages, services and action used by turtlesim.

turtlesim

turtlesim is a tool made for teaching ROS and ROS packages. It draws one or more turtles in a window and lets you drive them around, spawn new ones, change pen colors and more, all through ROS 2 topics, services and actions.

It builds the following executables:

  • turtlesim_node — the simulator window itself.
  • turtle_teleop_key — drive a turtle from the keyboard (arrow keys), and send RotateAbsolute action goals.
  • draw_square — moves a turtle in a square pattern.
  • mimic — makes one turtle mimic the motion of another, used to demonstrate topic remapping.

The launch/ directory contains multisim.launch.py, which starts two turtlesim_node instances in separate namespaces (used by the mimic demo).

turtlesim_msgs

turtlesim_msgs contains the ROS 2 interface definitions that turtlesim uses:

  • Messages (msg/): Color, Pose
  • Services (srv/): Kill, SetPen, Spawn, TeleportAbsolute, TeleportRelative
  • Action (action/): RotateAbsolute

Documentation and tutorials

The best place to learn how to use these packages is the official ROS 2 documentation:

The turtlesim-based tutorials cover, among other topics:

Contributing and support

License

Both packages are released under the BSD license. See each package's package.xml for details.