120 likes | 286 Views
Das Roboterprojekt. Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website. Einführung. Aufgabenstellung. Der erste Entwurf. Der erste Entwurf. Der erste Entwurf. Unser Programm ist mit Java geschrieben. Das Programm bestand aus drei Teilen Quellcode
E N D
Das Roboterprojekt • Einführung • Der erste Entwurf • Das Thread-Konzept • Hindernisse • Website
Einführung • Aufgabenstellung
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; • }
Das Thread-Konzept Main.java Sensoren.java /** *Die2parallellaufendenThreadswerdeninitialisiertundgestartet. */ 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(); } /** *SensMethodestelltsicher,dassderRoboteraufSensoreingabenreagiert. *Sieistsynchronisiert,damitankeinenanderenThreaddieRechenzeit *vergebenwerdenkann,solangedieseMethodeläuft. */ publicsynchronizedvoid sens() { ... while (ls.readValue() < lsGrenze && rs.readValue() >= rsGrenze) { FahrOperationen.getInstanceOf().stop(); Sound.beep(); FahrOperationen.getInstanceOf().rechtsforward(); }
Hindernisse • Spannungsschwankungen • Sensor-Schwankungen • Datenübertragung • Kein Debugging möglich