GT RoboCup SSL
Soccer software, robot firmware
Planning::EscapeObstaclesPathPlanner Class Reference

This planner finds a path to quickly get out of an obstacle. More...

Public Member Functions

virtual std::unique_ptr< Pathrun (PlanRequest &planRequest) override
 Returns an obstacle-free Path subject to the specified MotionContraints.
 
virtual MotionCommand::CommandType commandType () const override
 The MotionCommand type that this planner handles.
 
- Public Member Functions inherited from Planning::SingleRobotPathPlanner
virtual bool canHandleDynamic ()
 

Static Public Member Functions

static Geometry2d::Point findNonBlockedGoal (Geometry2d::Point pt, std::optional< Geometry2d::Point > prevPt, const Geometry2d::ShapeSet &obstacles, int maxItr=300, std::function< void(const RRT::Tree< Geometry2d::Point > &)> rrtLogger=nullptr)
 Uses an RRT to find a point near to that isn't blocked by obstacles. More...
 
static void createConfiguration (Configuration *cfg)
 
static float stepSize ()
 
static float goalChangeThreshold ()
 
- Static Public Member Functions inherited from Planning::SingleRobotPathPlanner
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...
 

Additional Inherited Members

- Protected Member Functions inherited from Planning::SingleRobotPathPlanner
 SingleRobotPathPlanner (bool handlesDynamic)
 

Detailed Description

This planner finds a path to quickly get out of an obstacle.

If the start point isn't in an obstacle, returns a path containing only the start point.

+ Inheritance diagram for Planning::EscapeObstaclesPathPlanner:
+ Collaboration diagram for Planning::EscapeObstaclesPathPlanner:

Member Function Documentation

◆ findNonBlockedGoal()

Point Planning::EscapeObstaclesPathPlanner::findNonBlockedGoal ( Geometry2d::Point  pt,
std::optional< Geometry2d::Point prevPt,
const Geometry2d::ShapeSet obstacles,
int  maxItr = 300,
std::function< void(const RRT::Tree< Geometry2d::Point > &)>  rrtLogger = nullptr 
)
static

Uses an RRT to find a point near to that isn't blocked by obstacles.

If is give, only uses a newly-found point if it is closer to by a configurable threshold.

Parameters
rrtLoggerOptional callback to log the rrt tree after it's built

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