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 RecognitionJava-OpenSimulator-Connector