Skip to main content.

Navigation:

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: Änderung des Programmierens der R-Boards

Lehrinhalte

In Wintersemester 2007/2008 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:

  1. Inbetriebnahme der Hardware
  2. Entwicklung geeigneter Abstraktionen der Hardwareelemente (Designphase)
  3. Umsetzung des aufgestellten Designs (Implementierung)
  4. Testen/Validieren/Qualitätskontrolle der Umsetzung
  5. 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:

  1. Aufzeigen einer Lösungsstrategie
  2. Entwurf des Roboterdesigns
  3. Modellierung des Systemverhaltens
  4. Design und Implementierung der Robotersteuerung
  5. 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

12.10.2007
Einführungsvortrag Einführungsvortrag
16.11.2007
Präsentation des entworfenen Designs sowie Zeit- und Aufgabenplanung
21.12.2007
Umsetzung des Design und Test der Implementierung
18.01.2008
Präsentation der Lösung
25.01.2008
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

Kontakt