Classes | Enumerations | Functions | Variables
base_local_planner Namespace Reference

Classes

class  CostmapModel
 A class that implements the WorldModel interface to provide grid based collision checks for the trajectory controller using the costmap. More...
 
class  FootprintHelper
 
class  FootprintHelperTest
 
class  LatchedStopRotateController
 
class  LineIterator
 
class  LocalPlannerLimits
 
class  LocalPlannerUtil
 Helper class implementing infrastructure code many local planner implementations may need. More...
 
class  MapCell
 Stores path distance and goal distance information used for scoring trajectories. More...
 
class  MapGrid
 A grid of MapCell cells that is used to propagate path and goal distances for the trajectory controller. More...
 
class  MapGridCostFunction
 
class  MapGridVisualizer
 
class  ObstacleCostFunction
 Uses costmap 2d to assign negative costs if robot footprint is in obstacle on any point of the trajectory. More...
 
class  OdometryHelperRos
 
class  OscillationCostFunction
 
class  PlanarLaserScan
 Stores a scan from a planar laser that can be used to clear freespace. More...
 
class  PointGrid
 A class that implements the WorldModel interface to provide free-space collision checks for the trajectory controller. This class stores points binned into a grid and performs point-in-polygon checks when necessary to determine the legality of a footprint at a given position/orientation. More...
 
class  PreferForwardCostFunction
 
class  SimpleScoredSamplingPlanner
 Generates a local plan using the given generator and cost functions. Assumes less cost are best, and negative costs indicate infinite costs. More...
 
class  SimpleTrajectoryGenerator
 
class  Trajectory
 Holds a trajectory generated by considering an x, y, and theta velocity. More...
 
class  TrajectoryCostFunction
 Provides an interface for critics of trajectories During each sampling run, a batch of many trajectories will be scored using such a cost function. The prepare method is called before each batch run, and then for each trajectory of the sampling set, score_trajectory may be called. More...
 
class  TrajectoryGeneratorTest
 
class  TrajectoryPlanner
 Computes control velocities for a robot given a costmap, a plan, and the robot's position in the world. More...
 
class  TrajectoryPlannerROS
 A ROS wrapper for the trajectory controller that queries the param server to construct a controller. More...
 
class  TrajectoryPlannerTest
 
class  TrajectorySampleGenerator
 Provides an interface for navigation trajectory generators. More...
 
class  TrajectorySearch
 Interface for modules finding a trajectory to use for navigation commands next. More...
 
class  TwirlingCostFunction
 
class  VelocityIterator
 
class  VoxelGridModel
 A class that implements the WorldModel interface to provide grid based collision checks for the trajectory controller using a 3D voxel grid. More...
 
class  WavefrontMapAccessor
 
class  WorldModel
 An interface the trajectory controller uses to interact with the world regardless of the underlying world model. More...
 

Enumerations

enum  CostAggregationType { Last, Sum, Product }
 

Functions

double getGoalOrientationAngleDifference (const geometry_msgs::PoseStamped &global_pose, double goal_th)
 return angle difference to goal to check if the goal orientation has been achieved More...
 
bool getGoalPose (const tf2_ros::Buffer &tf, const std::vector< geometry_msgs::PoseStamped > &global_plan, const std::string &global_frame, geometry_msgs::PoseStamped &goal_pose)
 Returns last pose in plan. More...
 
double getGoalPositionDistance (const geometry_msgs::PoseStamped &global_pose, double goal_x, double goal_y)
 return squared distance to check if the goal position has been achieved More...
 
bool isGoalReached (const tf2_ros::Buffer &tf, const std::vector< geometry_msgs::PoseStamped > &global_plan, const costmap_2d::Costmap2D &costmap GOAL_ATTRIBUTE_UNUSED, const std::string &global_frame, geometry_msgs::PoseStamped &global_pose, const nav_msgs::Odometry &base_odom, double rot_stopped_vel, double trans_stopped_vel, double xy_goal_tolerance, double yaw_goal_tolerance)
 
bool isGoalReached (const tf2_ros::Buffer &tf, const std::vector< geometry_msgs::PoseStamped > &global_plan, const costmap_2d::Costmap2D &costmap, const std::string &global_frame, geometry_msgs::PoseStamped &global_pose, const nav_msgs::Odometry &base_odom, double rot_stopped_vel, double trans_stopped_vel, double xy_goal_tolerance, double yaw_goal_tolerance)
 Check if the goal pose has been achieved. More...
 
void prunePlan (const geometry_msgs::PoseStamped &global_pose, std::vector< geometry_msgs::PoseStamped > &plan, std::vector< geometry_msgs::PoseStamped > &global_plan)
 Trim off parts of the global plan that are far enough behind the robot. More...
 
void publishPlan (const std::vector< geometry_msgs::PoseStamped > &path, const ros::Publisher &pub)
 Publish a plan for visualization purposes. More...
 
TrajectoryPlannerTestsetup_testclass_singleton ()
 
bool stopped (const nav_msgs::Odometry &base_odom, const double &rot_stopped_velocity, const double &trans_stopped_velocity)
 Check whether the robot is stopped or not. More...
 
 TEST (FootprintHelperTest, correctFootprint)
 
 TEST (FootprintHelperTest, correctLineCells)
 
 TEST (MapGridTest, adjustPlan)
 
 TEST (MapGridTest, adjustPlan2)
 
 TEST (MapGridTest, adjustPlanEmpty)
 
 TEST (MapGridTest, copyConstructor)
 
 TEST (MapGridTest, distancePropagation)
 
 TEST (MapGridTest, getIndex)
 
 TEST (MapGridTest, initNull)
 
 TEST (MapGridTest, operatorBrackets)
 
 TEST (MapGridTest, properGridConstruction)
 
 TEST (MapGridTest, reset)
 
 TEST (MapGridTest, sizeCheck)
 
 TEST (TrajectoryPlannerTest, checkGoalDistance)
 
 TEST (TrajectoryPlannerTest, checkPathDistance)
 
 TEST (TrajectoryPlannerTest, footprintObstacles)
 
 TEST (VelocityIteratorTest, test1)
 
 TEST (VelocityIteratorTest, test1_neg)
 
 TEST (VelocityIteratorTest, test1_pos)
 
 TEST (VelocityIteratorTest, test3)
 
 TEST (VelocityIteratorTest, test4)
 
 TEST (VelocityIteratorTest, test_cranky)
 
 TEST (VelocityIteratorTest, test_shifted)
 
 TEST (VelocityIteratorTest, testsingle)
 
 TEST (VelocityIteratorTest, testsingle_neg)
 
 TEST (VelocityIteratorTest, testsingle_pos)
 
bool transformGlobalPlan (const tf2_ros::Buffer &tf, const std::vector< geometry_msgs::PoseStamped > &global_plan, const geometry_msgs::PoseStamped &global_robot_pose, const costmap_2d::Costmap2D &costmap, const std::string &global_frame, std::vector< geometry_msgs::PoseStamped > &transformed_plan)
 Transforms the global plan of the robot from the planner frame to the frame of the costmap, selects only the (first) part of the plan that is within the costmap area. More...
 

Variables

TrajectoryPlannerTesttct = NULL
 

Enumeration Type Documentation

◆ CostAggregationType

when scoring a trajectory according to the values in mapgrid, we can take return the value of the last point (if no of the earlier points were in return collision), the sum for all points, or the product of all (non-zero) points

Enumerator
Last 
Sum 
Product 

Definition at line 88 of file map_grid_cost_function.h.

Function Documentation

◆ getGoalOrientationAngleDifference()

double base_local_planner::getGoalOrientationAngleDifference ( const geometry_msgs::PoseStamped &  global_pose,
double  goal_th 
)

return angle difference to goal to check if the goal orientation has been achieved

Parameters
global_poseThe pose of the robot in the global frame
goal_xThe desired x value for the goal
goal_yThe desired y value for the goal
Returns
angular difference

Definition at line 53 of file goal_functions.cpp.

◆ getGoalPose()

bool base_local_planner::getGoalPose ( const tf2_ros::Buffer tf,
const std::vector< geometry_msgs::PoseStamped > &  global_plan,
const std::string &  global_frame,
geometry_msgs::PoseStamped &  goal_pose 
)

Returns last pose in plan.

Parameters
tfA reference to a transform listener
global_planThe plan being followed
global_frameThe global frame of the local planner
goal_posethe pose to copy into
Returns
True if achieved, false otherwise

Definition at line 174 of file goal_functions.cpp.

◆ getGoalPositionDistance()

double base_local_planner::getGoalPositionDistance ( const geometry_msgs::PoseStamped &  global_pose,
double  goal_x,
double  goal_y 
)

return squared distance to check if the goal position has been achieved

Parameters
global_poseThe pose of the robot in the global frame
goal_xThe desired x value for the goal
goal_yThe desired y value for the goal
Returns
distance to goal

Definition at line 49 of file goal_functions.cpp.

◆ isGoalReached() [1/2]

bool base_local_planner::isGoalReached ( const tf2_ros::Buffer tf,
const std::vector< geometry_msgs::PoseStamped > &  global_plan,
const costmap_2d::Costmap2D &costmap  GOAL_ATTRIBUTE_UNUSED,
const std::string &  global_frame,
geometry_msgs::PoseStamped &  global_pose,
const nav_msgs::Odometry &  base_odom,
double  rot_stopped_vel,
double  trans_stopped_vel,
double  xy_goal_tolerance,
double  yaw_goal_tolerance 
)

Definition at line 209 of file goal_functions.cpp.

◆ isGoalReached() [2/2]

bool base_local_planner::isGoalReached ( const tf2_ros::Buffer tf,
const std::vector< geometry_msgs::PoseStamped > &  global_plan,
const costmap_2d::Costmap2D costmap,
const std::string &  global_frame,
geometry_msgs::PoseStamped &  global_pose,
const nav_msgs::Odometry &  base_odom,
double  rot_stopped_vel,
double  trans_stopped_vel,
double  xy_goal_tolerance,
double  yaw_goal_tolerance 
)

Check if the goal pose has been achieved.

Parameters
tfA reference to a transform listener
global_planThe plan being followed
costmap_rosA reference to the costmap object being used by the planner
global_frameThe global frame of the local planner
base_odomThe current odometry information for the robot
rot_stopped_velThe rotational velocity below which the robot is considered stopped
trans_stopped_velThe translational velocity below which the robot is considered stopped
xy_goal_toleranceThe translational tolerance on reaching the goal
yaw_goal_toleranceThe rotational tolerance on reaching the goal
Returns
True if achieved, false otherwise

◆ prunePlan()

void base_local_planner::prunePlan ( const geometry_msgs::PoseStamped &  global_pose,
std::vector< geometry_msgs::PoseStamped > &  plan,
std::vector< geometry_msgs::PoseStamped > &  global_plan 
)

Trim off parts of the global plan that are far enough behind the robot.

Parameters
global_poseThe pose of the robot in the global frame
planThe plan to be pruned
global_planThe plan to be pruned in the frame of the planner

Definition at line 77 of file goal_functions.cpp.

◆ publishPlan()

void base_local_planner::publishPlan ( const std::vector< geometry_msgs::PoseStamped > &  path,
const ros::Publisher pub 
)

Publish a plan for visualization purposes.

Parameters
pathThe plan to publish
pubThe published to use
r,g,b,aThe color and alpha value to use when publishing

Definition at line 58 of file goal_functions.cpp.

◆ setup_testclass_singleton()

TrajectoryPlannerTest* base_local_planner::setup_testclass_singleton ( )

Definition at line 171 of file utest.cpp.

◆ stopped()

bool base_local_planner::stopped ( const nav_msgs::Odometry &  base_odom,
const double &  rot_stopped_velocity,
const double &  trans_stopped_velocity 
)

Check whether the robot is stopped or not.

Parameters
base_odomThe current odometry information for the robot
rot_stopped_velocityThe rotational velocity below which the robot is considered stopped
trans_stopped_velocityThe translational velocity below which the robot is considered stopped
Returns
True if the robot is stopped, false otherwise

Definition at line 239 of file goal_functions.cpp.

◆ TEST() [1/26]

base_local_planner::TEST ( FootprintHelperTest  ,
correctFootprint   
)

Definition at line 135 of file footprint_helper_test.cpp.

◆ TEST() [2/26]

base_local_planner::TEST ( FootprintHelperTest  ,
correctLineCells   
)

Definition at line 140 of file footprint_helper_test.cpp.

◆ TEST() [3/26]

base_local_planner::TEST ( MapGridTest  ,
adjustPlan   
)

Definition at line 113 of file map_grid_test.cpp.

◆ TEST() [4/26]

base_local_planner::TEST ( MapGridTest  ,
adjustPlan2   
)

Definition at line 142 of file map_grid_test.cpp.

◆ TEST() [5/26]

base_local_planner::TEST ( MapGridTest  ,
adjustPlanEmpty   
)

Definition at line 104 of file map_grid_test.cpp.

◆ TEST() [6/26]

base_local_planner::TEST ( MapGridTest  ,
copyConstructor   
)

Definition at line 30 of file map_grid_test.cpp.

◆ TEST() [7/26]

base_local_planner::TEST ( MapGridTest  ,
distancePropagation   
)

Definition at line 181 of file map_grid_test.cpp.

◆ TEST() [8/26]

base_local_planner::TEST ( MapGridTest  ,
getIndex   
)

Definition at line 38 of file map_grid_test.cpp.

◆ TEST() [9/26]

base_local_planner::TEST ( MapGridTest  ,
initNull   
)

Definition at line 18 of file map_grid_test.cpp.

◆ TEST() [10/26]

base_local_planner::TEST ( MapGridTest  ,
operatorBrackets   
)

Definition at line 24 of file map_grid_test.cpp.

◆ TEST() [11/26]

base_local_planner::TEST ( MapGridTest  ,
properGridConstruction   
)

Definition at line 78 of file map_grid_test.cpp.

◆ TEST() [12/26]

base_local_planner::TEST ( MapGridTest  ,
reset   
)

Definition at line 43 of file map_grid_test.cpp.

◆ TEST() [13/26]

base_local_planner::TEST ( MapGridTest  ,
sizeCheck   
)

Definition at line 90 of file map_grid_test.cpp.

◆ TEST() [14/26]

base_local_planner::TEST ( TrajectoryPlannerTest  ,
checkGoalDistance   
)

Definition at line 204 of file utest.cpp.

◆ TEST() [15/26]

base_local_planner::TEST ( TrajectoryPlannerTest  ,
checkPathDistance   
)

Definition at line 210 of file utest.cpp.

◆ TEST() [16/26]

base_local_planner::TEST ( TrajectoryPlannerTest  ,
footprintObstacles   
)

Definition at line 198 of file utest.cpp.

◆ TEST() [17/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test1   
)

Definition at line 110 of file velocity_iterator_test.cpp.

◆ TEST() [18/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test1_neg   
)

Definition at line 138 of file velocity_iterator_test.cpp.

◆ TEST() [19/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test1_pos   
)

Definition at line 124 of file velocity_iterator_test.cpp.

◆ TEST() [20/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test3   
)

Definition at line 152 of file velocity_iterator_test.cpp.

◆ TEST() [21/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test4   
)

Definition at line 166 of file velocity_iterator_test.cpp.

◆ TEST() [22/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test_cranky   
)

Definition at line 195 of file velocity_iterator_test.cpp.

◆ TEST() [23/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
test_shifted   
)

Definition at line 180 of file velocity_iterator_test.cpp.

◆ TEST() [24/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
testsingle   
)

Definition at line 77 of file velocity_iterator_test.cpp.

◆ TEST() [25/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
testsingle_neg   
)

Definition at line 99 of file velocity_iterator_test.cpp.

◆ TEST() [26/26]

base_local_planner::TEST ( VelocityIteratorTest  ,
testsingle_pos   
)

Definition at line 88 of file velocity_iterator_test.cpp.

◆ transformGlobalPlan()

bool base_local_planner::transformGlobalPlan ( const tf2_ros::Buffer tf,
const std::vector< geometry_msgs::PoseStamped > &  global_plan,
const geometry_msgs::PoseStamped &  global_robot_pose,
const costmap_2d::Costmap2D costmap,
const std::string &  global_frame,
std::vector< geometry_msgs::PoseStamped > &  transformed_plan 
)

Transforms the global plan of the robot from the planner frame to the frame of the costmap, selects only the (first) part of the plan that is within the costmap area.

Parameters
tfA reference to a transform listener
global_planThe plan to be transformed
robot_poseThe pose of the robot in the global frame (same as costmap)
costmapA reference to the costmap being used so the window size for transforming can be computed
global_frameThe frame to transform the plan to
transformed_planPopulated with the transformed plan

Definition at line 96 of file goal_functions.cpp.

Variable Documentation

◆ tct

TrajectoryPlannerTest* base_local_planner::tct = NULL

Definition at line 169 of file utest.cpp.



base_local_planner
Author(s): Eitan Marder-Eppstein, Eric Perko, contradict@gmail.com
autogenerated on Mon Mar 6 2023 03:50:24