Class RandomCoverageRobot

Inheritance Relationships

Base Type

Class Documentation

class RandomCoverageRobot : public CoverageRobot

A class for a random coverage robot, i.e. the robot moves randomly.

Members: As in superclass, plus:

  • _world: The CoverageWorld representing the environment

  • _fov: The robot’s FOV represented as a vector of relative grid cells

Public Functions

inline RandomCoverageRobot(const GridCell &currentLoc, int timeBound, int xDim, int yDim, std::shared_ptr<CoverageWorld> world, const std::vector<GridCell> &fov, std::shared_ptr<IMac> groundTruthIMac = nullptr, const ParameterEstimate &estimationType = ParameterEstimate::posteriorSample)

Constructor calls super constructor and initialises _world.

Parameters:
  • currentLoc – The robot’s current location

  • timeBound – The planning time bound

  • xDim – The x dimension of the map

  • yDim – The y dimension of the map

  • world – The IMacExecutor representing the environment

  • fov – The robot’s FOV as a vector of relative grid cells

  • groundTruthIMac – The ground truth IMac instance (if we don’t want to use BiMac)

  • estimationType – The type of parameter estimation to use for IMac instance for episode

virtual void episodeSetup(const GridCell &startLoc, const int &ts, const int &timeBound, std::shared_ptr<IMac> imacForEpisode)

Runs necessary setup for an episode, like resetting the CoverageWorld.

Parameters:
  • startLoc – The robot’s initial location for the episode

  • ts – The initial timestep

  • timeBound – The episode time bound, which could change

  • imacForEpisode – The IMac instance being used for the planning episode