robo.navigate
Class VehicleSimulationWithBluetooth

java.lang.Object
  extended by robo.navigate.VehicleSimulationWithBluetooth
All Implemented Interfaces:
IVehicle

public class VehicleSimulationWithBluetooth
extends java.lang.Object
implements IVehicle

Simuliert einen Roboter vollständig. Sofern Config.bluetooth gesetzt ist, werden die Befehle auch an einen echten Roboter übertragen, so dass die Präzision der Simulation überprüft werden kann.


Constructor Summary
VehicleSimulationWithBluetooth()
           
VehicleSimulationWithBluetooth(double posX, double posY, double dir)
           
 
Method Summary
 void close()
          Beendet ggf. eine Bluetoothverbindung zum Roboter
 void fahreZurueck(int speed)
          Lässt den Roboter mit der übergebenen Geschwindigkeit eine kleine Strecke zurückfahren.
 double getCurrentDir()
          Liefert die Richtung des Roboters im Bogenmaß
 double getLengthDefault()
           
 double getPixPerSpeed()
          Liefert den Umrechnungsfaktor Pixel / Geschwindigkeit
 double getQuality()
          Liefert ein Maß für die Qualität der momentanen Positionsbestimmung zwischen 0 und 1. 1 bedeutet hohe Genauigkeit
 boolean getReady()
          Liefert den Bereitschaftsstatus des Roboters
 int getSpeedL()
          Liefert die Geschwindigkeit des linken Rades
 int getSpeedR()
          Liefert die Geschwindigkeit des rechten Rades
 double getX()
          Liefet die X-Koordinate des Roboters
 double getY()
          Liefert die Y-Koordinate des Roboters
 void greifeStein()
          Schließt den Greifer des Roboters
 boolean initialUpdate()
          Führt eine Initialisierung durch.
 void oeffneGreifer()
          Oeffnet den Greifer des Roboters
 void setLengthDefault(double lengthDefault)
           
 void setNotReady()
          Das Vehicle wird angehalten.
 void setPixPerSpeed(double pixPerSpeed)
          Setzt Umrechnungsfaktor Pixel / Geschwindigkeit
 void setSpeedL(int speedL)
          Setzt die Geschwindigkeit des linken Rades
 void setSpeedR(int speedR)
          Setzt die Geschwindigkeit des rechten Rades
 boolean update(double time)
          Aktualisiert Position und Richtung.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VehicleSimulationWithBluetooth

public VehicleSimulationWithBluetooth()

VehicleSimulationWithBluetooth

public VehicleSimulationWithBluetooth(double posX,
                                      double posY,
                                      double dir)
Method Detail

getX

public double getX()
Description copied from interface: IVehicle
Liefet die X-Koordinate des Roboters

Specified by:
getX in interface IVehicle
Returns:
Position

getY

public double getY()
Description copied from interface: IVehicle
Liefert die Y-Koordinate des Roboters

Specified by:
getY in interface IVehicle
Returns:
Position

getSpeedL

public int getSpeedL()
Description copied from interface: IVehicle
Liefert die Geschwindigkeit des linken Rades

Specified by:
getSpeedL in interface IVehicle
Returns:
Fahrgeschwindigkeit

getSpeedR

public int getSpeedR()
Description copied from interface: IVehicle
Liefert die Geschwindigkeit des rechten Rades

Specified by:
getSpeedR in interface IVehicle
Returns:
Fahrgeschwindigkeit

setSpeedL

public void setSpeedL(int speedL)
Description copied from interface: IVehicle
Setzt die Geschwindigkeit des linken Rades

Specified by:
setSpeedL in interface IVehicle

setSpeedR

public void setSpeedR(int speedR)
Description copied from interface: IVehicle
Setzt die Geschwindigkeit des rechten Rades

Specified by:
setSpeedR in interface IVehicle

getCurrentDir

public double getCurrentDir()
Description copied from interface: IVehicle
Liefert die Richtung des Roboters im Bogenmaß

Specified by:
getCurrentDir in interface IVehicle
Returns:
Winkel im Bogenmaß mathematisch positiv (gegen den Uhrzeigersinn)

getReady

public boolean getReady()
Description copied from interface: IVehicle
Liefert den Bereitschaftsstatus des Roboters

Specified by:
getReady in interface IVehicle
Returns:
Wahrheitswert, ob der Roboter gerade bereit ist.

update

public boolean update(double time)
Description copied from interface: IVehicle
Aktualisiert Position und Richtung. Dabei dürfen diese Daten ggf. auch per Simulation bestimmt werden, die Implementierung ist dafür zuständig, dass regelmäßig die Position korrigiert wird.

Specified by:
update in interface IVehicle
Parameters:
time - gibt die Zeit an, die der letzte Zeitschritt gedauert hat - Gewichtungsfaktor
Returns:
normalerweise true; bei Fehler false (z.B. Bilderkennung schlägt mehrfach fehl, oder vehicle ist nicht bereit...)

close

public void close()
Description copied from interface: IVehicle
Beendet ggf. eine Bluetoothverbindung zum Roboter

Specified by:
close in interface IVehicle

greifeStein

public void greifeStein()
Description copied from interface: IVehicle
Schließt den Greifer des Roboters

Specified by:
greifeStein in interface IVehicle

oeffneGreifer

public void oeffneGreifer()
Description copied from interface: IVehicle
Oeffnet den Greifer des Roboters

Specified by:
oeffneGreifer in interface IVehicle

fahreZurueck

public void fahreZurueck(int speed)
Description copied from interface: IVehicle
Lässt den Roboter mit der übergebenen Geschwindigkeit eine kleine Strecke zurückfahren. Wird benutzt, nachdem der Greifer geöffnet wird, um den Roboter vom Stein frei zu bekommen.

Specified by:
fahreZurueck in interface IVehicle

initialUpdate

public boolean initialUpdate()
Description copied from interface: IVehicle
Führt eine Initialisierung durch. Dabei soll auf jeden Fall ein Webcambild verwendet werden.

Specified by:
initialUpdate in interface IVehicle
Returns:
Wahrheitswert, ob erfolgreich

setPixPerSpeed

public void setPixPerSpeed(double pixPerSpeed)
Description copied from interface: IVehicle
Setzt Umrechnungsfaktor Pixel / Geschwindigkeit

Specified by:
setPixPerSpeed in interface IVehicle

getPixPerSpeed

public double getPixPerSpeed()
Description copied from interface: IVehicle
Liefert den Umrechnungsfaktor Pixel / Geschwindigkeit

Specified by:
getPixPerSpeed in interface IVehicle
Returns:
aktuell gespeicherter Umrechnungsfaktor

setLengthDefault

public void setLengthDefault(double lengthDefault)
Specified by:
setLengthDefault in interface IVehicle

getLengthDefault

public double getLengthDefault()
Specified by:
getLengthDefault in interface IVehicle

setNotReady

public void setNotReady()
Description copied from interface: IVehicle
Das Vehicle wird angehalten. Es ist anschließend nicht mehr bereit. Weiterfahrt ist mit einem IVehicle.initialUpdate() möglich.

Specified by:
setNotReady in interface IVehicle
See Also:
IVehicle.getReady()

getQuality

public double getQuality()
Description copied from interface: IVehicle
Liefert ein Maß für die Qualität der momentanen Positionsbestimmung zwischen 0 und 1. 1 bedeutet hohe Genauigkeit

Specified by:
getQuality in interface IVehicle
Returns:
double zwischen 0 und 1