Projekt 3.1

23
Projekt 3.1 LEGO 20. Oktober 2009 Matthias Geritz, Luka Hale, Dennis Prieß, Konstantin Schlöttke, Thomas Weller, Max Zuchowski

description

Projekt 3.1. LEGO 20. Oktober 2009 Matthias Geritz, Luka Hale, Dennis Prieß, Konstantin Schlöttke, Thomas Weller, Max Zuchowski. Inhalt Unsere Aufgaben Einblick in die Analysephasen Einblick in die Entwürfe Einblick in die Realisierung Fazit Demo. Einleitung - PowerPoint PPT Presentation

Transcript of Projekt 3.1

Page 1: Projekt 3.1

Projekt 3.1

LEGO

20. Oktober 2009Matthias Geritz, Luka Hale, Dennis Prieß, Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 2: Projekt 3.1

Inhalt

• Unsere Aufgaben• Einblick in die Analysephasen• Einblick in die Entwürfe• Einblick in die Realisierung • Fazit

• Demo 20. Oktober 2009 Matthias Geritz, Luka Hale, Dennis Prieß,

Konstantin Schlöttke, Thomas Weller, Max Zuchowski 2

Page 3: Projekt 3.1

EinleitungHauptbestandteile des Projektes 3.1:Lernziele

• Mindstorms Turnierroboter bauen und mit „behavioral control“ programmieren

• Kommunikation zwischen mindestens zwei NXT Einheiten an einem selbstausgedachten Beispiel realisieren

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierungFazit

20. Oktober 2009 3Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 4: Projekt 3.1

AufgabenDie Grundlage: Lego Mindstorms NXT

Projekt 3.1

EinleitungAufgaben• RoboCup Turnier• Slot MachineVorbereitungsphaseRealisierungFazit

20. Oktober 2009 4Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Motoren

Sensoren Software

Display

Page 5: Projekt 3.1

AufgabenDas RoboCup Turnier• Verteidiger

– autonomes Verhalten– einzusetzen sind:

• Druck-, Licht, Ultraschallsensoren• Motoren• Display

• Angreifer– Bluetooth gesteuert

über UI

Projekt 3.1

EinleitungAufgaben• RoboCup Turnier• Slot MachineVorbereitungsphaseRealisierungFazit

20. Oktober 2009 5Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 6: Projekt 3.1

AufgabenUnser einarmiger Bandit• drei NXTs kommunizieren über Bluetooth

miteinander

• zusammen erfüllen sieeine Aufgabe aus dem realen Leben

Projekt 3.1

EinleitungAufgaben• RoboCup Turnier• Slot MachineVorbereitungsphaseRealisierungFazit

20. Oktober 2009 6Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 7: Projekt 3.1

VorbereitungsphaseDas Lejos APIWichtigste Klassen sind:• Motor-, LCD-, Sensorklassen• Behavior

– Grundgerüst aller Verhalten– Startpunkt und Aktion sind zu implementieren

• Arbitrator– handelt als Mediator zwischen unseren

programmierten Verhalten– startet und stoppt Verhalten

• BluetoothConnection

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson• Slot MachineRealisierungFazit

20. Oktober 2009 7Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 8: Projekt 3.1

VorbereitungsphaseTyson: AnalyseEinsatz der Sensoren und Motoren:• Lichtsensor verhindert Linienübertretung• Ultraschallsensor sucht Dosen (fern)• Touchsensor erkennt Dosen (nah)• Ein Motor für die Kralle• Zwei Motoren für die Räder

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson

• Analyse• Entwurf

• Slot MachineRealisierungFazit

20. Oktober 2009 8Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 9: Projekt 3.1

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson

• Analyse• Entwurf

• Slot MachineRealisierungFazit

20. Oktober 2009 9Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

VorbereitungsphaseTyson: EntwurfErste Skizzen

Page 10: Projekt 3.1

VorbereitungsphaseTyson: EntwurfRemote Control GUI

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson

• Analyse• Entwurf

• Slot MachineRealisierungFazit

20. Oktober 2009 10Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 11: Projekt 3.1

VorbereitungsphaseTyson: EntwurfVerteidigungsverhalten im

Zustandsdiagramm (vereinfacht)

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson

• Analyse• Entwurf

• Slot MachineRealisierungFazit

20. Oktober 2009 11Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

DRIVE FORWARD DRIVE BACKWARD

ROTATE RIGHT GRAB

Linie erkannt

Dose berührtDose erkannt

Page 12: Projekt 3.1

VorbereitungsphaseSlot Machine: AnalyseAufgabenverteilung und Prozesse

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson• Slot Machine

• Analyse• Entwurf

RealisierungFazit

20. Oktober 2009 Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski 12

Protokoll

Page 13: Projekt 3.1

VorbereitungsphaseSlot Machine: EntwurfErste Skizzen

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson• Slot Machine

• Analyse• Entwurf

RealisierungFazit

20. Oktober 2009 13Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 14: Projekt 3.1

VorbereitungsphaseSlot Machine: EntwurfBeispiel: Aktivitätsdiagramm des Money

Controllers

Projekt 3.1

EinleitungAufgabenVorbereitungsphase• Lejos API• Tyson• Slot Machine

• Analyse• Entwurf

RealisierungFazit

20. Oktober 2009 14Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 15: Projekt 3.1

Realisie

rung

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• QualitätFazit

20. Oktober 2009 15Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

3rd

Page 16: Projekt 3.1

RealisierungProblem: Firmware• NXTs werden nicht erkannt von

Computern

Lösung:• „Tyson“ ist Verteidiger und Angriff• Projekt 2: Gruppenleiterposten wurden

nach funktionierenden NXTs verteilt

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• QualitätFazit

20. Oktober 2009 16Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 17: Projekt 3.1

RealisierungProblem: Packages begrenzt• Java Methoden begrenzt

– instanceof erst ab Firmware 0.85 verfügbar– Logger nicht verfügbar

• eigene Packages sind nicht importierbar

Lösung:• Implementierung äquivalenter Klassen

(z.B. ein eigener Logger)• Duplizieren von Code / ganzen Packages

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• QualitätFazit

20. Oktober 2009 17Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 18: Projekt 3.1

RealisierungProblem: Packages begrenzt

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• QualitätFazit

20. Oktober 2009 18Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Logger

Page 19: Projekt 3.1

RealisierungProblem: Anzahl der NXT

Verbindungen ist begrenzt• Nur ein NXT kann mehr als eine

Bluetooth Verbindung halten

Lösung:• Implementierung eines Bluetooth Servers

zur Weiterleitung aller Nachrichten

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• QualitätFazit

20. Oktober 2009 19Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 20: Projekt 3.1

RealisierungSoftwarequalität• Lose Kopplung und hohe Kohäsion

=> Responsibility Driven Design

• Anwendung von PatternsAbstract Factory, Strategy, Observer, …

• Dokumentation aller Klassen und Methoden

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• QualitätFazit

20. Oktober 2009 20Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 21: Projekt 3.1

RealisierungKommunikations-ProtokolleVereinheitlichung der Kommunikation zwischen den NXTs

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierung• Probleme• Qualität Fazit

20. Oktober 2009 21Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Communication Provider

Application

Message

Connection

Integer[]

Protokoll

Page 22: Projekt 3.1

FazitModel Driven DesignGute Aufgabenverteilung

Vollständige DokumentationVollständig realisierte Aufgaben Leicht erweiterbare Applikationen

Dozent zufrieden!

Projekt 3.1

EinleitungAufgabenVorbereitungsphaseRealisierungFazit

20. Oktober 2009 22Matthias Geritz, Luka Hale, Dennis Prieß,Konstantin Schlöttke, Thomas Weller, Max Zuchowski

Page 23: Projekt 3.1

25. Juni 2009 Matthias Geritz, Luka Hale, Parko Janssen, Konstantin Schlöttke, Max Zuchowski 23