Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Abschlusspräsentation Projekt Diogenes. Vortragsablauf Benutzte Softwaretechnikmethoden GUI Movement Wander-Funktion Map Kamera Facedetection Was nehmen.

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

Ähnliche Präsentationen


Präsentation zum Thema: "Abschlusspräsentation Projekt Diogenes. Vortragsablauf Benutzte Softwaretechnikmethoden GUI Movement Wander-Funktion Map Kamera Facedetection Was nehmen."—  Präsentation transkript:

1 Abschlusspräsentation Projekt Diogenes

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

3 SOFTWARETECHNIK METHODEN

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

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

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

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

8 Gantt-Diagramm

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

10 GUI

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

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

13 Alte GUI

14 Neue Funktionen Manuelle Steuerungsoptionen Switch zwischen Roboter und Kamerasteuerung Map angepasst

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

16 Wegrationalisierte Funktionen Koordinatenangabe

17 Finale GUI

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

19 MOVEMENT

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

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

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

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

24 WANDER-FUNKTION

25 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

26 Ablauf 1) Klick auf die Map erstellt Punkt 2) Jeder Punkt Kreis auf der Map 3) Werden in einer Liste gespeichert 4) Umrechnung in Roboterkoordinaten 5) Roboter kriegt umgerechnete Koordinaten 6) Punkte abwandern 7) Löschen der Punkte auf der Map

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

28 Umrechnung 1) X-Wert * Skalierung 2) Y-Wert * Skalierung * -1 3) Mapverschiebung mit einrechnen +/- Verschiebung * Skalierung

29 MAP

30 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 DATA(points) LINES

31 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 ); }

32 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

33 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

34 Ansatz: Direkt auf dem Panel zeichnen Resultat:

35 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 zoomIn() { if(zoomFactor <= 2.0){ MapCanvas.zoomFactor += 0.1; } public static void zoomOut() { if(zoomFactor >= 0.5){ MapCanvas.zoomFactor -= 0.1; }

36 FACE DETECTION

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

38 Face Detection Alternativen Faint OpenCV Face.com

39 Face Detection Entscheidung fiel auf:

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

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

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

43 Was nehmen wir mit?

44 Wichtige Erkenntnisse: -API gut dokumentieren! -Erst denken -> dann programmieren = riesige Zeitersparnis!

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


Herunterladen ppt "Abschlusspräsentation Projekt Diogenes. Vortragsablauf Benutzte Softwaretechnikmethoden GUI Movement Wander-Funktion Map Kamera Facedetection Was nehmen."

Ähnliche Präsentationen


Google-Anzeigen