TU Berlin

Communication and Operating SystemsSwarmOS - Swarm Operating System

Logo Fachgebiet KBS

Page Content

to Navigation

SwarmOS - Swarm Operating System


Numerous heterogeneous devices—including stationary as well as mobile devices—exist that are equipped with a variety of sensors and actuators. This enables new kinds of applications, e.g., applications for monitoring the environment and initiating early warnings in case of natural catastrophes, applications for exploration missions as well as applications for monitoring structural integrity of buildings. The design of the resulting cyber-physical systems is a challenging task. Distribution, concurrency and synchronization together with real space and time are challenging aspects that need to be addressed and carefully treated when implementing such systems. In order to relieve programmers from error-prone properties of cyber-physical systems and facilitate application development by enabling the programmer to solely focus on the program’s intention, we present SwarmOS which is a distributed operating system for swarms of mobile robots.

Swarm Runtime System


In order to program applications, a suitable programming abstraction is required that enables to incorporate real space and time into a programming language and allows to bind program code to space and time. Executing such applications requires a suitable runtime system. The design should follow a modular system architecture in order to achieve a simple mechanism to add new components or exchange active ones. This way, new devices featuring new capabilities can be integrated with less effort. Allowing programmers to have access to physical space and time requires a scheduling that considers—besides time—also physical space. The scheduling has to address both orthogonal dimensions inevitably resulting in a higher complexity. Coordinated movement for mobile devices becomes necessary.



In order to perform experiments and present a proof-of-concept, a testbed has been set up which consists of 40 mobile robots---featuring a 400 MHz ARM9 CPU and 64 MB SDRAM---as well as 24 stationary boards---featuring an 180 MHz ARM9 CPU and 64 MB SDRAM. Using computer vision algorithms the robots are localized using depth and RGB images.



A simulator has been developed in order to analyze and evaluate the system behavior by applying different configurations concerning the world (static obstacles), the amount of robots (dynamic obstacles) and the number of distributed applications. By means of virtualization an application is executed distributedly on a set of virtual resources that are mapped to physical as a function of space and time. Using virtualization aims to use migration as much as possible for mobile applications in order to save costs resulting from physical movement. This increases overall system efficiency.


Quick Access

Schnellnavigation zur Seite über Nummerneingabe