Skip to main content

AVxcelerate Simulation Framework 2026 R1 SP01

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 &current, 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:

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:

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 > *

Connect with Ansys