Lifecycle management entails fulfilling changing requirements over time. However, there is a gap that the existing robot development frameworks do not address, making it challenging to tackle system-level requirements (fault tolerance, system safety, maintainability, interoperability or reusability etc…). Ubuntu Core aims at closing this gap by complementing existing frameworks with a set of tools that enable the long term viability of robotic projects. Referring to system life cycle standard ISO/IEC 15288, we will describe how Ubuntu Core enables success in each specified stage.
Concept and Development phases: accelerating prototyping
Ubuntu makes it really easy to start a robotic POC by removing all the barriers that an innovator may encounter in getting a project off the ground. Developers can embed Ubuntu at no cost to their hardware of choice. Being open source, it is also easy to tailor Ubuntu to the specific needs of a project. Developers love Ubuntu. This popularity brings the benefits of broad community support and therefore a large pool of developers to contribute to, or help you troubleshoot your applications. What’s more, the popularity of Ubuntu drives off-the-shelf development board support, making it easy to find suitable hardware to start prototyping.
Development and production phases: bringing continuous delivery and integration to robotics
Delivering software upgrades to a fleet of robots operating in the field is a tedious task involving manual intervention and disrupted operations. As the consequence bug fixes are very costly to deploy. Additionally, the lack of agility in the delivery of security upgrades exposes to security vulnerabilities. To reduce this exposure, Ubuntu Core makes use of snaps. These are containerised software packages that are upgraded automatically. Snapcraft, the developer tool dedicated to the creation and delivery of snaps is easy to integrate into CI pipelines. On the operations side, Snapd is a tool that exposes an API to automate the deployment of snaps on robots in the field. Channels and tracks allow for the deployment of different versions of the software on the same fleet, or even on the same unit. Software be tested on dedicated units, before it is rolled out to an entire fleet.
Utilisation phase: unlocking new revenue models
Snaps open the door for robotics-as-a-platform. Robots embedded with Ubuntu Core will not be expensive single purpose assets anymore, but rather channels for services mediated by software-defined hardware. This is an important paradigm shift with the potential to unlock new business models and stimulate innovation in robotics. From application marketplaces to paid add-ons, or pay per use, new avenues to generate recurring revenue from a robot become possible.
Support phase: security and reliability through cloud integration
Ubuntu Core is designed as a security-first OS. The system is tamper-resistant and processes are strictly confined to their own environments. In addition to this inherent security, maintenance of system security is assured for as long as 10 years through Extended Security Maintenance (ESM). Snaps update automatically, which means that non-disruptive updates are provided continuously. This happens in a transactional manner that preserves data and rolls back on error, assuring system reliability.
Retirement phase: stretching the useful life of robots
The snap packages underlying Ubuntu Core enable function virtualisation. New functionalities can be packaged and delivered to a robot through self-contained snaps at any point of its service life. For instance, machine learning capabilities can be added to an existing cleaning robot, extending the scope of its functionalities. The ability to push new functions to a robot can be leveraged to delay their obsolescence. This will stretch the useful life of robot fleets, with a positive effect on the overall economics for both operators and makers of robots. This capability will have repercussions on the hardware architecture of robots. Makers will be incentivised to build more robots as futureproof platforms. Hardware and software upgrades will be delivered during the life of robots to make them evolve, pushing back the boundaries of obsolescence.