---
title: 'Tutorial: Getting Started with ROS'
description: Learn the basics of ROS and start programming your own robot
url: https://canonical.com/blog/tutorial-getting-started-with-ros
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[sidfaber](https://canonical.com/blog/author/sidfaber "More about sidfaber")

3 September 2020

# Tutorial: Getting Started with ROS

[Foxy](https://canonical.com/blog/tag/foxy)
[robotics](https://canonical.com/blog/tag/robotics)
[Robots](https://canonical.com/blog/tag/robots)
[ROS](https://canonical.com/blog/tag/ros)
[ROS2](https://canonical.com/blog/tag/ros2)
[Tutorials](https://canonical.com/blog/tag/tutorials)
[Ubuntu](https://canonical.com/blog/tag/ubuntu)

---

Share the article
> Please note that this blog post has old information that may no longer be correct. We invite you to read the content as a starting point but please search for more updated information in the [ROS documentation](https://docs.ros.org/).

ROS, the Robot Operating System, is the platform of choice for robot development. However, the breadth and depth of existing documentation can be daunting for the ROS beginner. Where should you start learning about ROS 2 on Ubuntu?

All robots based on ROS and ROS 2 are programmed using five simple but core constructs:

* Nodes
* Parameters
* Topics
* Services
* Actions

In this tutorial and associated video we’ll introduce these concepts with simulated robots. This quick introduction should help you dive deep into the wealth of information available for programming your own ROS 2 robot!

[Run through the tutorial](https://ubuntu.com/tutorials/getting-started-with-ros-2#1-overview)

[Watch the videos](https://www.youtube.com/playlist?list=PL_2PosskAdC0lfoecAPKBV4GJ0oZv7W_X)

[Get in touch

Interested in running Ubuntu in your organization?](https://ubuntu.com/about/contact-us/form)

## Sign up for our newsletter

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

In submitting this form, I confirm that I have read and agree to
[Canonical's Privacy Notice](https://canonical.com/legal/data-privacy/contact)
and [Privacy Policy](https://canonical.com/legal/data-privacy).

Sign up

## Share on

---

## Related posts

[### Canonical announces the alpha release of Charmed OpenShell to help secure autonomous AI agent fleets](https://canonical.com/blog/charmed-openshell-alpha-release)

To streamline enterprise deployment and lifecycle management, Canonical is announcing the alpha release of Charmed OpenShell.

[Canonical](https://canonical.com/blog/author/canonical)

28 September 2026

[### Ubuntu coming soon to Snapdragon X2 Series platforms, unlocking more Linux PCs for the agentic world](https://canonical.com/blog/ubuntu-coming-soon-to-qualcomm-snapdragon-x2-series-platforms)

Canonical and Qualcomm Technologies announce upcoming native Ubuntu support for Qualcomm’s flagship laptop silicon, delivering multi-day battery life, 80 TOPS NPU acceleration,...

[Canonical](https://canonical.com/blog/author/canonical)

23 September 2026

[### Canonical and CIX Technology announce strategic collaboration for edge innovation](https://canonical.com/blog/canonical-and-cix-technology-announce-strategic-collaboration-for-edge-innovation)

Canonical, the publisher of Ubuntu, and CIX Technology, a semiconductor innovator, today announced a strategic collaboration to deliver an optimized Ubuntu experience on CIX...

[Jonathan Mok](https://canonical.com/blog/author/jmok027)

11 September 2026

[### Arduino® VENTUNO™ Q is available for pre-order with Ubuntu pre-installed](https://canonical.com/blog/arduino-ventuno-q-is-available-for-pre-order-with-ubuntu-pre-installed)

London, UK – August 25, 2026 – Following our initial collaboration announcement in March 2026, Canonical and Arduino (a subsidiary of Qualcomm Technologies, Inc.) are excited...

[Canonical](https://canonical.com/blog/author/canonical)

25 August 2026
