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 |
Lehrinhalte
In Wintersemester 2005/2006 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änktes 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 die Lösung mindestens einer Aufgabe durchgeführt werden. Hierfür sind folgende Teilaufgaben zu bewältigen:
- Aufzeigen einer Lösungsstrategie
- Entwurf des Roboterdesigns in Abhängigkeit von der Aufgabe
- Modellierung des Systemverhaltens
- Design und Implementierung der Robotersteuerung
- Test und Dokumentation
Aufgaben:
- 1. Das Labyrinth des Minos
- Auf einer Grundplatte ist durch einen Linienverlauf ein Labyrinth beschrieben. Der Roboter soll dieses autonom durchfahren.
- 2. Suchen und Finden
-
Auf einer Grundplatte sind verschieden große Rechtecke oder Kreise
aufgezeichnet. Der Roboter soll das größte bzw. kleinste
Rechteck/Kreis suchen und zum Schluß auf diesem verweilen.
Wenn der Roboter die richtige Figur gefunden hat, ist dies durch das
Einschalten einer Diode zu signalisieren.
Die Aufgabe kann auch von einem Roboterteam gelöst werden, wobei sich alle Teilnehmer zum Schluss zur entsprechenden Figur bewegen und bei deren Erreichen durch das Einschalten einer Diode ihre Zielstellung signalisieren sollen. - 3. Das invertierte Pendel
- Der Roboter soll gemäß einem invertiertem Pendel auf zwei Rädern balancieren.
- 4. Der Hund und sein Herrchen
- Ein Roboter stellt den Hund dar und ein zweiter soll das Herrchen symbolisieren. Der Hund soll einer Spur (Linie) folgen und sein Herrchen (an einer virtuellen Leine) mit sich ziehen.
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
- 11.07.2005
- Einführungsvortrag
- 20.11.2005
- Präsentation des entworfenen Designs
- 19.12.2005
- Umsetzung des Design und Test der Implementierung
- 23.01.2006
- Präsentation der Lösung mindestens einer Aufgabe.
Vergleichswettkampf der unterschiedlichen Gruppen
Nützliche Hinweise für die Dokumentaion
- Anmerkungen zur Dokumentation des Softwarpraktikums (Sebastian Zug)
- Vortrag zu doxygen
- Homepage von doxygen