Softwarepraktikum: Eingebettete Systeme und autonome Robotersysteme (ESaRS)
- wahlobligatorisch:
- CV ab 3; IF ab 3; INGIF ab 3; WIF ab 3
- 4 SWS; ECTS : 6
Termine
Veranstaltung | Zeit | Raum | Dozent |
---|---|---|---|
Softwarepraktikum | Fr 9:00 - 11:00 | G29-334 | Prof. Dr. Jörg Kaiser |
Michael Schulze |
Zugangsvoraussetzungen
-
Anmeldung
erforderlich (maximal 15 Teilnehmer)
Hinweis: Bei der Anmeldung solltet Ihr die EMail-Adresse eures FIN-Accounts angeben. Es haben sich bereits 15 Teilnehmer eingetragen, ihr könnt trotzdem zur ersten Veranstaltung kommen und euch evtl. noch nachtragen lassen.
Lehrinhalte
In Wintersemester 2006/2007 bietet die Arbeitsgruppe 'Eigebettete System und Betriebssysteme' ein Softwarepraktikum im Bereich autonomer, kooperativer und mobiler Systeme an. Das Praktikum soll in Gruppenarbeit durchgeführt werden, wobei die Gruppen eine Größe von drei bis vier Student(inn)en nicht überschreiten soll. Im Rahmen des Praktikums erfolgt die Arbeit selbstorganisieren und teamorientiert.
Ziel des Softwarepraktikums ist das Kennenlernen von Sensorik/Aktorik sowie Robotikelementen, der Umgang mit eingebetteten Systemen, das ressourcenbeschränkte Programmieren sowie das Einüben der Software-Entwicklung.
Ablaufplan:
- allgemeines Kennenlernen und Inbetriebnahme der Hardware
- Entwicklung geeigneter Abstraktionen der Hardwareelemente (Designphase)
- Umsetzung des aufgestellten Designs (Implementierung)
- Testen/Validieren/Qualitätskontrolle der Umsetzung
- prozessbegleitende Dokumentation
Mit Hilfe der entworfenen Module soll eine Lösung für das Szenario gefunden werden. Hierfür sind folgende Teilaufgaben zu bewältigen:
- Aufzeigen einer Lösungsstrategie
- Entwurf des Roboterdesigns
- Modellierung des Systemverhaltens
- Design und Implementierung der Robotersteuerung
- Test und Dokumentation
Szenario:
- Die Aufgaben des Praktikums konzentrieren sich auf Fragen der Roboternavigation in einem rechtwinkligen "Straßensystem". Dazu ist mithilfe von Klebestreifen aus verschiedenfarbigen horizontalen und vertikalen Linien ein kartesisches System gegeben, in dem die Position des Roboters abstrahiert über Koordinaten (z.B. A1, G6) wiedergegeben werden kann. Um einzelne Pfade zu blockieren, werden kleine Hindernisse auf die Platte gestellt. Während die Linien über Reflexlichtschranken an der Unterseite des Roboters abgetastet werden können, sind die Hindernisse mittels Infrarotsensoren erfassbar. Basierend auf diesen Information sollen zunächst Grundfunktionen, wie das Verfolgen einer Linie, das Erkennen von Kreuzungen usw. umgesetzt und erprobt werden.
Danach ist eine Lösung für Pfadplanungs- und Regelungsalgorithmen in einer mit Hindernissen versehenen Umgebungen zu entwerfen. Die Vorgabe könnte wie folgt formuliert sein: "Fahre von A1 nach G7".
Empfohlene Literatur
- Michael Barr:
- "Programming Embedded Systems in C and C++", 1st ed, O'REILLY, January 1999
- Fred G. Martin:
- "Robotic Explorations", Prentice Hall, Inc.
- Lewin A. R. W. Edwards:
- "Open-Source Robotics and Process Control Cookbook", Elsevier, 2005
- Arnold S. Berger:
- "Embedded Systems Design", CMP Books, 2002
- John Catsoulis:
- "Embedded Hardware", 1st ed, O'REILLY, November 2002
- Matthias Kalle Dalheimer & Torsten Wilhelm
- "Praktische C++-Programmierung", O'REILLY, November 2003
- Weitere technische Dokumente
Entwicklungsumgebung
Eine Entwicklungsumgebung existiert sowohl für Windows als auch für Linux. Auf der Seite Entwicklungsumgebung sind die notwendigen Informationen zum Einrichten dieser aufgelistet.
Termine & Fristen
- 13.10.2006
- Einführungsvortrag
- 17.11.2006
- Präsentation des entworfenen Designs
- 22.12.2006
- Umsetzung des Design und Test der Implementierung
- 19.01.2007
- Präsentation der Lösung der Aufgabe.
Vergleichswettkampf der unterschiedlichen Gruppen - 26.01.2007
- Abgabe der Quellen und der Dokumentation
Nützliche Hinweise für die Dokumentaion
- Anmerkungen zur Dokumentation des Softwarpraktikums (Sebastian Zug)
- Vortrag zu doxygen
- Homepage von doxygen