Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
navfn::NavfnROS Class Reference

Provides a ROS wrapper for the navfn planner which runs a fast, interpolated navigation function on a costmap. More...

#include <navfn_ros.h>

Inheritance diagram for navfn::NavfnROS:
Inheritance graph
[legend]

Public Member Functions

bool computePotential (const geometry_msgs::Point &world_point)
 Computes the full navigation function for the map given a point in the world to start from. More...
 
bool getPlanFromPotential (const geometry_msgs::PoseStamped &goal, std::vector< geometry_msgs::PoseStamped > &plan)
 Compute a plan to a goal after the potential for a start point has already been computed (Note: You should call computePotential first) More...
 
double getPointPotential (const geometry_msgs::Point &world_point)
 Get the potential, or naviagation cost, at a given point in the world (Note: You should call computePotential first) More...
 
void initialize (std::string name, costmap_2d::Costmap2DROS *costmap_ros)
 Initialization function for the NavFnROS object. More...
 
void initialize (std::string name, costmap_2d::Costmap2D *costmap, std::string global_frame)
 Initialization function for the NavFnROS object. More...
 
bool makePlan (const geometry_msgs::PoseStamped &start, const geometry_msgs::PoseStamped &goal, std::vector< geometry_msgs::PoseStamped > &plan)
 Given a goal pose in the world, compute a plan. More...
 
bool makePlan (const geometry_msgs::PoseStamped &start, const geometry_msgs::PoseStamped &goal, double tolerance, std::vector< geometry_msgs::PoseStamped > &plan)
 Given a goal pose in the world, compute a plan. More...
 
bool makePlanService (nav_msgs::GetPlan::Request &req, nav_msgs::GetPlan::Response &resp)
 
 NavfnROS ()
 Default constructor for the NavFnROS object. More...
 
 NavfnROS (std::string name, costmap_2d::Costmap2DROS *costmap_ros)
 Constructor for the NavFnROS object. More...
 
 NavfnROS (std::string name, costmap_2d::Costmap2D *costmap, std::string global_frame)
 Constructor for the NavFnROS object. More...
 
void publishPlan (const std::vector< geometry_msgs::PoseStamped > &path, double r, double g, double b, double a)
 Publish a path for visualization purposes. More...
 
bool validPointPotential (const geometry_msgs::Point &world_point)
 Check for a valid potential value at a given point in the world (Note: You should call computePotential first) More...
 
bool validPointPotential (const geometry_msgs::Point &world_point, double tolerance)
 Check for a valid potential value at a given point in the world (Note: You should call computePotential first) More...
 
 ~NavfnROS ()
 
- Public Member Functions inherited from nav_core::BaseGlobalPlanner
virtual bool makePlan (const geometry_msgs::PoseStamped &start, const geometry_msgs::PoseStamped &goal, std::vector< geometry_msgs::PoseStamped > &plan, double &cost)
 
virtual ~BaseGlobalPlanner ()
 

Protected Attributes

bool allow_unknown_
 
costmap_2d::Costmap2Dcostmap_
 Store a copy of the current costmap in costmap. Called by makePlan. More...
 
bool initialized_
 
ros::Publisher plan_pub_
 
boost::shared_ptr< NavFnplanner_
 
pcl_ros::Publisher< PotarrPointpotarr_pub_
 
bool visualize_potential_
 

Private Member Functions

void clearRobotCell (const tf::Stamped< tf::Pose > &global_pose, unsigned int mx, unsigned int my)
 
void mapToWorld (double mx, double my, double &wx, double &wy)
 
double sq_distance (const geometry_msgs::PoseStamped &p1, const geometry_msgs::PoseStamped &p2)
 

Private Attributes

double default_tolerance_
 
std::string global_frame_
 
ros::ServiceServer make_plan_srv_
 
boost::mutex mutex_
 
double planner_window_x_
 
double planner_window_y_
 
std::string tf_prefix_
 

Additional Inherited Members

- Protected Member Functions inherited from nav_core::BaseGlobalPlanner
 BaseGlobalPlanner ()
 

Detailed Description

Provides a ROS wrapper for the navfn planner which runs a fast, interpolated navigation function on a costmap.

Definition at line 58 of file navfn_ros.h.

Constructor & Destructor Documentation

navfn::NavfnROS::NavfnROS ( )

Default constructor for the NavFnROS object.

Definition at line 50 of file navfn_ros.cpp.

navfn::NavfnROS::NavfnROS ( std::string  name,
costmap_2d::Costmap2DROS costmap_ros 
)

Constructor for the NavFnROS object.

Parameters
nameThe name of this planner
costmapA pointer to the ROS wrapper of the costmap to use

Definition at line 53 of file navfn_ros.cpp.

navfn::NavfnROS::NavfnROS ( std::string  name,
costmap_2d::Costmap2D costmap,
std::string  global_frame 
)

Constructor for the NavFnROS object.

Parameters
nameThe name of this planner
costmapA pointer to the costmap to use
global_frameThe global frame of the costmap

Definition at line 59 of file navfn_ros.cpp.

navfn::NavfnROS::~NavfnROS ( )
inline

Definition at line 158 of file navfn_ros.h.

Member Function Documentation

void navfn::NavfnROS::clearRobotCell ( const tf::Stamped< tf::Pose > &  global_pose,
unsigned int  mx,
unsigned int  my 
)
private

Definition at line 175 of file navfn_ros.cpp.

bool navfn::NavfnROS::computePotential ( const geometry_msgs::Point world_point)

Computes the full navigation function for the map given a point in the world to start from.

Parameters
world_pointThe point to use for seeding the navigation function
Returns
True if the navigation function was computed successfully, false otherwise

Definition at line 147 of file navfn_ros.cpp.

bool navfn::NavfnROS::getPlanFromPotential ( const geometry_msgs::PoseStamped &  goal,
std::vector< geometry_msgs::PoseStamped > &  plan 
)

Compute a plan to a goal after the potential for a start point has already been computed (Note: You should call computePotential first)

Parameters
goalThe goal pose to create a plan to
planThe plan... filled by the planner
Returns
True if a valid plan was found, false otherwise

Definition at line 387 of file navfn_ros.cpp.

double navfn::NavfnROS::getPointPotential ( const geometry_msgs::Point world_point)

Get the potential, or naviagation cost, at a given point in the world (Note: You should call computePotential first)

Parameters
world_pointThe point to get the potential for
Returns
The navigation function's value at that point in the world

Definition at line 133 of file navfn_ros.cpp.

void navfn::NavfnROS::initialize ( std::string  name,
costmap_2d::Costmap2DROS costmap_ros 
)
virtual

Initialization function for the NavFnROS object.

Parameters
nameThe name of this planner
costmapA pointer to the ROS wrapper of the costmap to use for planning

Implements nav_core::BaseGlobalPlanner.

Definition at line 98 of file navfn_ros.cpp.

void navfn::NavfnROS::initialize ( std::string  name,
costmap_2d::Costmap2D costmap,
std::string  global_frame 
)

Initialization function for the NavFnROS object.

Parameters
nameThe name of this planner
costmapA pointer to the costmap to use for planning
global_frameThe global frame of the costmap

Definition at line 65 of file navfn_ros.cpp.

bool navfn::NavfnROS::makePlan ( const geometry_msgs::PoseStamped &  start,
const geometry_msgs::PoseStamped &  goal,
std::vector< geometry_msgs::PoseStamped > &  plan 
)
virtual

Given a goal pose in the world, compute a plan.

Parameters
startThe start pose
goalThe goal pose
planThe plan... filled by the planner
Returns
True if a valid plan was found, false otherwise

Implements nav_core::BaseGlobalPlanner.

Definition at line 199 of file navfn_ros.cpp.

bool navfn::NavfnROS::makePlan ( const geometry_msgs::PoseStamped &  start,
const geometry_msgs::PoseStamped &  goal,
double  tolerance,
std::vector< geometry_msgs::PoseStamped > &  plan 
)

Given a goal pose in the world, compute a plan.

Parameters
startThe start pose
goalThe goal pose
toleranceThe tolerance on the goal point for the planner
planThe plan... filled by the planner
Returns
True if a valid plan was found, false otherwise

Definition at line 204 of file navfn_ros.cpp.

bool navfn::NavfnROS::makePlanService ( nav_msgs::GetPlan::Request &  req,
nav_msgs::GetPlan::Response &  resp 
)

Definition at line 185 of file navfn_ros.cpp.

void navfn::NavfnROS::mapToWorld ( double  mx,
double  my,
double &  wx,
double &  wy 
)
private

Definition at line 194 of file navfn_ros.cpp.

void navfn::NavfnROS::publishPlan ( const std::vector< geometry_msgs::PoseStamped > &  path,
double  r,
double  g,
double  b,
double  a 
)

Publish a path for visualization purposes.

Definition at line 363 of file navfn_ros.cpp.

double navfn::NavfnROS::sq_distance ( const geometry_msgs::PoseStamped &  p1,
const geometry_msgs::PoseStamped &  p2 
)
inlineprivate

Definition at line 175 of file navfn_ros.h.

bool navfn::NavfnROS::validPointPotential ( const geometry_msgs::Point world_point)

Check for a valid potential value at a given point in the world (Note: You should call computePotential first)

Parameters
world_pointThe point to get the potential for
Returns
True if the navigation function is valid at that point in the world, false otherwise

Definition at line 102 of file navfn_ros.cpp.

bool navfn::NavfnROS::validPointPotential ( const geometry_msgs::Point world_point,
double  tolerance 
)

Check for a valid potential value at a given point in the world (Note: You should call computePotential first)

Parameters
world_pointThe point to get the potential for
toleranceThe tolerance on searching around the world_point specified
Returns
True if the navigation function is valid at that point in the world, false otherwise

Definition at line 106 of file navfn_ros.cpp.

Member Data Documentation

bool navfn::NavfnROS::allow_unknown_
protected

Definition at line 171 of file navfn_ros.h.

costmap_2d::Costmap2D* navfn::NavfnROS::costmap_
protected

Store a copy of the current costmap in costmap. Called by makePlan.

Definition at line 167 of file navfn_ros.h.

double navfn::NavfnROS::default_tolerance_
private

Definition at line 183 of file navfn_ros.h.

std::string navfn::NavfnROS::global_frame_
private

Definition at line 187 of file navfn_ros.h.

bool navfn::NavfnROS::initialized_
protected

Definition at line 171 of file navfn_ros.h.

ros::ServiceServer navfn::NavfnROS::make_plan_srv_
private

Definition at line 186 of file navfn_ros.h.

boost::mutex navfn::NavfnROS::mutex_
private

Definition at line 185 of file navfn_ros.h.

ros::Publisher navfn::NavfnROS::plan_pub_
protected

Definition at line 169 of file navfn_ros.h.

boost::shared_ptr<NavFn> navfn::NavfnROS::planner_
protected

Definition at line 168 of file navfn_ros.h.

double navfn::NavfnROS::planner_window_x_
private

Definition at line 183 of file navfn_ros.h.

double navfn::NavfnROS::planner_window_y_
private

Definition at line 183 of file navfn_ros.h.

pcl_ros::Publisher<PotarrPoint> navfn::NavfnROS::potarr_pub_
protected

Definition at line 170 of file navfn_ros.h.

std::string navfn::NavfnROS::tf_prefix_
private

Definition at line 184 of file navfn_ros.h.

bool navfn::NavfnROS::visualize_potential_
protected

Definition at line 171 of file navfn_ros.h.


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


navfn
Author(s): Kurt Konolige, Eitan Marder-Eppstein, contradict@gmail.com
autogenerated on Thu Jan 21 2021 04:06:04