GT RoboCup SSL
Soccer software, robot firmware
Planning::SingleRobotPathPlanner Class Referenceabstract

Interface for Path Planners. More...

Public Member Functions

virtual std::unique_ptr< Pathrun (PlanRequest &planRequest)=0
 Returns an obstacle-free Path subject to the specified MotionContraints.
 
virtual MotionCommand::CommandType commandType () const =0
 The MotionCommand type that this planner handles.
 
virtual bool canHandleDynamic ()
 

Static Public Member Functions

static double goalPosChangeThreshold ()
 
static double goalVelChangeThreshold ()
 
static double replanTimeout ()
 
static void createConfiguration (Configuration *cfg)
 
static void allDynamicToStatic (Geometry2d::ShapeSet &obstacles, const std::vector< DynamicObstacle > &dynamicObstacles)
 
static void splitDynamic (Geometry2d::ShapeSet &obstacles, std::vector< DynamicObstacle > &dynamicOut, const std::vector< DynamicObstacle > &dynamicObstacles)
 
static bool shouldReplan (const PlanRequest &planRequest)
 Checks if the previous path is no longer valid and needs to be re-planned. More...
 

Protected Member Functions

 SingleRobotPathPlanner (bool handlesDynamic)
 

Detailed Description

Interface for Path Planners.

+ Inheritance diagram for Planning::SingleRobotPathPlanner:

Member Function Documentation

◆ shouldReplan()

bool Planning::SingleRobotPathPlanner::shouldReplan ( const PlanRequest planRequest)
static

Checks if the previous path is no longer valid and needs to be re-planned.

This method does the following checks:

  • Is path non-null?
  • Does it have a valid destination()?
  • Is the robot too far away from where the path says it should be? (see the replan threshold)
  • Does the path enter new obstacles?

Subclasses will generally use this method in addition to their own planner-specific checks to determine if a replan is necessary.


The documentation for this class was generated from the following files: