43 const geometry_msgs::Pose2D& goal,
44 const nav_2d_msgs::Path2D& global_plan)
48 unsigned int local_goal_x, local_goal_y;
56 queue_->enqueueCell(local_goal_x, local_goal_y);
68 bool started_path =
false;
71 for (
unsigned int i = 0; i < adjusted_global_plan.poses.size(); ++i)
73 double g_x = adjusted_global_plan.poses[i].x;
74 double g_y = adjusted_global_plan.poses[i].y;
75 unsigned int map_x, map_y;
83 else if (started_path)
97 ROS_ERROR_NAMED(
"GoalDistCritic",
"None of the points of the global plan were in the local costmap.");
void reset() override
Clear the queue and set cell_values_ to the appropriate number of unreachableCellScore.
nav_core2::BasicCostmap costmap
void propogateManhattanDistances()
Go through the queue and set the cells to the Manhattan distance from their parents.
static const unsigned char NO_INFORMATION
bool prepare(const geometry_msgs::Pose2D &pose, const nav_2d_msgs::Twist2D &vel, const geometry_msgs::Pose2D &goal, const nav_2d_msgs::Path2D &global_plan) override
Scores trajectories based on how far along the global path they end up.
nav_core2::Costmap::Ptr costmap_
bool getLastPoseOnCostmap(const nav_2d_msgs::Path2D &global_plan, unsigned int &x, unsigned int &y)
void setValue(const unsigned int x, const unsigned int y, const T &value) override
nav_2d_msgs::Path2D adjustPlanResolution(const nav_2d_msgs::Path2D &global_plan_in, double resolution)
#define ROS_ERROR_NAMED(name,...)
std::shared_ptr< MapGridQueue > queue_
nav_grid::VectorNavGrid< double > cell_values_
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
bool worldToGridBounded(const NavGridInfo &info, double wx, double wy, unsigned int &mx, unsigned int &my)