Cloud Native Robotic Applications with GPU Sharing on Kubernetes
Giovanni Toffetti1, Leonardo Militano1, Se´
an Murphy2, Remo Maurer1, and Mark Straub1
Abstract— In this paper we discuss our experience in teach-
ing the Robotic Applications Programming course at ZHAW
combining the use of a Kubernetes (k8s) cluster and real, het-
erogeneous, robotic hardware. We discuss the main advantages
of our solutions in terms of seamless “simulation to real” expe-
rience for students and the main shortcomings we encountered
with networking and sharing GPUs to support deep learning
workloads. We describe the current and foreseen alternatives
to avoid these drawbacks in future course editions and propose
a more cloud-native approach to deploying multiple robotics
applications on a k8s cluster.
I. INTRODUCTION
The Robotic Applications Programming course (RAP) has
been taught at the School of Engineering of the Zurich Uni-
versity of Applied Sciences since Spring 2021. The course
is offered to bachelor students in IT in their last semesters
with the aim of learning how to program robotic applications
using the ROS framework, as well as combining knowledge
from other courses (e.g., computer vision, artificial intelli-
gence, cloud computing) to make robots autonomous.
The course is organized in three main sections: (1) robotics
(e.g., basic robotic HW, URDF/XACRO, rviz, poses, co-
ordinate frames and transformations, controllers) and ROS
fundamentals (communication primitives, ROS packages);
(2) base capabilities (e.g., SLAM, navigation, perception,
arm motion planning and control); and (3) distributed robotic
applications culminating with a yearly challenge. This year’s
challenge was inspired by the DARPA Subterranean Chal-
lenge1: student groups had to program a mobile manipulator
(a Robotnik Summit XL with a UR5 arm) to autonomously
explore an unknown indoor area, detect coke cans, and bring
them back to the starting point.
We designed the theoretical modules and practical labs of
the course for students to minimize the configuration and
set-up effort to work collaboratively in order to focus on
software development and, at the same time, preserve the
excitement of seeing one’s own code running on real robotic
hardware. In order to do this we first investigated available
solutions we could use for our scenario. We report on related
work in the next section.
II. RELATED WORK
As the complexity of robotic applications is growing
steadily, with the adoption of advanced solutions such as
This work was accepted at the IROS’22 Cloud Robotics Workshop:
https://sites.google.com/view/iros22-cloud-robotics
1Zurich University of Applied Sciences (ZHAW), Switzerland
[toff|milt|murm|stmr]@zhaw.ch
2ETH Z¨
urich, Swiss Data Science Center (SDSC), Switzerland
sean.murphy@sdsc.ethz.ch
1https://www.subtchallenge.com
AI for semantic mapping or grasp generation, new needs
appeared in terms of computation, networking and storage
resources. To cope with them, Fog/Cloud-Robotic solutions
are gaining traction in several domains. The possibility for
remotely controlling robotic systems further reduces costs
for deployment, monitoring, diagnostic and orchestration
of any robotic application. This, in turn, allows for build-
ing lightweight, low cost and smarter robots as the main
computation and communication burden is brought to the
cloud. Since 2010, when the ”cloud robotics” term was
first used, several projects (e.g., RoboEarth [8] DAVinci
[9]) investigated the field pushing forward both research
and products to appear on the market. Companies started
investing in the field as they recognized the huge potential
of cloud robotics. This led to open-source cloud robotics
frameworks appearing in recent years. An example of this is
the solution from Rapyuta Robotics2. Similarly, commercial
solutions for developers have seen the light with the big
players in the Cloud field joining the run (e.g., Amazon
Robomaker3) or startups (e.g., Formant.io).
A. Robotic Applications Development in Education
Depending on the educational level and the requirements
for professional knowledge of robotic application develop-
ment, different teaching and learning approaches can be
identified as a combination of simulation- and hardware-
based solutions.
Simulation-based learning leverage software tools and
programming languages to simulate the behavior of robots
without direct interaction with a physical robot. Under this
category we include web robotics as a way of learning online
using a web-based platforms for simulating robots, as e.g., in
[2]. This latter is gaining momentum with offerings such as
The Construct4or AWS RoboMaker5which are cloud-based
simulation services that enable robotics developers to run,
scale, and automate simulation without managing any infras-
tructure. Simulation based solutions are clearly useful and
serve some important educational needs; however, the models
on which they are based always have some limitations
which can become apparent in a real world context. Further,
adopting a simulation only approach does not give students
experience with some of the more practical considerations
associated with working with physical devices.
Hardware-based learning allows for direct interaction
and programming of physical robots. In some simple do-
2https://www.rapyuta-robotics.com/
3https://cloud.google.com/cloud-robotics/
4https://www.theconstructsim.com/
5https://aws.amazon.com/robomaker/
arXiv:2210.03936v2 [cs.RO] 31 Oct 2022