Thunderbots Project
Loading...
Searching...
No Matches
RobotNavigationObstacleFactory Class Reference

#include <robot_navigation_obstacle_factory.h>

Public Member Functions

 RobotNavigationObstacleFactory (TbotsProto::RobotNavigationObstacleConfig config)
 
std::vector< ObstaclePtr > createObstaclesFromMotionConstraints (const std::set< TbotsProto::MotionConstraint > &motion_constraints, const World &world) const
 
std::vector< ObstaclePtr > createObstaclesFromMotionConstraint (const TbotsProto::MotionConstraint &motion_constraint, const World &world) const
 
ObstaclePtr createStaticObstacleFromRobotPosition (const Point &robot_position) const
 
ObstaclePtr createStadiumEnemyRobotObstacle (const Robot &enemy_robot) const
 
ObstaclePtr createConstVelocityEnemyRobotObstacle (const Robot &enemy_robot) const
 
ObstaclePtr createFromMovingRobot (const Robot &robot, const TrajectoryPath &traj) const
 
ObstaclePtr createFromBallPosition (const Point &ball_position) const
 
ObstaclePtr createFromShape (const Circle &circle) const
 
ObstaclePtr createFromShape (const Polygon &polygon) const
 
ObstaclePtr createFromShape (const Rectangle &rectangle) const
 
ObstaclePtr createFromShape (const Stadium &stadium) const
 
ObstaclePtr createCircleWithTrajectory (const Circle &circle, const TrajectoryPath &traj) const
 
ObstaclePtr createCircleWithConstVelocity (const Circle &circle, const Vector &velocity) const
 
ObstaclePtr createFromBallPlacement (const Point &placement_point, const Point &ball_point) const
 

Detailed Description

The RobotNavigationObstacleFactory creates obstacles for navigation with a robot NOTE: All obstacles created include at least an additional robot radius margin on all sides of the obstacle

Constructor & Destructor Documentation

◆ RobotNavigationObstacleFactory()

RobotNavigationObstacleFactory ( TbotsProto::RobotNavigationObstacleConfig  config)

Create an RobotNavigationObstacleFactory with the given configuration

Parameters
configThe configuration used to determine how obstacles should be generated

Member Function Documentation

◆ createCircleWithConstVelocity()

ObstaclePtr createCircleWithConstVelocity ( const Circle circle,
const Vector velocity 
) const

Generate a const velocity based circular obstacle with additional radius scaling

Parameters
circleThe circle to make obstacle with
velocityThe velocity of the obstacle
Returns
ObstaclePtr to the constant velocity obstacle

◆ createCircleWithTrajectory()

ObstaclePtr createCircleWithTrajectory ( const Circle circle,
const TrajectoryPath traj 
) const

Generate a trajectory based circular obstacle with additional radius scaling

Parameters
circleThe circle to make obstacle with
trajTrajectory which the obstacle is following
Returns
ObstaclePtr to the trajectory based obstacle

◆ createConstVelocityEnemyRobotObstacle()

ObstaclePtr createConstVelocityEnemyRobotObstacle ( const Robot enemy_robot) const

Create dynamic circle obstacle for enemy robot with additional radius scaling

Parameters
enemy_robotEnemy robot to create the obstacle for
Returns
obstacle around the robot

◆ createFromBallPlacement()

ObstaclePtr createFromBallPlacement ( const Point placement_point,
const Point ball_point 
) const

Returns an obstacle with the shape of the BallPlacementZone if the state is in enemy ball placement

Parameters
placement_pointthe point where the ball will be placed
ball_pointthe point where the ball currently is
Returns
ObstaclePtr

◆ createFromBallPosition()

ObstaclePtr createFromBallPosition ( const Point ball_position) const

Create circle obstacle around ball

Parameters
ball_positionball position to make obstacle around
Returns
obstacle around the ball

◆ createFromMovingRobot()

ObstaclePtr createFromMovingRobot ( const Robot robot,
const TrajectoryPath traj 
) const

Create dynamic circle obstacle around robot with additional radius scaling

Parameters
robotrobot to create the obstacle for
trajTrajectory which the obstacle is following
Returns
moving obstacle around the robot

◆ createFromShape()

ObstaclePtr createFromShape ( const Circle circle) const

Returns an obstacle for the shape NOTE: as with all other obstacles created by RobotNavigationObstacleFactory, the shapes are expanded on all sides to account for the radius of the robot

Parameters
Theshape to expand
Returns
ObstaclePtr

◆ createObstaclesFromMotionConstraint()

std::vector< ObstaclePtr > createObstaclesFromMotionConstraint ( const TbotsProto::MotionConstraint &  motion_constraint,
const World world 
) const

Create static obstacles for the given motion constraint

Parameters
motion_constraintThe motion constraint to create obstacles for
worldWorld we're enforcing motion constraints in
Returns
Obstacles representing the given motion constraint

◆ createObstaclesFromMotionConstraints()

std::vector< ObstaclePtr > createObstaclesFromMotionConstraints ( const std::set< TbotsProto::MotionConstraint > &  motion_constraints,
const World world 
) const

Create obstacles for the given motion constraints

Parameters
motion_constraintsThe motion constraints to create obstacles for
worldWorld we're enforcing motion constraints in
Returns
Obstacles representing the given motion constraints

◆ createStadiumEnemyRobotObstacle()

ObstaclePtr createStadiumEnemyRobotObstacle ( const Robot enemy_robot) const

Create a stadium shaped obstacle for enemy robot with additional radius scaling

Parameters
enemy_robotEnemy robot to create the obstacle for
Returns
obstacle around the robot

◆ createStaticObstacleFromRobotPosition()

ObstaclePtr createStaticObstacleFromRobotPosition ( const Point robot_position) const

Create circle obstacle around robot with additional radius scaling

Parameters
robot_positionrobot position
Returns
obstacle around the robot

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