Softwarepraktikum/Teamprojekt: Eingebettete Systeme und autonome Robotersysteme (ESaRS)
- wahlobligatorisch:
- CSE,B ab 3; CV,b ab 3; CV,i ab 3; IF,B ab 3; IF,i ab 3; INGIF,i ab 3; WIF,B ab 3; WIF,i 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 |
Hinweis: Die Veranstaltung findet aufgrund von Teilnehmermangel nicht statt.
Lehrinhalte
In Wintersemester 2008/2009 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 selbstorganisiert 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:
- 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:
Autonome mobile Systeme, die einer festdefinierten Spur folgen, haben sich in verschiedenen Aufgabenfeldern, insbesondere zu Transportzwecken etabliert. Die Pfade werden dabei entweder durch optische erfassbare Bahnen oder Landmarken, Leiterbahnen, RFID Tags usw. bestimmt. Im Softwarepraktikum sollen die wichtigsten Fehlerquellen dieses Ansatzes untersucht und bewältigt werden - das Abreißen der Spur sowie Hindernissen auf dem Pfad. Als Entwicklungsplattform dient ein differenziell getriebener Roboter, der gegenüber dem im vergangenen Jahr verwendeten Modell mit einer neuen Elektronik deutlich leistungsfähiger geworden ist. Mit neuen Sensoren sind nunmehr deutlich kompliziertere Verfahrbewegungen möglich. Die Spur wird mit einem zweifarbigen Klebestreifen festgelegt, wobei dunklere Partien den Wechsel von einem Segment zum anderen ankündigen. Die Hindernisse sind von einheitlicher Größe und werden immer auf der Mitte der Bahn stehen. Ziel ist das Durchfahren der mit gesamten Strecke in möglichst kurzer Zeit.
Anhand der Grafik zeigen sich die 3 Varianten des Abreißens der Spur: die Unterbrechung berührt nur ein Segment, entweder eine geradlinige Spur oder eine Kreisbahn mit bekanntem Radius. Problematischer ist der Fall, wenn zusammenhängend Teile mehrerer Segmente und damit auch Kreuzungspunkte betroffen sind.
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 aufgelistet.
Termine & Fristen
Nützliche Hinweise für die Dokumentaion
- Anmerkungen zur Dokumentation des Softwarpraktikums (Sebastian Zug)
- Vortrag zu doxygen
- Homepage von doxygen