Projekt 3.1

Post on 30-Dec-2015

55 views 3 download

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

Projekt 3.1

LEGO

20. Oktober 2009Matthias 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 20. Oktober 2009 Matthias Geritz, Luka Hale, Dennis Prieß,

Konstantin Schlöttke, Thomas Weller, Max Zuchowski 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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