Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

M.A.R.S. Technische Projektarbeit 2011 TI-5

Ähnliche Präsentationen


Präsentation zum Thema: "M.A.R.S. Technische Projektarbeit 2011 TI-5"—  Präsentation transkript:

1 M.A.R.S. Technische Projektarbeit 2011 TI-5

2 Motivation Das Team Hardware HW-Optimierung Datenbank Interface
Gliederung Motivation Das Team Hardware HW-Optimierung Datenbank Interface Parallelisierung

3 Motivation Zielsetzung Entwicklung eines
Mobile Augmented Reality Systems, für Schulungszwecke Aufbauend auf Ergebnissen des Trikolus Forschungsprojektes M.E.F.U. (2010) HSAOpenSURF (2011) Motivation Team Hardware Datenbank Software VHDL

4 Motivation Aufgabenstellung Gehäuse Stromversorgung
Embedded Linux System Anpassung an Hardware Optimierung Kameras Grafische Oberfläche Datenbank-/anwendung Motivation Team Hardware Datenbank Software VHDL

5 Das Team Andreas Füger GUI Datenbank Tobias Kögelsberger GUI
Dokumentation Andrei Ehrlich M.E.F.U. Datenbank Motivation Team Hardware Datenbank Software VHDL

6 Das Team Markus Bihler GUI Datenbankkonzept Michael Morscher EDV
Embedded Linux Christoph Schwarz VHDL Stromversorgung Motivation Team Hardware Datenbank Software VHDL

7 Das Team Christopher Proske VHDL Projektleiter Thomas Britzelmeier
M.E.F.U. Präsentation Motivation Team Hardware Datenbank Software VHDL

8 Hardware CAMELEON FPGA Kameras 640x480px Auflösung, schwarz/weiss
Programmierbarer SPARTAN 3E FPGA Softwaremodule aus Triokolos Projekten Motivation Team Hardware Datenbank Software VHDL

9 Hardware Pandaboard mit LCD Erweiterung Dual-Core ARM9 Prozessor
1 Ghz Taktfrequenz 1024 MB Arbeitsspeicher 7” Touchscreen mit 800x480 Pixel Auflösung SD-Kartenslot --> Genügend Leistung! Motivation Team Hardware Datenbank Software VHDL

10 Hardware Stromversorgung Anforderungen 5V Konstantspannung
Genügend Leistung für Peripherie und Board Hoher Wirkungsgrad Handelsübliche Bauteile Geringe Wärmeentwicklung Schaltregler LM2676 Komponenten Verbrauch Pandaboard ~ CAMELEON Kameras =~ Motivation Team Hardware Datenbank Software VHDL

11 Hardware Stromversorgung Layout kompakte Abmessungen
kurze stromführende Pfade von Hand herstellbar Motivation Team Hardware Datenbank Software VHDL

12 Hardware Ergebnis --> Universell einsetzbare Stromversorgungsplatine 8V-40V Eingangsspannung 5V Konstantspannung 3A maximale Belastbarkeit Wirkungsgrad größer als 90% 8x2700mAh NI-MH AA Akkus Motivation Team Hardware Datenbank Software VHDL

13 Hardware Gehäuse Probleme Mobil, stabil, modular
Brennpunkt für Kameras Platz für alle Komponenten Probleme Höhe Pandaboard Fehlender Kamera Autofokus Kurze Displayflachbandkabel Kameras Gehäuse Objekt ca. 30° ca. 60 cm Motivation Team Hardware Datenbank Software VHDL

14 Hardware Gehäuse Material: Sperrholz lackiert Maße von 20xx10
Leicht Stabil Maße von 20xx10 Modulares Trägersystem Batteriefach AN/AUS Schalter Motivation Team Hardware Datenbank Software VHDL

15 Hardware Gehäuse BILD VORNE BILD Hinten Motivation Team Hardware
Datenbank Software VHDL

16 Hardware Motivation Team Hardware Datenbank Software VHDL

17 Datenbank Mars XML-Datei 1:n n:1 n:n Motivation Team Hardware
-Objekt: Informationen zum Objekt wie ID, Name, Beschreibung, Abmessung Kann mehrere Tutorials und Komponenten enthalten -Komponente: Informationen zu einer Kopmonente wie ID, Name, Beschreibung, Position und Abmessung Kann nur zu einem Objekt gehören, aber zu mehreren Tutorialschritten -Tutorial: Informationen zum Tutorial wie ID, Name, Beschreibung Kann nur zu einem Objekt gehören Kann mehrere Tutorialschritte enthalten -Tutorialschritt: Informationen zum Schritt wie ID, Name, Beschreibung/Anleitung/Anweisung, zu markierende Komponenten Kann nur zu einem Tutorial gehören Kann mehrere Komponenten enthalten Motivation Team Hardware Datenbank Software VHDL

18 Datenbank Software Paket MEFU Database-Creator M.A.R.S. DB-Tool
Einlesen neuer Objekte Ergebnis der Projektarbeit MEFU. M.A.R.S. DB-Tool Anlegen von Komponenten Erstellen von Tutorials Eigenentwicklung Allgemein: Zum visuellen Einlesen bzw. Aufnehmen neure Objekte in die Datenbank wird das Tool MEFU Database-Creator-3d der Projektarbeit MEFU verwendet. DB-Tool: Das Mars DB-Tool dient dem Erstellen der Datenbestände zu jedem Objekt durch den Benutzer Ein Datenbestand enthält die Beschreibung des Objekts und dessen Komponenten, sowie die Tutorials und deren Schritte Motivation Team Hardware Datenbank Software VHDL

19 Datenbank M.A.R.S. DB-Tool
Komponentendaten in Textdatei eingeben und als Shellskript abspeichern DB.sh über Konsole ausführen. marsXMLgenerator.sh wird im Hintergrund ausgeführt Ergebnis: XML-Datei die von der M.A.R.S. Software verwendet werden kann Benutzer definiert den Datenbestand zu einem Objekt in einer „Textdatei“ und speichert diese als ausführbares Shellskript. Nach Aufruf des obinge Skripts nimmt das eigentliche DB-Tool marsXMLgenerator.sh die Arbeit auf und erstellt aus den enthaltenen Informationen eine XML-Datei. Die generierte Mars XML-Datei enthält alle Information zu einem Objekt in einer Software versändlichen Datenstruktur Motivation Team Hardware Datenbank Software VHDL

20 Datenbank Besonderheiten Vorteile Benutzerfreundliche Datenerfassung
Kommentare möglich Shell Syntax Highlighting Vorteile Kurze Einlernphase Hohe Kapselung Systemunabhängig Besonderheit: Die Informationen werden vom Benutzer direkt in ein Skript geschrieben. Aus Benutzersicht ist lediglich eine Textdatei unter Einhaltung einfacher syntaktischer Regeln zu erstellen bzw. zu editieren. Vorteil: Man bedient sich der Parser-Funktion der Shell. Flexiblere Textgestaltung Bessere Lesbarkeit durch Einfügen von Kommentaren und Spalten Syntax-Highlighting Motivation Team Hardware Datenbank Software VHDL

21 Datenbank Beispiel: Motivation Team Hardware Datenbank Software VHDL

22 Software GTK+ Anforderungen GUI Linux kompatibel Ressourcenschonend
Kompatibel mit OpenCV Intuitiv bedienbar Interaktive Funktionalität Unsere Wahl: GTK+ nutzt C/C++ Plattformunabhängig einfache Programmierschnittstelle Motivation Team Hardware Datenbank Software VHDL

23 Software Allgemeiner Ablauf GUI Free Mode Tutorial Mode Start ENDE
Modus? Start ENDE M.E.F.U. fertig? 100 ms fest eingetragen fesster timestep Motivation Team Hardware Datenbank Software VHDL

24 Software Tutorial Mode Free Mode Start Start Ende Ende Nächstes Objekt
bestimmen Erkannte Objekte markieren Tutorial Buttons anzeigen Ende Komponenten Markieren Next-, Prev- und Back Butten anzeigen Beschreibungstext anzeigen Anweisungstext anzeigen Ende Motivation Team Hardware Datenbank Software VHDL

25 Software ein gemeinsamer Thread FPGA - Kameras MEFU MARS Zeit
Bild anfordern Bild aufnehmen Leerlauf Bild abholen GUI gesperrt! Objekterkennung Leerlauf Zeit neues Bild verfügbar GUI neu zeichnen Bild anfordern Ablauf: MEFU-Funktion fordert ein Bild von der Kamera an Kameras benötigen ca. 1sek um Bild aufzunehmen und SURF-Berechnungen durchzuführen MEFU-Funktion wartet während dieser Sekunde Bild wird übertragen und MEFU-Funktion führt Objekterkennung und Posenbestimmung durch (dauert ca. 0,8s) GUI zeichnet neues Bild und markiert die Objekte/Komponenten (dauert ca. 0,1s) Probleme: GUI ist während dem gesamten Vorgang gesperrt (Buttons können nicht angeklickt werden usw.) Pandaboard-CPU und FPGA-Chips im Leerlauf, während der jeweils andere Rechnet Die dünnen horizontalen Pfeile sollen Signale darstellen -Bild von FPGA-Kameras anfordern -Bild von FPGA-Kameras ist bereit -Objekterkennung von MEFU ist fertig Bild aufnehmen Leerlauf GUI gesperrt! Bild abholen Motivation Team Hardware Datenbank Software VHDL

26 Software FPGA - Kameras MEFU - Thread MARS - Thread Zeit Bild abholen
Bild anfordern GUI bedien bar Bild aufnehmen Objekterkennung neues Bild verfügbar GUI neu zeichnen Bild abholen Bild anfordern Objekterkennung GUI bedien bar Bild aufnehmen Zeit neues Bild verfügbar Je ein Thread für MEFU und GUI Verhindert, dass GUI während den Berechnungen von MEFU gesperrt ist GUI nur noch während neuzeichnen gesperrt (ca. 0,1s) MEFU-Funktion und FPGA-Kameras parallelisieren Kein Leerlauf mehr Ablauf MEFU-Thread holt Bild von FPGA-Kamera ab (im letzten durchlauf angefordert) MEFU-Thread fordert Bild für nächsten durchlauf an MEFU-Thread führt Objekterkennung durch, FPGA-Kamera nimmt gleichzeitig neues Bild auf MEFU-Thread signalisiert der GUI, dass Bild fertig ist GUI wird neu gezeichnet usw. GUI neu zeichnen Bild abholen Bild anfordern Objekterkennung GUI bedien bar Bild aufnehmen Motivation Team Hardware Datenbank Software VHDL

27 VHDL Aufgabe Erstellen eines IP-Cores für eine Integralbild Berechnung Vorteile schnellere Berechnung Softcore wird entlastet Kamera Cypress USB Sensor VDEC Integralbild SURF USB SDRAM Controller μBlaze SDRAM FPGA (Spartan 3E) PLB Motivation Team Hardware Datenbank Software VHDL

28 VHDL Nutzen Integralbild
--> Berechnung einer Fläche für SURF-Algorithmus Orginalbild Integralbild Integrierer IP-Core Motivation Team Hardware Datenbank Software VHDL

29 VHDL Struktur des IP-Cores Motivation Team Hardware Datenbank Software
Mem Ctrl Master Burst FIFO Integrierer + BRAM Mem_ctrl Sensor (VDEC) PLB Softcore Daten Daten + Sync Daten + Sync + Enabele PLB-Control Sync skip full controllstatus integrierer_main.vhd user_logic.vhd Integrierer.vhd Motivation Team Hardware Datenbank Software VHDL

30 VHDL Eigenschaften Skalar Höhere Taktfrequenz als PLB möglich
Geringer Ressourcenverbrauch 848 Slices 1041 FlipFlop 1194 Lookup Table 3 BRAM Blöcke IP-Core kann wiederverwendet werden Skalar (d.h. ein Ergebnis pro Takt) theoretisch hoeher als mit PLB moeglich PLB BUS der alles verinbdet Struktur des IP-Cores kann auch für andere Bildoperationen hergenommen werden Motivation Team Hardware Datenbank Software VHDL

31 Fazit Funktionierendes Mobiles Augmented Reality System
Herstellung eines Gehäuses Herstellung einer Energieversorgung Entwicklung eines Datenbanktools Erweiterung des MEFU Projekts Entwicklung eines Integrierer IP-Core Funktionierendes Mobiles Augmented Reality System Motivation Team Hardware Datenbank Software VHDL Fazit


Herunterladen ppt "M.A.R.S. Technische Projektarbeit 2011 TI-5"

Ähnliche Präsentationen


Google-Anzeigen