class Sensors

Das Sensorik-Objekt

Public Classes

class SensorsException: public Exception
Interne Fehlerklasse

Public Methods

const Array <BodyInfos> & bodyInfos()
Die Informationen ueber den eigenen Koerper
const Array <Message> & heardMessages()
Die gehoerten Nachrichten
void initSensors()
Initialisieren der Sensordaten
bool isNewRefereeInfo()
Anfrage ob eine neue Schiedsrichterentscheidungen vorliegen
bool isNewSeeInfo()
Anfrage ob eine neue Sichtinformation vorliegt
const BodyInfos& lastBodyInfos()
Die letzten Informationen über den eigenen Körper
void parseSensoryData(const String& message)
Ein String vom SoccerServer wird geparst
void sense()
Empfaengt Sensorstrings und verarbeitet sie zu Objekten
const MovingObject& sensedBall()
Der gesehene Ball
const Array <StableObject> & sensedFlags()
Liefert ein Array mit den wahrgenommenen Flaggen
const Array <StableObject> & sensedLines()
Liefert ein Array mit den wahrgenommenen Linien
const Array <MovingPlayer> & sensedPlayers()
Die gesehenen Spieler
Sensors( Communicator* aCommunicator )
Erzeugt das Sensorobjekt
long simStep()
Der Simulationsschritt zu der die Sichtinformationen gehoeren
long simStepOfSoccerServer()
Der Simulationsschritt in der der sich der SoccerServer befindet

Private Fields

String partOfMessage
Teil einer Nachricht
Array <BodyInfos> theBodyInfos
Die Informationen ueber den eigenen Koerper
Communicator* theCommunicator
Interne Referenz auf Communicator Objekt
Array <Message> theHeardMessages
Die gehoerten und aufbereiteten Nachrichten
bool theIsNewRefereeInfo
Liegen neue Schiederichterentscheidungen vor?
bool theIsNewSeeInfo
Liegt neue Sichtinformation vor?
BodyInfos theLastBodyInfos
Die letzten Informationen über den eigenen Körper
MovingObject theSensedBall
Der gesehene Ball
Array <StableObject> theSensedFlags
Die gesehenen Flaggen inclusive Toren
Array <StableObject> theSensedLines
Die gesehenen Linien
Array <MovingPlayer> theSensedPlayers
Die gesehenen Spieler
long theSimStep
Der Simulationsschritt, zu dem die Sichtinformationen gehoeren
long theSimStepOfSoccerServer
Der Simulationsschritt des SoccerServers

Private Methods

void parseSights(char* seeMessage)
Parsen einer Sichtinformation

Documentation

Das Sensorik-Objekt. Die Sensorik wartet auf Sensorinformationen vom Server und erzeugt eine Objekt-Repraesentation von ihnen. Diese Sensorinformationen werden dann vom Weltmodell ausgelesen.

Bereits bei der Erzeugung der Objektdarstellung der Wahrnehmung wird vom Server- in das mathematische Koordinatensystem gewandelt.

Von der Klasse wird nur ein Objekt erzeugt. Die Klasse ist nicht zur Vererbung geeignet.

Quelltext

[Header | [Implementierung]

CVS Informationen zum Interface

  **************************************************
  *
  * Aktueller Stand
  *
  *   $RCSfile: Sensors.h,v $
  *   $Revision: 1.26 $
  *   $Date: 1998/08/14 13:21:12 $
  *   $Author: myritz $ 
  *
  **************************************************
  
class SensorsException: public Exception
Interne Fehlerklasse

Sensors( Communicator* aCommunicator )
Erzeugt das Sensorobjekt
Parameters:
aCommunicator - Das Communicator-Objekt, von dem die Sensor-Informationen kommen.

void initSensors()
Initialisieren der Sensordaten. Die Arrays der Sensordaten werden geloescht. Somit steht das Sensorobjekt fuer den Empfang neuer Daten bereit. Diese Methode muss nach dem kompletten Lesen der aufgelaufenen Daten aufgerufen werden um damit kenntlich zu machen, dass man nur noch an neueren Daten interessiert ist. Diese Methode wird automatisch bei eintreffen einer neuen Sensorinformation aufgerufen.

void sense()
Empfaengt Sensorstrings und verarbeitet sie zu Objekten. Versucht vom eigenen Communicator Strings zu lesen. Diese werden zu Objekten verarbeitet und spaeter vom Weltmodell ausgelesen.

Nach einem Aufruf von Sense liegen keine Strings mehr im Communicator bereit.

Throws:
SensorsException wenn der Server länger als communicationTimeout() Sekunden keine Sichtinformationen geschickt hat. Man kann dann davon ausgehen, daß der Server sich terminiert hat.

void parseSensoryData(const String& message)
Ein String vom SoccerServer wird geparst. Die zu diesem String gehoerenden Objekte werden aufgebaut.

bool isNewSeeInfo()
Anfrage ob eine neue Sichtinformation vorliegt. Falls dies der Fall ist wird YES zurueckgegeben, andernfalls NO. Diese Methode dient dem Weltmodell um zu erkennen, ob sich die Welt geaendert hat. Neue Daten liegen vor, wenn nach dem letzten initSensors() Sensordaten ausgewertet wurden.

bool isNewRefereeInfo()
Anfrage ob eine neue Schiedsrichterentscheidungen vorliegen. Falls dies der Fall ist wird YES zurueckgegeben, andernfalls NO. Diese Methode dient dem Weltmodell um zu erkennen, ob sich die Welt geaendert hat. Neue Daten liegen vor, wenn nach dem letzten initSensors() Schiedsrichterdaten ausgewertet wurden.

const Array <StableObject> & sensedFlags()
Liefert ein Array mit den wahrgenommenen Flaggen. Zu diesen gehoeren auch die Tore. Die Informationen entstammen der see-Nachricht des SoccerServers.

const Array <StableObject> & sensedLines()
Liefert ein Array mit den wahrgenommenen Linien. Die Position der Linien ist besonders zu interpretieren: Die Laenge ist die Entfernung zwischen der eigenen Position und dem Schnittpunkt der eigenen Blickgeraden und der Linie. Der Winkel ist der Winkel der Linie relativ zur eigenen Blickrichtung. Die Informationen zu den Linien entstammen der see-Nchricht des SoccerServers.

const Array <MovingPlayer> & sensedPlayers()
Die gesehenen Spieler. Diese entstammen der see-Nachricht des SoccerServers.

const MovingObject& sensedBall()
Der gesehene Ball. Falls keiner gesehen wurde, wird eine NothingSeen Exception ausgeloest. Der Ball wird der see-Nachricht des SoccerServers entnommen.

long simStep()
Der Simulationsschritt zu der die Sichtinformationen gehoeren. Diese Angabe gilt fuer sensedFlags, sensedLines, sensedPlayers und sensedBall.

long simStepOfSoccerServer()
Der Simulationsschritt in der der sich der SoccerServer befindet. Dieser Simulationsschritt basiert auf der letzten mitbekommenden Zeit (see, bodyInfos oder Referee ).

const Array <Message> & heardMessages()
Die gehoerten Nachrichten. Diese entstammen der hear-Nachricht des SoccerServers.

const Array <BodyInfos> & bodyInfos()
Die Informationen ueber den eigenen Koerper. Diese entstammen der sense_body-Nachricht des SoccerServers.

const BodyInfos& lastBodyInfos()
Die letzten Informationen über den eigenen Körper

Communicator* theCommunicator
Interne Referenz auf Communicator Objekt

Array <StableObject> theSensedFlags
Die gesehenen Flaggen inclusive Toren

Array <StableObject> theSensedLines
Die gesehenen Linien

Array <MovingPlayer> theSensedPlayers
Die gesehenen Spieler

MovingObject theSensedBall
Der gesehene Ball

long theSimStep
Der Simulationsschritt, zu dem die Sichtinformationen gehoeren

long theSimStepOfSoccerServer
Der Simulationsschritt des SoccerServers

Array <Message> theHeardMessages
Die gehoerten und aufbereiteten Nachrichten

Array <BodyInfos> theBodyInfos
Die Informationen ueber den eigenen Koerper

BodyInfos theLastBodyInfos
Die letzten Informationen über den eigenen Körper

bool theIsNewSeeInfo
Liegt neue Sichtinformation vor?

bool theIsNewRefereeInfo
Liegen neue Schiederichterentscheidungen vor?

String partOfMessage
Teil einer Nachricht. Da diese als const uebergeben werden soll, wurde sie hier global deklariert.

void parseSights(char* seeMessage)
Parsen einer Sichtinformation


This class has no child classes.

alphabetic index hierarchy of classes


Hauptseite

Einleitung | Architektur | Dynamische Zusammenhänge | Referenzhandbuch | FAQ | Anhang A | Anhang B

generated by doc++