robo.navigate
Class VehicleWithBluetooth

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

public class VehicleWithBluetooth
extends java.lang.Object
implements IVehicle

Repräsentiert einen Roboter. Die Position wird regelmäßig per Webcam festgestellt, die Geschwindigkeiten etc. per Bluetooth übermittelt.

Author:
matthiaskummerer

Field Summary
 double cmPerSpeed
           
 double lengthDefault
           
 
Constructor Summary
VehicleWithBluetooth()
          Die Roboterklasse.
 
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()
          Qualität der derzeiten Position anhand der Fehlversuche
 boolean getReady()
          Fahrzeug bereit?
 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()
          Initialisierung
 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
 java.lang.String toString()
           
 boolean update(double time)
          Setzt neue Vehicle-Roboterposition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cmPerSpeed

public double cmPerSpeed

lengthDefault

public double lengthDefault
Constructor Detail

VehicleWithBluetooth

public VehicleWithBluetooth()
Die Roboterklasse. Momentan sind die Bluetooth-Befehle auskommentiert... Holt sich die Anfangsposition direkt von der Webcam

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()
Fahrzeug bereit?

Specified by:
getReady in interface IVehicle
Returns:
liefert false, falls das Fahrzeug gerade mit exakter Positionsbestimmung o.ä. beschäftigt ist, sonst true

getQuality

public double getQuality()
Qualität der derzeiten Position anhand der Fehlversuche

Specified by:
getQuality in interface IVehicle
Returns:
double zwischen 0 und 1
See Also:
IVehicle.getQuality()

update

public boolean update(double time)
Setzt neue Vehicle-Roboterposition. Entscheidet, ob ein neues Bild von der Kamera geholt werden muss.

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...)

initialUpdate

public boolean initialUpdate()
Initialisierung

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

close

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

Specified by:
close in interface IVehicle

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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

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()