Vorlesung 1 - Lehrstuhl für Datenverarbeitung

Lehrstuhl für Datenverarbeitung
Technische Universität München
Praktikum Informationsverarbeitung
Lehrstuhl für Datenverarbeitung
Prof. Dr.-Ing. Klaus Diepold
Dipl.-Ing. Johannes Feldmaier
Lehrstuhl für Datenverarbeitung
Technische Universität München
Hallo!
•  seit September 2011
•  daedalus
•  Affective Computing
•  Machine Learning &
Neural'Networks:'
Robotics
Representa1on'
Neurons'and'
the'brain'
Machine'Learning'
Johannes Feldmaier
[email protected]
Raum: Z947
Tel.: 089 289 23605
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
2
Lehrstuhl für Datenverarbeitung
Technische Universität München
Agenda
•  Ablauf des Praktikums
–  Zeitplan
•  Aufgabenstellung
–  Themen und Ziele
–  Verwendete Komponenten
•  Gruppeneinteilung
•  Dokumentation
•  Projektplan
–  Definition, Inhalt
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
3
Lehrstuhl für Datenverarbeitung
Technische Universität München
Ablauf des Praktikums
Theorieteil
•  Mikrocontroller
Grundlagen
•  Reglerentwurf
(ITK)
Praxisteil
Dokumentation
•  Inbetriebnahme
•  Auslesen der Sensordaten
•  Höhenregelung
•  Querreglung
Abschlusspräsentation
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
•  Kreisflug
4
Lehrstuhl für Datenverarbeitung
Technische Universität München
Zeitplan 1/2
Termin
Zeit
Inhalt
Einführung & Zusammenstellen der Teams
14.04.15
14:00 – 17:00 Uhr
Demonstration der Hardware Plattform
Einführung Arduino
Inbetriebnahme Hardware Plattform
21.04.15
14:00 – 17:00 Uhr
Auslesen der Sensorwerte
Transformation der Sensordaten
Moving-Average der Barometerwerte
28.04.15
14:00 – 17:00 Uhr
Ansteuern der Motoren mit PWM
Befestigen der Gondeln am Ballon
05.05.15
14:00 – 18:00 Uhr
Teamarbeit: Flugversuche und Höhenregelung
12.05.15
14:00 – 18:00 Uhr
ITK Modell- & Regler-Entwurf
19.05.15
14:00 – 18:00 Uhr
ITK: Regelungstechnik in 120 min
26.05.15
14:00 – 18:00 Uhr
Pfingstferien
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
5
Lehrstuhl für Datenverarbeitung
Technische Universität München
Zeitplan 2/2
Termin
Zeit
Inhalt
Integration von PID-Reglern
02.06.15
14:00 – 18:00 Uhr
Integration Kalman Filter
Integration Fernsteuerung
09.06.15
14:00 – 18:00 Uhr
Teamarbeit: Querregelung und Geradeausflug
16.06.15
14:00 – xx:00 Uhr
Einführung Kreisflug
23.06.15
14:00 – xx:00 Uhr
Teamarbeit: Kreisflug
30.06.15
14:00 – xx:00 Uhr
Vorbereitung Abschlusspräsentation
07.06.15
14:00 – 16:00 Uhr
Abschlusspräsentation
14.06.15
14:00 – 18:00 Uhr
Nacharbeiten
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
6
Lehrstuhl für Datenverarbeitung
Technische Universität München
Bewertungssituationen
• 
• 
• 
• 
Abschlusspräsentation
Abschlussbericht (Dokumentation und Wiki-Seite)
Kurzaufgaben
Funktionalität
–  Funktion der Hardware
–  Fernsteuerung, Motoransteuerung
–  Höhenregelung, Längsregelung und Kreisflug
•  GIT Aktivität
•  Gesamtergebnis
–  Gesamteindruck, Arbeitsweise, Anwesenheit
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
7
Lehrstuhl für Datenverarbeitung
Technische Universität München
Die Mission
•  Bau einer Luftschiff-Gondel
•  Programmierung der Steuerung
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
8
Lehrstuhl für Datenverarbeitung
Technische Universität München
Das Szenario
•  Ein Miniatur-Luftschiff soll autonom einen
vorgegebenen Kurs fliegen
•  Das Team hat während der Mission keinen Zugriff auf
das Steuerungssystem des Luftschiffes
•  Es können nur die Inertialsensoren an Board des
Luftschiffes zur Bestimmung der Position verwendet
werden.
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
9
Lehrstuhl für Datenverarbeitung
Technische Universität München
Der Steuerkurs
Start
Ziel
y
x
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
10
Lehrstuhl für Datenverarbeitung
Technische Universität München
Randbedingungen 1/2
•  Die Durchführung der Mission erfolgt vollständig autonom
(bis auf den Start des Luftschiffes).
•  Es wird ein Start- und ein Ziel-Bereich vorgeben in dem das
Luftschiff starten bzw. sich am Ende der Mission befinden
muss.
•  Eine drahtlose Telekommunikationsverbindung zwischen
einer möglichen Basisstation und Luftschiff ist erlaubt.
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
11
Lehrstuhl für Datenverarbeitung
Technische Universität München
Randbedingungen 2/2
•  Das Luftschiff darf während der gesamten Mission nicht tiefer
als 0.75 m und nicht höher als 2 m fliegen.
•  Die Dauer eines Durchlaufs zum Absolvieren der Mission
beträgt maximal 15 Minuten. Nach dieser Zeit wird der
Durchlauf abgebrochen.
•  Es sind zwei Durchläufe erlaubt.
•  Mögliche Störungen durch externe Faktoren sind im Vorfeld
zu berücksichtigen (z.B. Zugluft)
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
12
Lehrstuhl für Datenverarbeitung
Technische Universität München
LDVrotor
•  Multiwii SE 2.5
•  ATmega 328P
–  Arduino kompatibel
•  InvenSense MPU6050
–  Gyroskop
–  Beschleunigung
•  Honeywell HMC5883L
–  Magnetometer
•  Bosch BMP085
–  Barometer
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
13
Lehrstuhl für Datenverarbeitung
Technische Universität München
Demo
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
14
Lehrstuhl für Datenverarbeitung
Technische Universität München
Was kann ich gut?
– 
– 
– 
– 
– 
– 
START
ENDE
1
2
4
5
3 min
Programmieren?
„Basteln“?
Löten?
Präsentieren?
Dokumentieren?
...
•  Warum wird in Gruppen gearbeitet?
–  Weil die Aufgaben von einer Person allein nicht bewältigt
werden können und weil im Idealfall im Ergebnis mehr erreicht
wird, als es die Addition der individuellen Kenntnisse,
Fähigkeiten und Fertigkeiten erwarten ließe.
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
15
Lehrstuhl für Datenverarbeitung
Technische Universität München
Gruppeneinteilung
•  3 Teams à 5 Mitglieder
•  Interessen und Kompetenzen abstimmen
– 
– 
– 
– 
– 
Wer programmiert gerne?
Wer „bastelt“ gerne?
Wer präsentiert gut?
Wer kann gut dokumentieren?
...
ST
10
E
8
6
4
2
1
•  Teamnamen und Mitglieder per Email an
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
16
Lehrstuhl für Datenverarbeitung
Technische Universität München
Dokumentation
http://www.daedalus.ei.tum.de
•  Anmeldung mit VornameNachname
•  Menü > Education (erst nach Login)
> Projektpraktikum
> SoSe 15 > TeamName 1-3
•  Jedes Team eine eigene Seite
–  Dokumentation als ein Teil der Prüfung
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
17
Lehrstuhl für Datenverarbeitung
Technische Universität München
- Pause START
15
10
ENDE
1 min
2
4
6
8
min
15 min
! Austausch der Kontaktdaten innerhalb der Gruppe
! Anmeldung am Wiki-System
! Erstellen der Team Homepage
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
18
Lehrstuhl für Datenverarbeitung
Technische Universität München
Einführung Arduino
•  Soft- und Hardware bilden sog.
Physical-Computing-Plattform
•  Open Source (HW + SW)
•  Entwickelt von Massimo Banzi und
David Cuartielles (2005)
•  Die ersten 50 Arduinos gingen an
eine Schule
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
19
Lehrstuhl für Datenverarbeitung
Technische Universität München
Arduino UNO
•  Herzstück ist natürlich der Mikrocontroller
(Atmega 328p)
•  EEPROM 1KB, SRAM 2KB, Flash Memory
32KB
•  Taktfrequenz 16Mhz
•  USB-Anschluss, 14 digitale I/O Ports (6
PWM fähig), 6 Analoge Eingänge
•  I2C und SPI Schnittstelle
•  Generell 5V Betriebsspannung
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
20
Lehrstuhl für Datenverarbeitung
Technische Universität München
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
21
Lehrstuhl für Datenverarbeitung
Technische Universität München
Arduino IDE
Preprocess
C/C++
Compiler
avr-gcc
Arduino libraries
Linker
Binutils
bin/hex-Datei
Upload
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
avrdude
22
Lehrstuhl für Datenverarbeitung
Technische Universität München
Beispielprogramm
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
Beschreibung
*/
// Pin 13 has an LED connected on most Arduino boards. Give it a name:
int led = 13;
Definitionen
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
Setup
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);
// turn the LED on (HIGH is the voltage level)
delay(1000);
// wait for a second
digitalWrite(led, LOW);
// turn the LED off by making the voltage LOW
delay(1000);
// wait for a second
}
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
Hauptschleife
23
Lehrstuhl für Datenverarbeitung
Technische Universität München
Hausaufgabe
! Arduino IDE installieren
! Python installieren
! PyQT4 installieren
Projektpraktikum Informationsverarbeitung – Kick-Off
Lehrstuhl für Datenverarbeitung / Johannes Feldmaier
24