Class BoustrophedonCoverageRobot

Inheritance Relationships

Base Type

Class Documentation

class BoustrophedonCoverageRobot : public POMDPCoverageRobot

Subclass of POMDPCoverageRobot

which instead follows a Boustrophedon motion.

The boustrophedon motion chooses directions in order up,down,right,left. If no neighbours are free or uncovered, the robot waits.

See also

BA*: An online complete coverage algorithm for cleaning robots

Members: As in superclass, plus:

  • _waitForObstacles A flag to state if the robot should wait for obstacles to clear (this means the robot follows a fixed path). This is basically offline Boustrophedon

Public Functions

inline BoustrophedonCoverageRobot(const GridCell &currentLoc, int timeBound, int xDim, int yDim, const std::vector<GridCell> &fov, std::shared_ptr<IMacExecutor> exec, std::shared_ptr<IMac> groundTruthIMac = nullptr, const ParameterEstimate &estimationType = ParameterEstimate::posteriorSample, bool waitForObstacles = false)

Constructor calls super constructor and initialises new members.

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

  • exec – 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

  • waitForObstacles – A flag to state if the robot should wait for obstacles to clear (this means the robot follows a fixed path)