Class MessageBasedSensorModel

java.lang.Object
it.unisa.diem.ai.torcs.model.MessageBasedSensorModel
All Implemented Interfaces:
SensorModel

public class MessageBasedSensorModel extends Object implements SensorModel
Implementazione dell'interfaccia SensorModel basata su parsing di messaggi stringa. Utilizza MessageParser per estrarre i valori dei sensori da una stringa in formato TORCS. Creato con IntelliJ IDEA. Autore: Administrator Data: 4 Marzo 2008 Ora: 15:44:29
  • Constructor Details

    • MessageBasedSensorModel

      public MessageBasedSensorModel(MessageParser message)
      Costruttore che riceve un oggetto MessageParser già costruito.
      Parameters:
      message - parser contenente i dati del messaggio
    • MessageBasedSensorModel

      public MessageBasedSensorModel(String strMessage)
      Costruttore che costruisce internamente il parser partendo da una stringa.
      Parameters:
      strMessage - messaggio stringa ricevuto dal server TORCS
  • Method Details

    • getSpeed

      public double getSpeed()
      Specified by:
      getSpeed in interface SensorModel
      Returns:
      velocità longitudinale del veicolo (asse X)
    • getAngleToTrackAxis

      public double getAngleToTrackAxis()
      Specified by:
      getAngleToTrackAxis in interface SensorModel
      Returns:
      angolo tra l'asse del veicolo e l'asse della pista
    • getTrackEdgeSensors

      public double[] getTrackEdgeSensors()
      Specified by:
      getTrackEdgeSensors in interface SensorModel
      Returns:
      array con i valori dei sensori di distanza ai bordi della pista
    • getFocusSensors

      public double[] getFocusSensors()
      Specified by:
      getFocusSensors in interface SensorModel
      Returns:
      valori dei sensori di "focus" (direzione specifica osservata)
    • getGear

      public int getGear()
      Specified by:
      getGear in interface SensorModel
      Returns:
      marcia attualmente inserita (intero da -1 a 6)
    • getOpponentSensors

      public double[] getOpponentSensors()
      Specified by:
      getOpponentSensors in interface SensorModel
      Returns:
      array dei sensori di prossimità agli avversari (360°)
    • getRacePosition

      public int getRacePosition()
      Specified by:
      getRacePosition in interface SensorModel
      Returns:
      posizione corrente in gara (1 = primo, ecc.)
    • getLateralSpeed

      public double getLateralSpeed()
      Specified by:
      getLateralSpeed in interface SensorModel
      Returns:
      velocità laterale del veicolo (asse Y)
    • getCurrentLapTime

      public double getCurrentLapTime()
      Specified by:
      getCurrentLapTime in interface SensorModel
      Returns:
      tempo corrente sul giro in corso
    • getDamage

      public double getDamage()
      Specified by:
      getDamage in interface SensorModel
      Returns:
      danno accumulato dal veicolo
    • getDistanceFromStartLine

      public double getDistanceFromStartLine()
      Specified by:
      getDistanceFromStartLine in interface SensorModel
      Returns:
      distanza dalla linea di partenza
    • getDistanceRaced

      public double getDistanceRaced()
      Specified by:
      getDistanceRaced in interface SensorModel
      Returns:
      distanza totale percorsa in gara
    • getFuelLevel

      public double getFuelLevel()
      Specified by:
      getFuelLevel in interface SensorModel
      Returns:
      livello attuale di carburante nel serbatoio
    • getLastLapTime

      public double getLastLapTime()
      Specified by:
      getLastLapTime in interface SensorModel
      Returns:
      tempo dell'ultimo giro completato
    • getRPM

      public double getRPM()
      Specified by:
      getRPM in interface SensorModel
      Returns:
      numero di giri del motore al minuto
    • getTrackPosition

      public double getTrackPosition()
      Specified by:
      getTrackPosition in interface SensorModel
      Returns:
      posizione del veicolo rispetto al centro pista (range [-1,1])
    • getWheelSpinVelocity

      public double[] getWheelSpinVelocity()
      Specified by:
      getWheelSpinVelocity in interface SensorModel
      Returns:
      velocità di rotazione delle quattro ruote (in rad/s)
    • getMessage

      public String getMessage()
      Specified by:
      getMessage in interface SensorModel
      Returns:
      il messaggio grezzo originario ricevuto dal server
    • getZ

      public double getZ()
      Specified by:
      getZ in interface SensorModel
      Returns:
      altezza del veicolo dal suolo
    • getZSpeed

      public double getZSpeed()
      Specified by:
      getZSpeed in interface SensorModel
      Returns:
      velocità verticale del veicolo