Upload
elke-kazimer
View
110
Download
3
Embed Size (px)
Citation preview
Das Roboterprojekt
• Einführung• Der erste Entwurf• Das Thread-Konzept• Hindernisse• Website
Einführung
• Aufgabenstellung
Der erste Entwurf
Der erste Entwurf
• 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
• 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
Das Thread-Konzept
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
Hindernisse
• Spannungsschwankungen• Sensor-Schwankungen• Datenübertragung• Kein Debugging möglich
Website
Danke für die Aufmerksamkeit! :-)