Skip to main content
  1. Blog
  2. Article

sidfaber
on 3 September 2020


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

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

Watch the videos


Related posts


Abdelrahman Hosny
21 May 2026

Developing web apps with local LLM inference

AI Article

I’ve yet to meet a developer that enjoys working with metered AI APIs. The need to pay for every API call in development works in direct opposition to the ethos of rapid iteration, and it’s easy for the costs to get out of hand. That’s why Canonical has created a different approach to building AI-powered ...


ilvipero
6 May 2026

Three weeks to go: A sneak peek of the Ubuntu Summit 26.04 experience

Ubuntu Article

The countdown to the Ubuntu Summit is officially on! We are just three weeks away from Ubuntu Summit 26.04, and the orange energy levels in our community channels are peaking. We’ve been reviewing the talk submissions, and have been blown away by the passion and creativity of our circle of friends. Once again, the schedule ...


Samir Kamerkar
22 April 2026

From Jammy to Resolute: how Ubuntu’s toolchains have evolved

Ubuntu Article

We cover new toolchain versions, devpacks and workflows that improve the developer experience. The evolution of Ubuntu’s toolchains story goes beyond just providing up-to-date GCC, LLVM, and Python. It is also about opinionated openJDK variants, task-focused devpacks, FIPS compliant toolchains, and snaps, like the new .NET snap and Snapcr ...