Upload
trinhlien
View
215
Download
0
Embed Size (px)
Citation preview
22.09.2003
PG 420 RoCK:Abschlussvortrag
Betreuer: Jens Wagner, Lars Wehmeyer
Lehrstuhl Informatik XII – Eingebettete Systeme –Prof. Dr. Peter Marwedel
Folie 222.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlussvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 322.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
1. Einleitung
12 Studenten – 1 JahrDetlev Bartsch
Torsten Denno
Pedram Hadjian
Nico Karnatz
André Kernchen
Andreas Klapschus
Marcus Ladwig
Michael Patzer
Matthias Reck
Christoph Schlagbaum
Daniel Smolinski
Thorsten Wilmer
Folie 422.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
1. Einleitung
Die Teilnehmer- Zwölf Studenten
- Informatik und Ingenieurinformatik
- Interesse an praktischer Anwendung erworbenen Wissens
- Interesse an neuem Wissen aus dem Bereich „Embedded Systems“
und Compilerbau
- Heterogenes Teilnehmerfeld
- Unterschiedliche Vorkenntnisse
- Unterschiedliche Erwartungshaltungen
- Faszination für den Bau von Robotern
Folie 522.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 622.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
2. Problembeschreibung
LEGO Mindstorms als Ist-Zustand• Plattform, um schnell verschiedenartige Roboter zu bauen
(Zielgruppe: Kinder ab acht Jahren)
• Basierend auf Hitachi 16-Bit-Prozessor in einer geschlossenen
Einheit
• Einfaches Display; drei Sensor- und drei Aktoranschlüsse
SensorenAktorenRCX-Einheit
Folie 722.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
2. Problembeschreibung
Motivation• Bessere Hochsprachenunterstützung
• Modularität
• Bessere Anzeige
• Mehr und andere Sensoren ermöglichen
Folie 822.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
2. Problembeschreibung
Komponenten unserer Lösung:
Zentraleinheit
Sensor/Aktorhub
RoCKWire
Firmware
Applikation
Betriebs-system
Compiler
RoCK
Hardware Software
Folie 922.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
2. Problembeschreibung
Zur Verfügung stehende Hilfsmittel• Eagle zum Platinendesign
• Lance, Olive ++ und LLIR zur Compilererstellung• MP-Lab, Demoboard
• MOSFET-Bausteine
Folie 1022.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
2. Problembeschreibung
Konsequenzen für das weitere Vorgehen:- Grobstrukturierung des Hauptproblems in Hardware- und
Softwareprobleme
- Festlegung von Verantwortlichkeitsbereichen
- Bildung von Teilaufgaben
- Erstellung von Zeitplänen
- Festlegung und Einhaltung von Deadlines
Folie 1122.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 1222.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware
Das Zielsystem
Batterie
RoCK-Einheit2 Motoren3 Sensoren 2x RoCKWire-Master
Sensorhub3 Sensoren
Motorhub2 Motoren
LC-Display
RoCKWire-Bus
Sonar
I²CPC
RS232
ICD2
Folie 1322.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware
Teilaufgaben
• Einarbeitung in neue Hardware
• Schaltungsdesign
• Entwurf und Aufbau einer 1-Wire-Technologie (RoCKWire)
• Entwurf eines Prototyp-Boards
• Platinendesign
• Bestücken der SMD-Platinen
• Konstruktion der Roboter
• Funktionstest
Folie 1422.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware
Eigenschaften der Zentralen Steuereinheit• Kommunikation mit dem PC über RS232 oder ICD2
• ISP (In-System-Programmierbarkeit)
• führt Applikation aus
• I2C Bus
• schnelle Sensorabfrage
• Steuerung der RoCKWire Clients
• genügend Anschlüsse für Sensoren, Aktoren und RoCKWire
• kleine Abmessungen als LEGO RCX-Einheit
Folie 1522.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware – RoCKWire-Slaves
Eigenschaften• Verwendung des PIC12 in Hubs
• Master-Slave-Bus
• Parasitäre Energieversorgung der Slaves
• Verwendung von LEGO-Steckern
• Firmware bearbeitet Befehle des Masters
• One-Wire-Technologie
Der PIC12-Prozessor
AktorhubSensorhub
Folie 1622.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware
Wie stellen wir LEGO-Kompatibilität sicher?- LEGO-Gehäuse und -Stecker (Verpolungsschutz)
- 9 V Systemspannung
- Analoge Sensorschnittstelle
Folie 1722.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware - RoCKWire
Eigenschaften des RoCKWire-Protokolls
Startbit Paritybit
Stromversorgungüber den Bus
Byte desMaster
Antwortdes Slave
Pollbit
Folie 1822.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware - RoCKWire
Eigenschaften des RoCKWire-Protokolls
Startbit Takt 1 0
Folie 1922.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware
Die Bestandteile des Roboter-Systems- Zentraleinheit
- Sensor-/Aktorhubs
- RoCKWire
Inkrementelle Vorgehensweise- Auswahl und Beschaffung der Komponenten
- Aufbau und Tests am Evaluation Board
- SMD-Platinenentwurf und -aufbau
- Funktionstests
- Inbetriebnahme
Folie 2022.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
3. Hardware
Folie 2122.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 2222.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software
Teilaufgaben
• Betriebssystem (SOUL)
• Treiber und APIs (z.B. RoCKWire, LCD, Motoren, Sensoren ...)
• ANSI-C-Compiler
• Benchmark: Die Drop-Zone-Applikation in C
Folie 2322.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Betriebssystem
Aufbau von SOUL
Soul is an Operating System for Use with Lego
Folie 2422.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Betriebssystem
Zwei mögliche Stack-Verwaltungsstrategien
Task10-31
Task20-31 Task3
16-23
Task10-7
Task28-15
Task424-31
a) Tauschen
Nachteil: Gesamter Stack muss im PCB gesichert werden! Interrupts sind auszuschalten
b) Teilen
Nachteil: Nur wenig Stack pro Taskzur Verfügung
Nur 1536 Byte RAM vorhanden!
Folie 2522.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Betriebssystem
SOUL-Stack-Verwaltungsstrategie
Insgesamt stehen 31 x 21 Bit Speicher für Returnadressen zur Verfügung!
Adresse 0 = Resetvektor
Task221-31
Task110-20
System-Task6-9
Idle-Task1-5
0
Task321-31
Folie 2622.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Betriebssystem
Die Toolchain
Folie 2722.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Compilerbau
Compilerbau- Bislang kein kostengünstiger Compiler für PIC18F452
- Übersetzung und Ausführung eines Programms
- Sensorwerte abfragen, Aktoren ansteuern
Compiler-Hilfsmittel (bereitgestellt vom LS XII
und dem ICD)
- Compiler-Frontend LANCE
- Code-Generator-Generator OLIVE ++
- Backend-Datenstruktur LLIR
Folie 2822.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Compilerbau
Besonderheiten im Backend• Durch Codeselektion entsteht LLIR-Datenstruktur
• Implementierung eines Softwarestacks für Funktionsparameter
(unterstützt auch Rekursion)
• Initialisierung von globalen Variablen in Funktion c_0
• Unterstützt Codeerzeugung für Accessbank oder beliebige Bank
• Datentypen: Integer, Char, Pointer, Arrays
• Interface zum OS durch C-Headerdatei
C-Code
IR3-Adress-
CodeLLIR
LANCE2 OLIVE++
Folie 2922.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Compilerbau
Besonderheiten der
Registerallokation- Implementierung nach Appel
- Sichtweise: jede Bank (1+7)
beinhaltet 256 Register
- Grenzwert für Allokation entspricht
der Bankgröße
- Ausgabe des Interferenzgraphen
als VCG-File
Folie 3022.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Compilerbau
Backend-Optimierung Teil 1– Peephole-Tree: wird dynamisch aus picpeep.dat aufgebaut – Parameter: Instruction Code, Fileregister, Literal, Destination, Bank, Depth
……
37,1,37,1,--1,0,0,1,1,0,0,1,
41,1,41,1,--1,1,--1,0,2,1,0,2,
>,>,
37,1,37,1,--1,0,0,1,1,0,0,1,
--,,
37,1,37,1,--1,0,1,1,1,0,1,1,
60,60,--1,0,1,0,--1,1,--1,0,1,0,
60,60,--1,0,1,0,--1,1,--1,3,1,3,
>,>,
40,40,--1,2,1,2,--1,1,--1,0,1,0,
61,1,61,1,--1,0,1,2,1,0,1,2,
…
[…]
Folie 3122.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
4. Software - Compilerbau
Backend-Optimierung Teil 2– Sukzessives Instruktions-Matching im
PHTree durch Traversieren der LLIR und Ersetzen gefundener Peepholes
MOVF v_2,0,0SUBLW 21SUBLW 0
MOVLW 21SUBWF v_2,0,0
37,1,-1,0,0,1,60,-1,0,-1,-1,0,60,-1,0,-1,-1,3,>,40,-1,2,-1,-1,0,61,1,-1,0,0,2,
ASM-File picpeep.dat
…
Folie 3222.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 3322.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
5. Benchmark
Drop-Zone-MissionRandbedingungen
• Zwei DIN A0-Blätter
• Drei Hindernisse
• Drei Coladosen (Payload)
• Grüne Drop-Zone
• Roboter
• schwarze Umrandung
Ziel: Alle Dosen in der Drop Zone abstellen
Die Drop-Zone-Mission wurde von der LEGO-RCX-Einheit bisher
nicht zufriedenstellend gelöst !
Folie 3422.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
5. Benchmark
Drop-Zone-MissionDer Roboter
• Zwei Lichtsensoren
• Differentialgetriebe
• Eine Sonareinheit, 90° schwenkbar
• Magnetsystem zum Dosen „fangen“
• Abstoßvorrichtung
• Vier „Bumper“
Hohe Zahl an Sensoren und Aktoren
und sogar ein Sonar ansteuerbar!
Folie 3522.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
5. Benchmark – Sonarmessung
Beispiel für ein Sonar-Meßfeldbeim „Scannen“ des Spielfelds.
2 Objekte direkt nebeneinander werden erkannt!
0
20
40
60
80
100
120
1 18 35 52 69 86 103
120
137
154
171
188
205
222
239
256Meßstrecke
Folie 3622.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
5. Benchmark – Algorithmus
Erkennung eines Objekts (z.B. Coladose)- Abtasten der Umgebung
- Sonarsignal (blau) verarbeiten
- Glättung durch Software (rosa)
- Dosenerkennung durch Minimumlokalisierung
- Roboter um 90° drehen
- Hindernis anfahren
- prüfen, ob magnetisch
- ggf. zurückfahren und weitersuchen ODERDrop Zone suchen
0
20
40
60
80
100
120
1 28 55 82 109
136
163
190
217
244
geglättetSonar
Folie 3722.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 3822.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
6. Fazit
Was wurde erreicht?- Eigenes Betriebssystem entwickelt
- Eigenen Compiler entwickelt
- Durch Bussystem sehr modular erweiterbar
- Lösen der Drop Zone Mission
- Präsentation am Tag der offenen Tür
- 2 komplette RoCK-Einheiten aufgebaut
Folie 3922.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 4022.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
7. Ausblick
Was wäre wünschenswert?Was wurde nicht (mehr) erreicht
• IR - Programmierbarkeit
• IR-Slave und LCD nicht komplett integriert
• Zweite RoCKWire-Master-Software nicht fertiggestellt
Was wäre weiterhin wünschenswert
• mehr Compiler-Funktionen (z.B. weitere Datentypen, zus. Funktionen)
• weitere Sensor- und Aktortypen
Folie 4122.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
PG 420 RoCK - Abschlußvortrag
Gliederung
1. Einleitung
2. Problembeschreibung
3. Hardware
4. Software
5. Benchmark
6. Fazit
7. Ausblick
8. Live-Demonstration
Folie 4222.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
8. Live-Demonstration
PräsentationDrop-Zone-Mission mit Sonar
Folie 4322.09.2003PG 420 RoCK: Robot Construction Kit
Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel
Robot Construction Kit
Das Team ...
Detlev Bartsch, Torsten Denno,
Pedram Hadjian, Nico Karnatz, Andre Kernchen,
Andreas Klapschus, Marcus Ladwig, Michael Patzer,
Matthias Reck, Christoph Schlagbaum, Daniel Smolinski,
Jens Wagner, Lars Wehmeyer, Thorsten Wilmer
... beantwortet gern Ihre Fragen!