Abschlusspräsentation

Slides:



Advertisements
Ähnliche Präsentationen
Tipps & Tricks zu benutzerdefinierten Animationspfaden
Advertisements

Von David Keß, Heinrich Wölk, Daniel Hauck
Grundlagen der Geometrie
Map API Integration. 22 Intro Sage: Map.Search Integration Offen für Erweiterung, geschlossen für Änderung.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Sortieren mit Binären Bäumen
Java: Objektorientierte Programmierung
Sortierverfahren Richard Göbel.
Indirekte Adressierung
Praktikum Mobile Roboter
Ein Beispiel in Java.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Face Recognition in Public Display. Gliederung Hintergrund Technik Unser Fall Facedetection in OpenCV Zugreifen auf OpenCV-Dateien mit Javaprogramm Fazit.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu.
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Projekt Web Engineering
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
1 Animation (Doublepuffering) Vorlesung: Datenverarbeitung Grundlagen 3 Fachbereich II - Mathematik Rolf Heitzenröder.
UNDO & SELECT Vortrag : Martin Hiersche
Portierung von Java nach C
Entwurfsmuster EDV Entwurfsmuster.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Face Detection Probleme: Welche Software ist für unser Projekt die richtige?
| FB20 | Chat System – Gruppe B Andre Ester, Florian Müller, Nino Raubaum.
Erfurt University of Applied Sciences
Kapitel 1 – Erste Schritte
Wenn Programme Entscheidungen fällen müssen, dann …
Übersicht Motivation Konzeption Umsetzung/ Implementierung
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 14: Schrittweise.
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
grundlagen der Wirtschafts- informatik
Guten Nachmittag!.
Automated Software Testing
Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003.
Ändern von Merkmalen Geometrie Topologie Attribute.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
Parallel Matrix Multiplication
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Einführung. Steuerelemente Hier erstellt man das Fenster, mit dem der Anwender später arbeiten soll: Werte eingibt Buttons klickt Auswahlen trifft.
Herbers Excel-Server - der Workshop
Programmierpraktikum Java SS 2005
Parameterübergabemechanismen für den Methodenaufruf
Objectives Verstehen was unterDelegate verstanden wird
Starten der Entwicklungsumgebung (IDE)
Erste Schritte in DELPHI
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
SFZ FN Sj. 13/14 Python 2 Turtle Inf K1/2 Sj 13/14 GZG FN W.Seyboldt.
Java-Kurs Übung Benutzeroberflächen und Graphik
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Wien Oberflächengestaltung und Gestensteuerung Styles, ActionBar und Gestensteuerung.
Pascal Brunner Uniklinik RWTH Aachen Institut für Medizinische Informatik Integration von ImageJ- und Matlab- Servern in das Electronic Data Capture klinischer.
Christoph Wirtz | Seminarvortrag EBC | Lehrstuhl für Gebäude- und Raumklimatechnik Ein Tool zum automatisierten Erstellen von Conversion Scripts.
Nutzung interaktiver Systeme mit Windows-Tools Grundlagen Die Legamaster Touchsysteme funktionieren grundsätzlich per „Plug & Play“-Technik ohne Installation.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Die Struktur einer Java-Klasse
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Objects first mit BlueJ und Greenfoot
 Präsentation transkript:

Abschlusspräsentation Projekt ”Diogenes”

Vortragsablauf Benutzte Softwaretechnikmethoden GUI Movement Wander-Funktion Map Kamera Facedetection Was nehmen wir mit?

SOFTWARETECHNIK METHODEN

Softwaretechnik im Projekt Methoden: Vorgenommen: Unified Process Ausgeartet in: Extreme Programming

Softwaretechnik im Projekt Funktionalität des Programms im Vordergrund Einfache Bedienung

Softwaretechnik im Projekt Gruppenkommunikation über Facebook Google:Code als Repository

Aufwandsschätzung Top-Down Zeitpunkt Abgabe war klar Teilaufgaben verteilt um Termin einzuhalten

Gantt-Diagramm

Verwendete Testmethoden Sporadische Tests Konstruktive Nur getestet worauf User Einfluss hat Final: Walkthrough

GUI

GUI – Was ist uns wichtig? Übersichtliche GUI Wenig Unterbäume Einfach zu bedienen/selbsterklärend

Idee Wenig Pop-ups Klar strukturiertes Menü Viele Informationen auf einen Blick

Alte GUI

Neue Funktionen Manuelle Steuerungsoptionen Switch zwischen Roboter und Kamerasteuerung Map angepasst

Neue Funktionen Präsentationsmodus auf Roboter Roboter wird auf Map dargestellt Option für Facedetection

Wegrationalisierte Funktionen Koordinatenangabe

Finale GUI

Probleme bei der GUI Position der Teilfenster Auswahl Layout Hängen während Befehle ausgeführt werden

MOVEMENT

Movement ...wo wir waren: MoveTo MoveForward/Backward TurnLeft/Right Wander

Movement WRPCommands zur Anfrage einer Bewegung: GOTO_XY MOVE_BACKWARD MOVE_FORWARD TURN_LEFT TURN_RIGHT Movement

Movement Entwickeln von Workarounds mit GOTO_XY 1 Woche später: Nicht machbar 2 Wochen später: Bugfix! (WRPServer-1.1.0)

Movement ...war ein Zeitfresser! Grundfunktionalität verstehen (Doku?) Rumprobieren Fehlersuche am falschen Ende Workarounds – Code für die Tonne Movement

WANDER-FUNKTION

Wander Funktion Punkte durch klicken auf die Map festlegen Ausgewählte Punkte in der Map darstellen Umrechnung Panel ↔ Roboterkoordinaten Einzelne Punkte auf der Karte abwandern Darstellung bei Zoom und Scroll anpassen

Ablauf Klick auf die Map erstellt Punkt Jeder Punkt → Kreis auf der Map Werden in einer Liste gespeichert Umrechnung in Roboterkoordinaten Roboter kriegt umgerechnete Koordinaten Punkte abwandern Löschen der Punkte auf der Map

Beispielbild Blaue Punkte = Wegpunkte Roter Punkt = Roboter Start des Wanderns über Functions → wander the given points

Umrechnung X-Wert * Skalierung Y-Wert * Skalierung * -1 Mapverschiebung mit einrechnen +/- Verschiebung * Skalierung

MAP

Map Visualisierung Problemstellung: Wie visualisiert man angegebene Punkte & Linien im Textformat für eine GUI. 2 Ansätze: Ein Bild davon erstellen Direkt auf dem Panel zeichnen LINES -2900 -514 -2901 -1881 -2278 688 -2278 313 -1203 279 -1204 -534 DATA(points) -2920 -1880 -2920 -1700 -2920 -1600

Ansatz: Bild erstellen Punkte und Linien werden dem Graphics(2D) Objekt eines BufferedImage's hinzugefügt. for (MapLine ml : lines){ g.drawLine((int)ml.getP1().getX(), (int)ml.getP1().getY()*-1, (int)ml.getP2().getX(), (int)ml.getP2().getY()*-1 ); } for (MapPoint mp : points){ g.drawLine((int)mp.getX(), (int)mp.getY()*-1, (int)mp.getX()+5), ((int)mp.getY()*-1

Ansatz: Bild erstellen Generell gute Idee, aber Probleme! Map Koordinaten != GUI Koordinaten Bild Koordinaten ggf. != GUI Koordinaten → hoher Aufwand, evtl. nicht performant. Ebenfalls Probleme beim skalieren/zoomen → Bild für jedes zoomen neu erstellen? Keine gute Idee → wurde verworfen

Ansatz: Direkt auf dem Panel zeichnen Gleiche Vorgehensweise wie Bild erstellen Unterschied: paintComponent Methode des Panels wird überschrieben und dort die Linien und Punkte gezeichnet. Vorteile: → Map Koordinaten ~ Panel/GUI Koordinaten → Einheitliches skalieren mit wenig Aufwand möglich

Ansatz: Direkt auf dem Panel zeichnen Resultat:

Problem – große Map, kleineres Sichtfeld Maps können teilweise sehr groß sein Verhältnis Mapgröße ↔ GUI Fenster teilweise schlecht Lösung: → MapPanel zoomable machen Zoomfaktor einführen, kein Zoom → Zoomfaktor 1.0 In der paintComponent() Methode muss dann der zoomfaktor auf die x & y Werte multipliziert werden. public static void zoomOut() { if(zoomFactor >= 0.5){ MapCanvas.zoomFactor -= 0.1; } public static void zoomIn() { if(zoomFactor <= 2.0){ MapCanvas.zoomFactor += 0.1; }

FACE DETECTION

Welche Software ist für unser Projekt Face Detection Probleme: Welche Software ist für unser Projekt die richtige?

Face Detection Alternativen Faint OpenCV Face.com

Entscheidung fiel auf: Face Detection Entscheidung fiel auf:

Face Detection Warum? Faint: Läuft nur unter Windows OpenCV: C++ Version kam nicht in Frage Java Version genügte nicht unseren Anforderungen Face.com: Verhältnismäßig einfache Integration in unser Projekt

Face Detection Funktionsweise Gesichtsmerkmale werden auf Face.com mit einem Label gespeichert Vergleich der Merkmale eines übergebenen Fotos mit den gespeicherten

Face Detection Fazit In dem Sinne keine Face Detection Passender: Face Recognition

Was nehmen wir mit?

Was nehmen wir mit? Wichtige Erkenntnisse: API gut dokumentieren! Erst denken -> dann programmieren = riesige Zeitersparnis!

Was nehmen wir mit? - gute Kommunikation in der Gruppe wichtig!