Class simulation_framework::utilities::vehicle::IVehicle
Last update: 22.04.2026
Definition: autonomy/simulation/utilities/vehicle/i_vehicle.h (line 24)
Abstract vehicle interface used by simulation components.
IVehicle defines the minimal API required by higher-level systems to request predicted motion states and to provide concrete controller and model implementations. Implementations own the controller and model instances and expose const accessors for inspection.
Members
Public functions
Function ~IVehicle
virtual simulation_framework::utilities::vehicle::IVehicle::~IVehicle()=default
Return type:
Function RequestMotionState
virtual std::pair< state::MotionState, state::ControlInput > simulation_framework::utilities::vehicle::IVehicle::RequestMotionState(const state::MotionState ¤t, const std::vector< state::MotionState > &request, double dt)=0
Compute a predicted motion state and applied control for a given reference trajectory.
Parameters:
- current: current measured motion state
- request: sequence of reference MotionState values to follow
- dt: delta time step used for prediction
Returns:
pair of (predicted MotionState after applying control, ControlInput used)
Parameters:
- const state::MotionState & current
- const std::vector< state::MotionState > & request
- double dt
Return type: std::pair< state::MotionState, state::ControlInput >
Function RegisterController
virtual void simulation_framework::utilities::vehicle::IVehicle::RegisterController(std::unique_ptr< controller::IVehicleController > controller)=0
Register a vehicle controller implementation.
Parameters:
- controller: ownership of a controller implementation
Parameters:
- std::unique_ptr< controller::IVehicleController > controller
Return type: void
Function RegisterModel
virtual void simulation_framework::utilities::vehicle::IVehicle::RegisterModel(std::unique_ptr< model::IVehicleModel< double > > model)=0
Register a vehicle model implementation.
Parameters:
- model: ownership of a vehicle model templated on double
Parameters:
- std::unique_ptr< model::IVehicleModel< double > > model
Return type: void
Function GetController
virtual const controller::IVehicleController * simulation_framework::utilities::vehicle::IVehicle::GetController() const =0
Get the registered controller (read-only).
Returns:
pointer to the registered controller or nullptr if none
Return type: const controller::IVehicleController *
Function GetModel
virtual const model::IVehicleModel< double > * simulation_framework::utilities::vehicle::IVehicle::GetModel() const =0
Get the registered vehicle model (read-only).
Returns:
pointer to the registered model or nullptr if none
Return type: const model::IVehicleModel< double > *