1 / 43

PG 420 RoCK: Abschlussvortrag

Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel. PG 420 RoCK: Abschlussvortrag. Betreuer: Jens Wagner, Lars Wehmeyer. PG 420 RoCK - Abschlussvortrag. Gliederung Einleitung Problembeschreibung Hardware Software Benchmark Fazit Ausblick Live-Demonstration.

eldon
Download Presentation

PG 420 RoCK: Abschlussvortrag

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lehrstuhl Informatik XII – Eingebettete Systeme – Prof. Dr. Peter Marwedel PG 420 RoCK:Abschlussvortrag Betreuer: Jens Wagner, Lars Wehmeyer

  2. PG 420 RoCK - Abschlussvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  3. 1. Einleitung • 12 Studenten – 1 Jahr Detlev Bartsch Torsten Denno Pedram Hadjian Nico Karnatz André Kernchen Andreas Klapschus Marcus Ladwig Michael Patzer Matthias Reck Christoph Schlagbaum Daniel Smolinski Thorsten Wilmer

  4. 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

  5. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  6. 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 RCX-Einheit Sensoren Aktoren

  7. 2. Problembeschreibung • Motivation • Bessere Hochsprachenunterstützung • Modularität • Bessere Anzeige • Mehr und andere Sensoren ermöglichen

  8. 2. Problembeschreibung • Komponenten unserer Lösung: RoCK Zentraleinheit Betriebs- system RoCKWire Applikation Compiler Sensor/Aktorhub Firmware Hardware Software

  9. 2. Problembeschreibung • Zur Verfügung stehende Hilfsmittel • Eagle zum Platinendesign • Lance, Olive ++ und LLIR zur Compilererstellung • MP-Lab, Demoboard • MOSFET-Bausteine

  10. 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

  11. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  12. 3. Hardware • Das Zielsystem Sonar RS232 I²C PC 2 Motoren RoCK-Einheit ICD2 2x RoCKWire-Master 3 Sensoren RoCKWire-Bus Batterie LC-Display Motorhub 2 Motoren Sensorhub 3 Sensoren

  13. 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

  14. 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

  15. 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 Aktorhub Sensorhub

  16. 3. Hardware • Wie stellen wir LEGO-Kompatibilität sicher? • LEGO-Gehäuse und -Stecker (Verpolungsschutz) • 9 V Systemspannung • Analoge Sensorschnittstelle

  17. 3. Hardware - RoCKWire • Eigenschaften des RoCKWire-Protokolls Byte des Master Stromversorgung über den Bus Pollbit Startbit Paritybit Antwort des Slave

  18. 3. Hardware - RoCKWire • Eigenschaften des RoCKWire-Protokolls Startbit Takt 1 0

  19. 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

  20. 3. Hardware

  21. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  22. 4. Software • Teilaufgaben • Betriebssystem (SOUL) • Treiber und APIs (z.B. RoCKWire, LCD, Motoren, Sensoren ...) • ANSI-C-Compiler • Benchmark: Die Drop-Zone-Applikation in C

  23. 4. Software - Betriebssystem • Aufbau von SOUL • Soul is an Operating System for Use with Lego

  24. 4. Software - Betriebssystem • Zwei mögliche Stack-Verwaltungsstrategien • Tauschen • Nachteil: Gesamter Stack muss im PCB gesichert werden! Interrupts sind auszuschalten • Teilen • Nachteil: Nur wenig Stack pro Task zur Verfügung Nur 1536 Byte RAM vorhanden!

  25. Task3 21-31 Task1 10-20 4. Software - Betriebssystem • SOUL-Stack-Verwaltungsstrategie • Insgesamt stehen 31 x 21 Bit Speicher für Returnadressen zur Verfügung! Adresse 0 = Resetvektor Task2 21-31 System-Task 6-9 Idle-Task 1-5 0

  26. 4. Software - Betriebssystem • Die Toolchain

  27. 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

  28. IR3-Adress-Code LANCE2 OLIVE++ C-Code LLIR 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

  29. 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

  30. 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,-1,0,0,1, 41,1,-1,-1,0,2, >, 37,1,-1,0,0,1, -, 37,1,-1,0,1,1, 60,-1,0,-1,-1,0, 60,-1,0,-1,-1,3, >, 40,-1,2,-1,-1,0, 61,1,-1,0,1,2, … […]

  31. 4. Software - Compilerbau • Backend-Optimierung Teil 2 • Sukzessives Instruktions-Matching im PHTree durch Traversieren der LLIR und Ersetzen gefundener Peepholes … MOVF v_2,0,0 SUBLW 21 SUBLW 0 MOVLW 21 SUBWF 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

  32. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  33. 5. Benchmark • Drop-Zone-Mission • Randbedingungen • 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 !

  34. 5. Benchmark • Drop-Zone-Mission • Der 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!

  35. 5. Benchmark – Sonarmessung Beispiel für ein Sonar-Meßfeld beim „Scannen“ des Spielfelds. 2 Objekte direkt nebeneinander werden erkannt! Meßstrecke

  36. 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 ODER Drop Zone suchen

  37. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  38. 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

  39. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  40. 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 ?

  41. PG 420 RoCK - Abschlußvortrag • Gliederung • Einleitung • Problembeschreibung • Hardware • Software • Benchmark • Fazit • Ausblick • Live-Demonstration

  42. 8. Live-Demonstration • Präsentation • Drop-Zone-Mission mit Sonar

  43. 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!

More Related