# Robotics > This is the documentation for Ubuntu Robotics, covering the Ubuntu Robotics > stack, packaging, deployment, operations, and reference material for > maintainers and users. 2026 CC-BY-SA, Canonical Ltd. ## Pages - [Robotics Documentation](https://canonical-robotics.readthedocs-hosted.com/en/latest/index.html.md): **Ubuntu gives robotics teams a complete, production-grade platform** to package, deploy, and mainta... - [Reference](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/index.html.md): **Technical information** such as specifications, architecture, - [List of ROS ESM packages](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/esm-package-list/index.html.md): In this page you will find the list of the ROS packages - [Snapcraft](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/index.html.md): Snapcraft technical reference for snapping your ROS applications. - [Snapcraft Plugins](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/plugins/index.html.md): * [Colcon plugin](https://documentation.ubuntu.com/snapcraft/stable/reference/plugins/colcon_plugin/... - [FAQ & Troubleshooting](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/faq/index.html.md): This page reference ROS and ROS 2 snap common questions and troubleshooting: - [Snapcraft Extensions](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/extensions/index.html.md): * [ROS Noetic extension](https://documentation.ubuntu.com/snapcraft/8.14/reference/extensions/ros-1-... - [Workshop](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/workshop/index.html.md): Workshop technical reference for ROS 2 development. - [The `ros2-minimal` SDK](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/workshop/ros2-minimal-sdk/index.html.md): The `ros2-minimal` SDK is used to set up a ROS 2 development environment. - [The `ros2-desktop` SDK](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/workshop/ros2-desktop-sdk/index.html.md): The `ros2` SDK is used to set up a ROS 2 desktop development environment. - [Observability](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/observability/index.html.md): **Beta Notice**: COS for robotics is currently in beta. - [COS registration server API](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/observability/cos-registration-server-api/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [FAQ & Troubleshooting](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/observability/rob-cos-faq/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Robotics reference architecture](https://canonical-robotics.readthedocs-hosted.com/en/latest/references/ref_architecture/reference_architecture/index.html.md): This page outlines the reference architecture of the Canonical robotics stack, - [How-to guides](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/index.html.md): **How-to guides** to achieve specific goals with Canonical’s robotics stack. - [Send rosbags to COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/device-send-rosbag/index.html.md): In this how-to, - [Operation](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/index.html.md): This section includes all guides related to daily operations - [Configure Alertmanager to send email alerts](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/configure-alertmanager-to-send-email-alerts/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Deploy a Caddy file server for COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/deploy-caddy/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Write a configuration snap for COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/write-configuration-snap-for-cos-for-robotics/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Enable TLS encryption in COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/deploy-cos-for-robotics-with-tls-encryption/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Observe COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/observe-cos-rob/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Migrate a `cos-registration-server` database from sqlite3 to postgresql](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/migrate-sqlite3-to-postgresql/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Set up Blackbox Exporter to monitor COS for robotics devices](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/set-up-blackbox-exporter-to-monitor-cos-rob-devices/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Hardening your robot](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/security/hardening-your-robot/index.html.md): % Include start summary - [Use Workshop and Git Worktree for ROS 2 development](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/development/ros2-git/index.html.md): Oftentimes, a ROS 2 repository supports multiple ROS 2 distributions. - [Development](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/development/index.html.md): This section includes all guides related to developing - [Maintenance](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/index.html.md): This section includes all guides related to a - [Set up a ROS ESM environment](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/set-up-a-ros-esm-environment/index.html.md): This guide will walk you through setting up - [Enable ROS ESM](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/enable-ros-esm/index.html.md): ROS ESM builds on two Canonical ESM products: `ESM-infra` and `ESM-apps`. - [Check if a CVE is fixed in your environment](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/check-cves/index.html.md): If you’re running ROS in production, it’s important to know whether a specific CVE - [Combine ESM and upstream ROS components](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/combine-esm-and-upstream-ros/index.html.md): We don’t support enabling both ROS ESM as well as the upstream ROS Debian repository. - [Use ROS 2 shared memory in snaps](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/ros-2-shared-memory-in-snaps/index.html.md): Strictly confined ROS 2 snaps shows an access error regarding shared memory. - [Packaging](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/index.html.md): This section includes all guides related to packaging - [Snap ROS distributions with no extensions](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/ros-distributions-with-no-extensions/index.html.md): The snapcraft ROS extensions help you snap ROS applications for - [Migrate from docker to snap](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/migrate_from_docker_to_snap/index.html.md): Docker has greatly facilitated robotics software development by providing a way to - [Configure a snap: using a content snap](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/config-a-snap-using-content-snap/index.html.md): When a robotics application is snapped, - [Get started with ROS 2 snaps](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/get-started-with-ros2-snaps/index.html.md): When creating a snap for a ROS 2 application (or any snap for that matter), - [Debug Snap Applications](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/debugging-snap-applications/index.html.md): Before you start - [Build and publish a snap with GitHub Actions](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/build-and-publish-snap-with-github-actions/index.html.md): When deploying a [robotics application with snap](https://ubuntu.com/robotics/docs), - [Configure a snap: pull a configuration from a server](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/config-a-snap-pull-from-a-server/index.html.md): When a robotics application is snapped, - [Configure a snap: Make the snap configuration overwritable](https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/config-a-snap-make-config-overwritable/index.html.md): When a robotics application is snapped, - [Tutorials](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/index.html.md): **Step-by-step tutorials** for a hands-on introduction - [ROS 2 development with Workshop](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/workshop/index.html.md): These tutorials provide an introduction to developing for ROS 2 in containers - [Customize a workshop for a project](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/workshop/nav2-dev-workshop/index.html.md): In this follow-up tutorial, - [Getting started with Workshop](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/workshop/ros2-dev-workshop/index.html.md): [**Workshop**](https://canonical-workshop.readthedocs-hosted.com/) - [Monitor your robot fleet in the field](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/observability/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Deploy COS for robotics agent on your robot](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/observability/deploy-cos-for-robotics-agent-on-your-robot/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Deploy COS for robotics server in the cloud](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/observability/deploy-cos-for-robotics-server-in-the-cloud/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [From zero to hero: deploy a robot with snaps and Ubuntu Core](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/index.html.md): This series of tutorials introduce you to using **snaps and Ubuntu Core - [Packaging complex robotics software with snaps](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/packaging-complex-robotics-software-with-snaps/index.html.md): **Before you start** - [Tutorial 1: Packaging our first ROS application as a snap](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/packaging-ros-application-as-snap/index.html.md): Robotics developers know app development inside-out, - [Part 5: Create an Ubuntu Core image for the TurtleBot3](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/create-ubuntu-core-image-for-turtlebot3/index.html.md): When developing a robot, - [Distribute ROS applications with the Snap Store](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/distribute-ros-apps-with-snap-store/index.html.md): In [part 1](https://ubuntu.com/robotics/docs/ros-deployment-with-snaps-part-1) - [Part 4: Building ROS snaps with content sharing](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/building-ros-snaps-with-content-sharing/index.html.md): In [part 2](https://canonical-robotics.readthedocs-hosted.com/en/latest//tutorials/snaps-core/packag... - [Part-2 - exercise: Clean old unused maps over time](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/exercises/exercise_2/index.html.md): > This exercise requires having followed the [Tutorial 2:](https://canonical-robotics.readthedocs-ho... - [Part 1 - exercise: Add additional application to the snap](https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/exercises/exercise_1/index.html.md): This exercise requires having followed the - [Explanation](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/index.html.md): **Explanations and clarifications** of the core concepts and key topics that underpin - [Ubuntu Core](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/ubuntu-core/index.html.md): [Ubuntu Core](https://ubuntu.com/core/docs) is a version of the Ubuntu operating system - [Security](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/index.html.md): This page provides an overview of and references to various topics related to - [Security vulnerability audits in ROS ESM](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/security-audits/index.html.md): ROS ESM is maintained by the Ubuntu Robotics Team, in a close partnership with the - [Interaction between ROS ESM and ROS upstream](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/ros-esm-ppa-rosdep/index.html.md): When enabling ROS ESM using `pro enable ros` as described in - [What is ROS ESM](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/what-is-ros-esm/index.html.md): As part of [Ubuntu Pro](https://ubuntu.com/pro/beta) for Applications subscription, - [Debug a snap application](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/debug-a-snap-application/index.html.md): Once a snap is built and installed one might face unexpected problems like missing a configuration f... - [Snaps](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/index.html.md): All things Snap and Ubuntu Core. --> - [Snap data and file storage](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/snap-data-and-file-storage/index.html.md): Environment variables are widely used across Linux to provide convenient access to system and applic... - [ROS architectures with snaps](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/ros-architectures-with-snaps/index.html.md): This documentation details different snap architectures that developers can - [Snap configurations and hooks](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/snap-configurations-and-hooks/index.html.md): Snaps have the capabilities to trigger actions depending on `snapd` hooks. These hooks are also the ... - [Vcstool and rosinstall file](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/vcstool-and-rosinstall-file/index.html.md): In ROS, it’s common to have the list of repositories listed in a [rosinstall file](https://docs.ros.... - [Applications orchestration](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/application-orchestration/index.html.md): Snap robotics applications can be called from the terminal but also run in the background as daemons... - [Snap environment variables](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/snap-environment-variables/index.html.md): Environment variables are widely used across Linux to provide convenient access to system and applic... - [Debug the build of a snap](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/debug-the-build-of-a-snap/index.html.md): Before the snap is built, things can already go wrong. - [Identify functionalities and applications of a robotics snap](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/identify-functionalities-and-apps-of-robotics-snap/index.html.md): Since snap is meant to deploy applications, we must define our robot applications. - [Observability](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/index.html.md): **Beta Notice**: COS for robotics is currently in beta. - [What is COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/what-is-cos-for-robotics/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Security considerations for COS for robotics](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/security-considerations-for-cos/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [COS for robotics components](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/components-explanations/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. - [Alert rules configuration from device](https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/alert-rules-configuration-from-device/index.html.md): **Beta Notice**: COS for robotics is currently in `beta`. --- For more comprehensive documentation, see [llms-full.txt](https://canonical-robotics.readthedocs-hosted.com/en/latest/llms-full.txt)