---
title: 'Robotics Recap: Learning, Programming & Snapping ROS 2'
description: A recap of friction points, mild surprises, and opportunities to better
  leverage existing tools in our journey from ROS to ROS 2
url: https://canonical.com/blog/robotics-recap-learning-programming-and-snapping-ros-2?format=md
---

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

---

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

13 July 2020

# Robotics Recap: Learning, Programming & Snapping ROS 2

[Bionic](https://canonical.com/blog/tag/bionic)
[Dashing](https://canonical.com/blog/tag/dashing)
[Eloquent](https://canonical.com/blog/tag/eloquent)
[Focal](https://canonical.com/blog/tag/focal)
[Foxy](https://canonical.com/blog/tag/foxy)
[Pi](https://canonical.com/blog/tag/pi)
[Raspberry Pi](https://canonical.com/blog/tag/raspberry-pi)
[RasPi](https://canonical.com/blog/tag/raspi)
[robotics](https://canonical.com/blog/tag/robotics)
[ROS](https://canonical.com/blog/tag/ros)

---

Share the article
> Please note that this blog post has out technical information that may no longer be correct. For latest updated documentation about robotics in Canonical please visit <https://ubuntu.com/robotics/docs>.

Robotics@Canonical puts a strong focus on the migration from ROS to ROS 2. ROS 2 benefits from many improvements, especially robot security. Our goal is to make it easy for you to transition to ROS 2, whether you’re completely new to ROS or a seasoned engineer retooling for a new environment. Your new platform should be secure-by-default, and we expect you’ll need to pivot between different environments as you migrate from ROS to ROS 2.

Along the way we’ve encountered some friction points, some mild surprises, and some opportunities to better leverage existing tools. Whenever that happened we tried to fix them and share our experiences so you didn’t run into the same problems! This has resulted in blog posts and videos in three key focus areas: getting started with ROS 2, software development in ROS 2, and building snaps for ROS.  Let’s recap some of our recent output.

## Getting Started with ROS 2

As ROS 2 enters the mainstream, an ever increasing population of technologists need to understand ROS. We’ve been publishing content for the experienced professional that’s new to ROS 2 using both traditional blog posts as well as short how-to videos:

* An introduction to the [ROS 2 Command Line Interface](https://ubuntu.com/blog/ros-2-command-line-interface)
* A how-to guide for [Installing ROS in an LXD Container](https://ubuntu.com/blog/installing-ros-in-lxd) on your Ubuntu workstation, and an [associated video](https://youtu.be/bFJp7WAfcXk)
* Some help on how to [feel at home in a LXD container](https://ubuntu.com/blog/feeling-at-home-in-a-lxd-container) by importing all your custom configurations
* A tutorial on [discovering and calling Services in ROS 2](https://discourse.ubuntu.com/t/call-services-in-ros-2/15261)
* Some notes for [ROS users as Python 2 hits EOL](https://ubuntu.com/blog/psa-for-ros-users-some-things-to-know-as-python-2-approaches-eol)
* A video guide on [installing Ubuntu 20.04 on a Raspberry Pi](https://youtu.be/ZE2HmyI0t7U) followed by an [installation of ROS 2 Foxy Fitzroy](https://youtu.be/0w-CRiuuiKk)
* A similar video guide for [installing Ubuntu 18.04 on a Raspberry Pi](https://youtu.be/Xp99NpEgtc8) followed by an [installation of ROS 2 Dashing Diademata](https://youtu.be/UGGE6HzW67A)
* A video introduction to [Turtlesim, the “Hello, World” of ROS](https://www.youtube.com/watch?v=Xk7lDf2v4Rw)

While you can expect our video series to continue exploring aspects of ROS 2 for now, we would love to hear your opinion about them. Do you like the format? Do you find them useful? What other ROS related content would you like to see?

## Software Development in ROS 2

If you’re a seasoned ROS engineer we want to make it easy for you to continue developing in ROS 2. Here are some resources we hope will make you more productive:

* Hints on [extending the ROS 2 Command Line Interface](https://ubuntu.com/blog/creating-a-ros-2-cli-command-and-verb)
* Understanding the difference between [components and plugins in ROS 2](https://ubuntu.com/blog/components-vs-plugins-in-ros-2)
* Defining required nodes in a [ROS 2 launch file](https://ubuntu.com/blog/ros2-launch-required-nodes)
* [ROS Development with LXD](https://ubuntu.com/blog/ros-development-with-lxd)
* Working with [GitHub Actions for ROS 2 Continuous Integration](https://ubuntu.com/blog/ros-2-ci-with-github-actions)
* [Using a linter with ROS 2](https://ubuntu.com/blog/how-to-add-a-linter-to-ros-2) as you build your code
* [Using a linter with ROS 2](https://ubuntu.com/blog/linting-ros-2-packages-with-mypy) as part of your test suite

## ROS 2 Snaps

Snaps are great for encapsulating dependencies, sandboxing software, and being able to update the software on deployed robots without needing to host any infrastructure. They’re also the ideal add on for both security and maintainability of your robot, so we’ve published a handful of hints to get you started with ROS Snaps:

* [Keep your enterprise ROS robots up-to-date with snaps](https://ubuntu.com/blog/keep-enterprise-ros-robots-up-to-date-with-snaps)
* [Building ROS 2 snaps with Colcon](https://ubuntu.com/blog/building-ros2-snaps-with-colcon)
* [Building ROS 2 Eloquent Snaps](https://ubuntu.com/blog/how-to-build-ros-2-eloquent-snaps)
* [Speeding up your ROS snap builds](https://ubuntu.com/blog/speed-up-your-ros-snap-builds)
* How to structure and build a TurtleBot3 snap (in two parts): [part 1 setting up configuration and launch files](https://ubuntu.com/blog/how-to-set-up-turtlebot3-in-minutes-with-snaps), and [part 2 building the snap itself](https://ubuntu.com/blog/how-to-set-up-turtlebot3-in-minutes-with-snaps-2).

## What’s next?

Keep up-to-date on the robotics team’s publications with our [State of Robotics Newsletters](https://ubuntu.com/blog/tag/thestateofrobotics). We’d also really like to hear from you. There’s much, much more to the ROS infrastructure, is there anything in particular that might help you migrate to ROS 2? What do you need for that secure, robust robot? Drop us a line and let us know!

[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.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/dataprivacy).

Sign up

## Share on

---

## Related posts

[### Extending ROS Noetic Support with ESM-Enabled Content Snaps](https://canonical.com/blog/extending-ros-noetic-support-with-esm-enabled-content-snaps)

Canonical has now extended its ESM (Expanded Security Maintenance) for ROS coverage to ROS Noetic content-sharing snaps. With ESM for ROS now available in both deb and snap...

[Florencia Cabral Berenfus](https://canonical.com/blog/author/flor-cabral)

17 December 2025

[### Discover your fully open source robotics observability at ROSCon 2025](https://canonical.com/blog/roscon-2025)

Another year, another ROSCon! This year we’re heading to Singapore, and Canonical is once again thrilled to sponsor this important community event. Just like last year in...

[Gabriel Aguiar Noury](https://canonical.com/blog/author/g-aguiar-noury)

22 October 2025

[### Canonical is now a platinum member in the Open Source Robotics Alliance](https://canonical.com/blog/osra-membership)

Ubuntu is the home of ROS. The very first ROS distribution, Box Turtle, launched on Ubuntu 8.04 LTS, Hardy Heron, and since then, Ubuntu and ROS have grown hand in hand. With...

[Gabriel Aguiar Noury](https://canonical.com/blog/author/g-aguiar-noury)

20 August 2025

[### ROS Noetic is EOL – take action to maintain fleet security](https://canonical.com/blog/ros-noetic-is-eol-take-action-to-maintain-fleet-security)

As of May 2025, the Robot Operating System (ROS) Noetic Ninjemys officially reached its end of life (EOL). First released in 2020 as the final ROS (1) distribution, ROS Noetic...

[Florencia Cabral Berenfus](https://canonical.com/blog/author/flor-cabral)

8 August 2025
