Deploying ROS Applications With Snaps

A Developer Guide

Download

Ubuntu 18.04 LTS is moving out of standard support in April 2023. If you are a device manufacturer, learn your options.

The challenge

Robotics developers know app development inside-out, but deploying a robotics application can be challenging. It’s not uncommon to compile the code on robots, copy/paste compiled packages and end up with unknown versions of software. Even worse, the infamous “It works on my machine” syndrome is all too common.

Robotics software should benefit from a controlled and stable environment, with the same portability and reliability as any other software application. Achieving this reliability should be simple, even if our software has hundreds of dependencies.

Deploying ROS applications like a global software vendor

This developer guide offers hands-on advice from Canonical’s robotics engineers. It takes us through the process of packaging our first ROS application as a snap. Snaps are the de facto distribution tool for companies deploying software on Ubuntu. They are trusted by companies like Microsoft, Google, Spotify and more. Snaps offer a solution to build and distribute containerised applications or any software. The same tooling and global infrastructure is available for our ROS applications.

This Developer Guide covers:

  • The basics of snap creation for ROS and ROS 2.
  • How to build your first snaps for a robotics application.
  • How to confine our robotics application.

Want to learn more?

Contact information
  • In submitting this form, I confirm that I have read and agree to Canonical's Privacy Notice and Privacy Policy.