Aktuelles

Die Scheine sind nun ausgestellt und können ab sofort im Sekretariat der Abteilung
(Raum O27/319) abgeholt werden.

Bitte persönlich vorbeikommen und den gültigen Studierendenausweis mitbringen,
da euch der Schein sonst nicht ausgehändigt wird.

Laborpraktikum Robotik

Kürzel

CS7600.000

Leistungspunkte

6

Semesterwochenstunden

5

Sprache

Deutsch

Moduldauer

1 Semester

Turnus

Jährlich im Sommersemester

Modulverantwortlicher

Prof. Dr.-Ing. Frank Slomka

Dozenten

Prof. Dr.-Ing. Frank Slomka, Dipl.-Inform. Kilian Kempf

Studiengänge

Informatik, Dipl, Studienbeginn WiSe oder SoSe, Wahl, ab 5. Fachsemester
Informatik, MSc, Studienbeginn WiSe oder SoSe, Wahl
Medieninformatik, Dipl, Studienbeginn WiSe oder SoSe, Wahl, ab 5. Fachsemester
Medieninformatik, MSc, Studienbeginn WiSe ode SoSe, Wahl
Elektrotechnik, Dipl, Studienbeginn WiSe oder SoSe, Wahl, ab 5. Fachsemester
Elektrotechnik, MSc, Studienbeginn WiSe oder SoSe, Wahl
Informationssystemtechnik, MSc, Studienbeginn WiSe ode SoSe, Wahl

Voraussetzungen

Bachelor oder Vordiplom im jeweiligen Studiengang.

Kenntnisse der Hardwarebeschreibungssprache VHDL sowie der Programmiersprache C sind von Vorteil.

Lernziele

Anwendung von Ideen und Methodiken aus dem Bereich der eingebetteten Systeme anhand typischer Aufgaben aus der Robotik.

Inhalt

In dem Laborpraktikum sollen praktische Fähigkeiten zur Hardware-/Software-Implementierung eingebetteter Systeme auf den Bereich der Robotik angewandt werden. Hierzu werden in Zweiergruppen Versuche aus den folgenden Themenbereichen durchgeführt:

  • VHDL / Altera-Tools sowie Nios II Softcore-Prozessoren
  • Einbindung selbst erstellter VHDL-Komponenten
  • Ansteuerung von Robotermodellen (Laufrobotern)
  • Elementare Bildverarbeitung
  • HW/SW-Design am Bespiel einer Drehzahlregelung

In Abhängigkeit von der Anzahl der Teilnehmer sowie deren Vorkenntnissen werden die aufwendigeren Versuche in mehrere "Stationen" unterteilt, die dann nach einer gemeinsamen grundlegenden Einarbeitung von den einzelnen Gruppen durchlaufen werden.

Literatur

Jürgen Teich, Digitale Hardware/Software Systeme, Springer
Jean J. Labrosse, Embedded Systems Building Blocks, Second Edition, CMP Books
Jürgen Reichardt, Bernd Schwarz, VHDL-Synthese, 4. Auflage, Oldenbourg
Giovanni De Micheli, Synthesis and Optimization of Digital Circuits, MCGraw-Hill, Inc.
Brian W. Kernighan, Dennis M. Ritchie, Programmieren in C, 2. Ausgabe (ANSI C), Hanser

Lehrveranstaltungen und Lehrformen

Informatik (P), 5 SWS, 6 LP
Medieninformatik (P), 5 SWS, 6 LP
Elektrotechnik (P), 5 SWS, 6 LP
Informationssystemtechnik (P), 5 SWS, 6 LP

Leistungsnachweise und Prüfungen

Praktikumsschein

Notenbildung

Scheinkriterium ist die erfolgreiche Teilnahme an allen Praktikumsversuchen.

Weiterhin werden zu Beginn jedes Termins mit einigen Gruppen kleine Kolloquien abgehalten, um ausreichende Vorbereitung auf den Übungstermin zu überprüfen.

Grundlage für

-

Kernfach

Technische Informatik

Vertiefungsgebiet

Eingebettete Systeme, Verteilte Systeme, Rechnerarchitektur

Organisatorisches

Vorbesprechung

Donnerstag, 23.04.2009, 11:00 - 12:00 Uhr, Raum O27/311

Termin

Wöchentliches Laborpraktikum - Dienstags, 09:00 bis 13:00 Uhr

Mailingliste

Name der Liste: lrob09.esys

Um sich auf der Liste einzutragen, gibt es die folgenden beiden Möglichkeiten:

  1. Entweder über die Weboberfläche der Listensoftware. Dort mit der KIZ-Adresse links oben einloggen und anschließend "subscribe" wählen.
  2. Oder per eMail an die Adresse sympa[at]lists.uni-ulm.de und dem folgenden Text (ohne Umbruch) als Inhalt:
    subscribe lrob09.esys

Vorbereitung

Für die Programmierung der FPGA-Boards werden wir die Software "Quartus II" der Firma Altera verwenden (welche auch als kostenlose Webedition verfügbar ist). Eine Einführung ist durch folgendes Tutorial gegeben, das wir beim ersten Praktikumstermin bearbeiten werden:

tut_quartus_intro_vhdl.pdf

Eine generelle Einführung in die Hardwarebeschreibungssprache VHDL ist beispielsweise in folgenden Crashkursen zu finden:

Crashkurs_VHLD.pdf
VHDL_Kompakt.pdf

VHDL-Grundlagen

Grundlegende Übungen zur Verwendung von VHDL (und den DE2-Boards):

lab01.pdf
lab02.pdf

Robotik

Grundlagen zur Ansteuerung der von uns verwendeten Servomotoren mittels eines PPM-Signals sowie Auswertung ihrer Stromaufnahme zur Kraftmessung:

servos.pdf

SOPC

Folgende Tutorials sollen an die Verwendung des Nios II Softcore-Prozessors sowie des SOPC-Builders (System On a Programmable Chip) heranführen:

tut_sopc_introduction_vhdl.pdf (generelle Verwendung)
tut_DE2_sdram_vhdl.pdf (Benutzung des externen SDRAMs auf den DE2-Boards)

Avalon-MM

Einbindung von eigenen Komponenten in das SOPC mittels des Systembusses Avalon-MM:

qts_qii54001.pdf
qts_qii54003.pdf
qts_qii54004.pdf
qts_qii54005.pdf

Vollständige Spezifikation des Avalon Interface (das darin enthaltene Avalon-ST ist für uns vorerst uninteressant):

mnl_avalon_spec.pdf

HAL und Treiber

Einblick in die Funktionsweise und Verwendung des Altera HAL (Hardware-Abstraction-Layer) sowie die Programmierung eigener Treiber für den HAL:

n2sw_nii5v2_02.pdf

Ansteuerung der Servoplatinen

Pinout der GPIO-Stecker:

GPIO_x_10: Summensignal (PPM)
GPIO_x_12: Servolast 1 (PWM)
...
GPIO_x_18: Servolast 7 (PWM)