Class FixedIMacExecutor

Inheritance Relationships

Base Type

Class Documentation

class FixedIMacExecutor : public IMacExecutor

Class allows to execute IMac traces read in from a file. The idea is that we read in a number of episodes, and once we run restart, we switch to the next episode.

Members: As in superclass, plus:

  • _files: A vector of files

  • _episode: The episode number

  • _ts: The current timestep

  • _currentEpisode: The vector of matrices for the current episode

  • _xDim: Size of X dimension of the map

  • _yDim: Size of Y dimension of the map

Public Functions

inline FixedIMacExecutor(const std::vector<std::filesystem::path> &files, const int &xDim, const int &yDim)

Constructor initialises members.

Parameters:
  • files – A vector of files with the IMac traces

  • xDim – Size of X dimension of the map

  • yDim – Size of Y dimension of the map

virtual Eigen::MatrixXi restart(const std::vector<IMacObservation> &observations = std::vector<IMacObservation>{})

Restart the simulation and start running the next episode

Parameters:

observations – Not used in this class.

Returns:

the initial state of the new episode

virtual Eigen::MatrixXi updateState(const std::vector<IMacObservation> &observations)

Move onto the next IMac state in the episode

Parameters:

observations – Notused in this class

Throws:

outOfEpisode – Thrown if update occurs beyond end of episode

Returns:

The successor state in the episode