Ferienakademie 2022


Prof. Dr. Bernd Brügge Technische Universität München Instructor
Prof. Dr. Ulrich Rüde Friedrich-Alexander-Universität Instructor

Jochen Nickles

Siemens IoT Guest Lecturer

Dr. Markus Sauer

Siemens IoT Guest Lecturer

Research Associates

Dr. Jan Philip Bernius Technische Universität München

Marco Heisig


September 18 - 30, 2022, Sarntal Valley, South Tyrol, Italy

Course Description

In this course, you will be a member of the fictitious startup Sarnfleet, which aims to provide the next generation of logistics services for urban areas. Sarnfleet is a service for climate-neutral robot deliveries which combines the opportunities of digitalization with the challenges of the green energy transition. Sarnfleet simulates the energy market based on weather conditions to predict the availability of cheap green energy and routes its fleet of autonomous Duckiebots to provide the best service at a minimal cost. You will build a simulator and a prototype for an autonomous robot delivery system in the Duckie Town World that includes robot delivery vehicles, inductive charging stations, and renewable energy sources. Delivery agents are paid for their logistics services but need to pay for electricity. A weather simulation predicts cheap renewable energy availability in advance and optimizes traffic. Optimize Sarnfleets revenue by going for cheap green energy and profitable deliveries.

Development Environment

Duckietown aims to combine robotics and artificial intelligence. Its basic idea is a robotic ecosystem where fleets of autonomous cars (“Duckiebots”) and autonomous drones (“Duckiedrones”) interact with each other and the environment (“Duckietown”).


Duckietown is a special model for an urban environment. It is designed to simplify the existing world. Duckiebots operate within various constraints, e.g., predefined road sections, specific colors usage, and intersection signs:

Duckiebots and Duckiedrones

Duckiebots and Duckiedrones are Raspberry Pi 3B+ running the robotic operating system ROS on a dockerized Ubuntu. A Duckiebot has two physical wheels with encoders, a third 360-degree steel pseudo-wheel, a power bank, and a single monoscopic camera as an input source from the real world. A Duckiedrone features a camera and an infrared sensor for autonomous locaization and control and is fully programmable using the Duckietown Shell (dts) and Python.

ROS is an open-source framework providing low-level hardware functionality that Sarnfleet should use. The basic idea of this framework is to split various atomic and independent functionality into single “nodes,” e.g., camera node or wheels node, and modify/replace them modularly without changing other functionality.

You can either change the code in those existing nodes or define new nodes and connect them to the existing ones. Single nodes’ functionality is implemented in Python. Various Nodes are connected using communication channels, the so-called topics. Typically, a node defines a list of other nodes it receives some data from, and a list of nodes it sends some data to using the publish and subscribe methods in the Observer pattern. For example, a new node can subscribe to the camera node to receive camera input data, process it, and then publish the next calculated movement command to the wheels node.

Applied Software Engineering

Prof. Dr. Stephan Krusche

Informatics 1 – Chair of Distributed Systems & Operating Systems
School of Computation, Information, and Technology
Technical University of Munich

Boltzmannstraße 3
85748 Garching b. München

Administrative office

Sophia Adelmeier

Office: 01.07.052
Phone: +49 (89) 289-18206
Fax: +49 (89) 289-18207