Class Controller

java.lang.Object
it.unisa.diem.ai.torcs.agent.Controller
Direct Known Subclasses:
BaseDriver

public abstract class Controller extends Object
Classe astratta base per l'implementazione di un controller per TORCS. Fornisce la struttura per la logica di guida e la gestione della gara.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Enumerazione che rappresenta i diversi stadi di una gara.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Action
    Metodo principale di controllo da implementare nelle sottoclassi.
    Restituisce lo stadio corrente della gara.
    Restituisce il nome della pista corrente.
    float[]
    Inizializza gli angoli dei sensori di distanza (range finder) utilizzati per percepire la pista.
    abstract void
    Chiamato all'inizio di ogni nuova prova per reimpostare lo stato interno.
    void
    Imposta lo stadio corrente della gara.
    void
    setTrackName(String trackName)
    Imposta il nome della pista.
    abstract void
    Chiamato una sola volta alla chiusura del controller.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Controller

      public Controller()
  • Method Details

    • initAngles

      public float[] initAngles()
      Inizializza gli angoli dei sensori di distanza (range finder) utilizzati per percepire la pista.
      Returns:
      un array di 19 angoli da -90 a +90 gradi con passi di 10
    • getStage

      public Controller.Stage getStage()
      Restituisce lo stadio corrente della gara.
      Returns:
      lo stadio attuale (Stage)
    • setStage

      public void setStage(Controller.Stage stage)
      Imposta lo stadio corrente della gara.
      Parameters:
      stage - lo stadio da impostare
    • getTrackName

      public String getTrackName()
      Restituisce il nome della pista corrente.
      Returns:
      il nome della pista
    • setTrackName

      public void setTrackName(String trackName)
      Imposta il nome della pista.
      Parameters:
      trackName - il nome della pista
    • control

      public abstract Action control(SensorModel sensors)
      Metodo principale di controllo da implementare nelle sottoclassi. Definisce il comportamento del veicolo dato l'input dei sensori.
      Parameters:
      sensors - letture correnti dei sensori
      Returns:
      un oggetto Action che rappresenta i comandi di guida desiderati
    • reset

      public abstract void reset()
      Chiamato all'inizio di ogni nuova prova per reimpostare lo stato interno.
    • shutdown

      public abstract void shutdown()
      Chiamato una sola volta alla chiusura del controller. Può essere usato per liberare risorse se necessario.