11
Das Roboterprojekt • Einführung • Der erste Entwurf • Das Thread-Konzept • Hindernisse • Website

Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Embed Size (px)

Citation preview

Page 1: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Das Roboterprojekt

• Einführung• Der erste Entwurf• Das Thread-Konzept• Hindernisse• Website

Page 2: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Einführung

• Aufgabenstellung

Page 3: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Der erste Entwurf

Page 4: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Der erste Entwurf

Page 5: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

• Unser Programm ist mit Java geschrieben.

• Das Programm bestand aus drei Teilen – Quellcode – Anmerkung des Quellcodes– Beziehung der verschiedenen Module

• Beispiel Class Starterkennen

Der erste Entwurf

Page 6: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

• Import josx.robotics.Behavior;

• public class Startplatzerkennen implements Behavior{

• /**• * Diese Methode fürrt Fahroperationen aus, die den Roboter den entsprechenden Startplatz

erkennen lassen.• */• public void action() {• // TODO Auto-generated method stub•• }

• /**• * Der Startplatz wurde erkannt, er wird im Speicher in der Koordinate hinterlegt und beendet die

Aktivit 鋞 dieser Klasse.• */• public void suppress() {• // TODO Auto-generated method stub•• }

• public boolean takeControl() {• // TODO Auto-generated method stub• return false;• }

Der erste Entwurf

Page 7: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Das Thread-Konzept

Page 8: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Das Thread-Konzept

/** * Die 2 parallel laufenden Threads werden initialisiert und gestartet. */Thread s = new Sensoren();Thread f = new Fahrt();s.start();f.start();// Es wird auf das Ende des Fahrt-Threads gewartet.try {f.join();} catch (InterruptedException e) {// TODO Auto-generated catch block}// Ist der Fahrt-Thread beendet werden auch die Sensoren deaktiviert.s.interrupt();}

/** * Sens Methode stellt sicher, dass der Roboter auf Sensoreingaben reagiert. * Sie ist synchronisiert, damit an keinen anderen Thread die Rechenzeit * vergeben werden kann, solange diese Methode läuft. */public synchronized void sens() {

...

while (ls.readValue() < lsGrenze && rs.readValue() >= rsGrenze) {FahrOperationen.getInstanceOf().stop();Sound.beep();FahrOperationen.getInstanceOf().rechtsforward();}

Main.java Sensoren.java

Page 9: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Hindernisse

• Spannungsschwankungen• Sensor-Schwankungen• Datenübertragung• Kein Debugging möglich

Page 10: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Website

Page 11: Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website

Danke für die Aufmerksamkeit! :-)