Lab - Autonomous Driving and Virtualization for Demonstrator Project

Professor Prof. Dr. Bernhard Rumpe
Assistent Dipl.-Math. Michael von Wenckstern Dipl.-Ing. Evgeny Kusmenko
Kursart Praktikum
Credit-Points 7
LV-Nr. 16ss-54619
Sprache/Language Deutsch / English
Raum/Room 4312
Kick-Off Meeting / First meeting March 23th, 10:00 - 12:00 (Topic Selection) (moved b/c of Easter)
April 11th, 12:00 - 14:00 (Repeat Date Topic Selection)
Regular Meetings for Questions and Intermediate Result Presntation Weekly: Monday 12:00 - 15:30 at 4312 (starting April 18th, ending July 18th)

Inhalt / Content

Demonstrator für Modellierungssprachen. In diesem Demonstrator sollen Modellautos (im 1:73 Maßstab) durch eine kleine Stadt, angelehnt an Berlin, autonom fahren. Das Hauptziel dieses Praktikas ist es seine Programmiererfahrung an praktischen Beispielen zu vertiefen und Spaß an gemeinsamer Gruppenarbeit zu haben sowie einen besseren Zugang zu DSLs (domain-spezfisiche Sprachen) zu bekommen.
Basierend auf deinen Fähigkeiten und Interessen, kannst du eine der Aufgaben aussuchen:

  • Erstellen einer MontiCore-Sprache für DrawingML um PowerPoint-Strecke parsen zu können
  • Erstellen einer MontiCore-Sprache für 2D-Figuren mit Abschnitten
  • Transformation von DrawingML zu MontiCore 2D-Figuren
  • Erstellen einer Tagging-Sprache um Abschnittsnamen mit weiteren Informationen wie Höchstgeschwindigkeit, Überholverbot, ... zu taggen und einer Map-Tagging-Sprache um die Kartendaten mit Straßennamen und Hausnummern sowie Tankstellen zu taggen
  • Erstellen einer Routen-Sprache um Fahrrouten vorzugegeben
  • Erstellen eines einfachen Routenplanungsalgorithmus
  • Erstellen eines Generator von 2D-Figuren zu LSL (Linden Scripting Language) Skript um die OpenSimulator-Karte zu generieren
  • Erstellung eines Generators von Routen-Sprache und Routenplanungsergebnis zu Fahrbefehle des Autos in OpenSimulator mittels php/Java (Erweiterung vorhandener Seminararbeit)
  • Erstellung eines Algorithmus um Straßenline gerade zu verfolgen
  • Kalibrierung des C-Regelungsalgorithmus für 2 Modellautos (1:72 Maßstab)
  • Computer-Vision: Objekterkennung und Objektklassifizierung


Demonstrator for showing modeling languages. Autonomous cars (in scale 1:73) drive through a small city map oriented on Berlin. The aim of this lab is to earn more experience in programming and to have fun working in groups as well as to show how DSLs (domain specific languages) help you to solve practical solutions.
Based on your skills and interestes, you can pick one of the lab's tasks:

  • Create a MontiCore language for DrawingML to parse the map created in PowerPoint
  • Create a MontiCore language to define 2D structures with parts (these parts will be addressed later on)
  • Transform MontiCore DrawingML to MontiCore Draw2D
  • Create a tagging language to extend parts with further information, e.g. streets with speed limit, no passing, etc. and create a tagging language for maps, e.g. add street names and house number as well as points of interests (gas station), to 2D parts
  • Defining a simple route language (start from Altonaer Str. 5 to Spreeweg 7) and a basic algorithm to calculate the route
  • Write a generator to transform the MontiCore Draw2D map to a LSL (Linden Scripting Language) script to run in OpenSimulator
  • Write a generator form Route language to Java/PHP to move the car in OpenSimulator (Connector is already present)
  • Program a algorithm so that the car can follow a street based on the map's road markings
  • Callibrate two cars: Create a physical model for a car. (Microcontroller programming in C for Arduino)
  • Computer Vision: Object recognition and Object classification

Voraussetzungen / Prerequisites :

  • Vorlesung Softwaretechnik / Pass lecture Software Technique
  • Motivation
  • gute Programmiererfahrung / good skills in programming
  • Spaß an Gruppenarbeit / like to work with people

Ergebnisse aus vorherigen Seminaren und Praktika / Results of previous students' works

Car Recognition


Java-OpenSimulator-Connector