https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/migrate-sqlite3-to-postgresql/
The first version of cos-registration-server used SQLite3 as its database backend. Starting with version 1/stable, cos-registration-server now uses PostgreSQL...
migratecosregistrationserverdatabase
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/dedicated-snap-store/
Dedicated Snap Store is a custom application store tailored to software distribution across fleets of devices. This store allows you to create, publish and...
snap storerobotics documentationdedicated
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/check-cves/
If you’re running ROS in production, it’s important to know whether a specific CVE has been patched in your environment. You can find detailed step-by-step...
checkcvefixedenvironmentrobotics
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/ref_architecture/reference_architecture/
This page outlines the reference architecture of the Canonical robotics stack, detailing the essential components and their roles across development,...
reference architectureroboticsdocumentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/
This section includes all guides related to a robot’s long term maintenance. Enable ROS ESM, Set up a ROS ESM environment, Combine ESM and upstream ROS...
robotics documentationmaintenance
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/
COS for robotics stands for Canonical Observability Stack for robotics, and is a superset of COS Lite. This section explains how Canonical’s observability...
robotics documentationobservability
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/exercises/exercise_1/
Let’s do a little exercise. Right now, our talker-listener only has one application. How about you add another one? Having the ROS 2 topic tools inside our...
partexerciseaddapplicationsnap
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/what-is-ros-esm/
As part of Ubuntu Pro for Applications subscription, ROS ESM gives you a hardened and long-term supported ROS system for robots and its applications. Even if...
robotics documentationrosesm
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/building-ros-snaps-with-content-sharing/
How to use this developer guide: In part 2 of our developer guide series, we saw in fine detail how to create a single snap for a complete robot stack,...
content sharingrobotics documentationpartbuildingros
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/
Technical information such as specifications, architecture, API documentation, and troubleshooting tips. Snapcraft: Snapcraft technical reference for snapping...
robotics documentationreference
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/configure-alertmanager-to-send-email-alerts/
Once an alert is triggered by Prometheus or Loki, the alert is received and distributed by Alertmanager. Alertmanager can be configured to send notifications...
send emailrobotics documentationconfigurealertmanageralerts
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/config-a-snap-make-config-overwritable/
When a robotics application is snapped, one might want to use it on multiple different robots. Reusing the same snap means that we must be able to configure...
robotics documentationconfiguresnapmakeconfiguration
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/plugins/
- Colcon plugin, The colcon plugin is useful when building ROS 2 parts.,.,- Catkin plugin, The catkin plugin is useful when building ROS parts.,.,-...
robotics documentationsnapcraftplugins
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/snap-configurations-and-hooks/
Snaps have the capabilities to trigger actions depending on snapd hooks. These hooks are also the entry point to manage your snap parameters. Snap support...
robotics documentationsnapconfigurationshooks
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/create-ubuntu-core-image-for-turtlebot3/
When developing a robot, one might want to have an Ubuntu image ready to be flashed on a robot. With Ubuntu Core, developers can prepare an image embedding all...
ubuntu corepartcreateimage
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/snap-data-and-file-storage/
Environment variables are widely used across Linux to provide convenient access to system and application properties. Both snapcraft and snapd consume, set,...
file storagerobotics documentationsnapdata
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/security/hardening-your-robot/
Modern robots are typically designed to be open, robust, and easy to operate and repair. However, many of these systems are not adequately secured against...
robotics documentationhardening
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/packaging-ros-application-as-snap/
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,...
tutorialpackagingfirstrosapplication
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/write-configuration-snap-for-cos-for-robotics/
COS for robotics is composed of various snaps. These snaps must be configured for your robots, your needs and your setup. In this how-to guide, you will learn...
robotics documentationwriteconfigurationsnapcos
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/observability/deploy-cos-for-robotics-agent-on-your-robot/
Overview: Requirements: Before starting this tutorial, make sure to have the server side working from the previous tutorial In order for a device to register...
deploycosroboticsagentdocumentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/device-send-rosbag/
In this how-to, we detail how to set up and configure a robot to send rosbags to the COS for robotics server. We thus assume that a COS for robotics server is...
robotics documentationsendcos
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/
Snaps are containers that bundle an application and all its dependencies. As such, snaps offer a solution to build and distribute containerized robotics...
robotics documentationsnaps
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/ubuntu-core/
Ubuntu Core is a version of the Ubuntu operating system designed and engineered for IoT and embedded systems. Ubuntu Core updates itself and its applications...
ubuntu corerobotics documentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/components-explanations/
The COS for robotics is meant to monitor your devices. This means that we have a server hosting all our applications and devices sending data to our server....
cosroboticscomponentsdocumentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/
This section includes all guides related to daily operations for deployed robots. Deploy a Caddy file server for COS for robotics, Send rosbags to COS for...
robotics documentationoperation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/build-and-publish-snap-with-github-actions/
When deploying a robotics application with snap, keeping the deployment synchronised with development progress is a high priority. It’s best accomplished with...
github actionsrobotics documentationbuildpublishsnap
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/security-audits/
ROS ESM is maintained by the Ubuntu Robotics Team, in a close partnership with the Ubuntu security team. Its security processes apply the same rigor that...
security vulnerabilityrobotics documentationauditsrosesm
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/combine-esm-and-upstream-ros/
We don’t support enabling both ROS ESM as well as the upstream ROS Debian repository. This means that every ROS component you use must either be from ESM, or...
robotics documentationcombineesmupstreamros
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/application-orchestration/
Snap robotics applications can be called from the terminal but also run in the background as daemons. Snap and snapcraft offer orchestration features that can...
robotics documentationapplicationsorchestration
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/observability/deploy-cos-for-robotics-server-in-the-cloud/
Introduction: In this tutorial, we will walk through the process of deploying the Canonical Observability Stack (COS) for robotics on a cloud-based server. By...
cloud documentationdeploycosroboticsserver
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/distribute-ros-apps-with-snap-store/
Distribute ROS applications with the Snap Store: In part 1 and part 2 of our developer guide series, we learned about what snaps can do for ROS applications by...
snap storerobotics documentationdistributerosapplications
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/vcstool-and-rosinstall-file/
In ROS, it’s common to have the list of repositories listed in a rosinstall file. These files are read by Vcstool to import the specified repositories. In the...
robotics documentationfile
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/snap-environment-variables/
Environment variables are widely used across Linux to provide convenient access to system and application properties. Both snapcraft and snapd consume, set,...
environment variablesrobotics documentationsnap
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/config-a-snap-pull-from-a-server/
When a robotics application is snapped, one might want to use it on multiple different robots. Reusing the same snap means that we must be able to configure...
configuresnappullconfigurationserver
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/packaging-complex-robotics-software-with-snaps/
The first step for deploying a robotics application is to package it. Snaps are specifically designed to confine embedded Linux applications, making it easier...
packagingcomplexroboticssoftwaresnaps
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/debugging-snap-applications/
When developing a snap, things can go wrong. In this how-to guide, we will explore some common ways to debug a snap. Starting from the results of Tutorial 2:...
robotics documentationdebugsnapapplications
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/
This page provides an overview of and references to various topics related to security for robotics on Ubuntu. Harden your robot Check out the following how-to...
robotics documentationsecurity
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/observability/
These tutorials detail how to deploy and configure Canonical Observability Stack (COS) for Devices. Deploy COS for robotics for Robotics server-side Deploy and...
robotics documentationmonitorfleetfield
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/
This series of tutorials introduce you to using snaps and Ubuntu Core for deploying ROS-based robots. Starting from a fresh install, these guides take you...
zeroherodeployrobotsnaps
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/faq/
This page reference ROS and ROS 2 snap common questions and troubleshooting: Frequently Asked Questions: If you cannot find an answer to your question here,...
faq troubleshootingrobotics documentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/
Snapcraft technical reference for snapping your ROS applications.- Plugins, The Snapcraft plugins to build ROS parts.,.,- Extensions, The Snapcraft extensions...
robotics documentationsnapcraft
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/snaps-core/exercises/exercise_2/
This exercise requires having followed the Tutorial 2:. This exercise is meant for developers to train on solving a problem with snaps. One can apply the...
partexercisecleanoldunused
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/enable-ros-esm/
ROS ESM builds on two Canonical ESM products: ESM-infra and ESM-apps. As a result, there are three steps to enabling ROS ESM: Obtaining your Ubuntu Pro token,...
robotics documentationenablerosesm
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/alert-rules-configuration-from-device/
Alerts rule file can be defined in Prometheus and Loki to trigger notifications on the Alertmanager. These alert rule files can be provided by the devices...
alert rulesrobotics documentationconfigurationdevice
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/identify-functionalities-and-apps-of-robotics-snap/
Since snap is meant to deploy applications, we must define our robot applications. Our robot applications are meant to fulfil the functionalities of a robotics...
snap documentationidentifyapplicationsrobotics
https://canonical-robotics.readthedocs-hosted.com/en/latest/tutorials/
Step-by-step tutorials for a hands-on introduction to Canonical’s robotics solutions. These tutorials make as few assumptions as possible and are accessible to...
robotics documentationtutorials
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/
This section includes all guides related to packaging robotics applications using snaps. Build and publish a snap with GitHub Actions, Debug Snap Applications,...
robotics documentationpackaging
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/observability/
COS for robotics stands for Canonical Observability Stack for robotics, and is a superset of COS Lite. This section provides technical details about COS for...
robotics documentationobservability
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/migrate_from_docker_to_snap/
Docker has greatly facilitated robotics software development by providing a way to package applications and their dependencies into portable containers....
robotics documentationmigratedockersnap
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/observability/cos-registration-server-api/
The cos-registration-server exposes a public API. The API potential usages are: Devices can register, upload dashboards etc., Operators can manipulate the...
server apirobotics documentationcosregistration
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/debug-the-build-of-a-snap/
Before the snap is built, things can already go wrong. The parts could fail to build, or the application declaration might even fail, etc. When snapcraft is...
robotics documentationdebugbuildsnap
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/set-up-blackbox-exporter-to-monitor-cos-rob-devices/
Blackbox Exporter allows active monitoring of devices and endpoints by probing them over protocols such as HTTP, TCP and ICMP. This guide explains how to use...
setblackboxexportermonitorcos
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/
Explanations and clarifications of the core concepts and key topics that underpin Canonical’s robotics solutions. These guides help understand how all the...
robotics documentationexplanation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/get-started-with-ros2-snaps/
When creating a snap for a ROS 2 application (or any snap for that matter), the very first step is to create a snapcraft.yaml file for the project and file it...
get startedrobotics documentationrossnaps
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/observe-cos-rob/
COS for robotics provides valuable insights about one’s fleet of devices. Maybe more importantly it also alerts the fleet operators should anything...
robotics documentationobservecos
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/observability/rob-cos-faq/
Can I use COS for robotics without Juju and charms?: While this is not a supported use case, you can redeploy the server side without Juju and charms by...
faq troubleshootingrobotics documentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/deploy-caddy/
In this how-to, we will deploy a simple Caddy file server in the Canonical Observability Stack (COS) for robotics. We therefore assume that a COS for robotics...
file serverdeploycaddycosrobotics
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/debug-a-snap-application/
Once a snap is built and installed one might face unexpected problems like missing a configuration file or a library or simply not the expected behaviour. Even...
robotics documentationdebugsnapapplication
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/security/ros-esm-ppa-rosdep/
When enabling ROS ESM using pro enable ros as described in this guide, some changes are made to apt configuration and it’s important to be aware of those...
robotics documentationinteractionrosesmupstream
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/maintenance/set-up-a-ros-esm-environment/
This guide will walk you through setting up your environment once you’ve enabled ROS ESM. You have a couple of different choices: you can either install the...
robotics documentationsetrosesmenvironment
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/esm-package-list/
In this page you will find the list of the ROS packages that are supported in the Expanded Security Maintenance (ESM) service from Canonical under the Ubuntu...
robotics documentationlistrosesmpackages
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/observability/what-is-cos-for-robotics/
COS for robotics stands for Canonical Observability Stack for robotics and is a superset of COS Lite. COS for robotics brings observability to your robots and...
robotics documentationcos
https://canonical-robotics.readthedocs-hosted.com/en/latest/explanations/snaps/ros-architectures-with-snaps/
This documentation details different snap architectures that developers can adopt for their ROS applications. There are two main approaches that can be taken:...
robotics documentationrossnaps
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/operation/deploy-cos-for-robotics-with-tls-encryption/
COS for robotics offers flexible deployment options, allowing for either an unencrypted configuration or a more secure setup with TLS termination enabled. With...
tls encryptionrobotics documentationenablecos
https://canonical-robotics.readthedocs-hosted.com/en/latest/
From development to deployment, all you need in one single platform. Ubuntu provides robotics companies with a worldwide-use infrastructure to deploy and...
robotics documentation
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/ros-distributions-with-no-extensions/
The snapcraft ROS extensions help you snap ROS applications for the different ROS distributions. However, this does not mean that you cannot build a snap for a...
robotics documentationsnaprosdistributionsextensions
https://canonical-robotics.readthedocs-hosted.com/en/latest/how-to-guides/packaging/ros-2-shared-memory-in-snaps/
Strictly confined ROS 2 snaps shows an access error regarding shared memory. If you see something similar to: ROS 2 communication library is trying to use the...
shared memoryrobotics documentationuserossnaps
https://canonical-robotics.readthedocs-hosted.com/en/latest/references/snapcraft/extensions/
- ROS Noetic extension, This extension helps you snap ROS applications for the Noetic Ninjemys distribution.,.,- ROS 2 Foxy extension, This extension helps you...
robotics documentationsnapcraftextensions