ROS 2 Overview¶
Welcome to ROS 2! ROS (Robot Operating System), is not actually an operating system, but is a powerful set of libraries and tools for building robot software. ROS 2 is the modern, improved version of ROS 1, and our team uses the Humble distribution (as of October 2024).
What is ROS 2?¶
ROS 2 helps you create modular, scalable, and robust robotics applications. It provides a flexible framework for writing robot code, connecting sensors, actuators, and algorithms.
How Does ROS 2 Work?¶
ROS 2 applications are built from interconnected nodes that communicate with each other.
Nodes¶
A node is an executable program that performs a specific task. Nodes can communicate using topics, services, and actions. - Learn more about nodes
Topics, Publishers, and Subscribers¶
- A publisher sends messages to a topic.
- Subscribers listen for messages on topics.
- You can create as many topics as you need!
- Topics tutorial
Services, Servers, and Clients¶
- A service client sends a request to a server, which returns a response.
- Services tutorial
Actions¶
Actions allow for long-running tasks with feedback. They have three parts:
1. Goal
2. Feedback
3. Result
- Actions tutorial
Packages¶
A package is a collection of code, launch files, and configuration for a specific functionality. To build or update all packages, run:
colcon build
This creates build, install, and log folders in your workspace.
Next Steps¶
- Ready to start programming? Explore our [Basic Commands][basic-commands] and Workspace Setup guides.
- Want to help improve these docs? Submit a pull request on GitHub!