Go to the documentation of this file.
8 #ifndef cb_global_planner_ASTARPLANNER_GPP_H_
9 #define cb_global_planner_ASTARPLANNER_GPP_H_
17 #include <geometry_msgs/PoseStamped.h>
18 #include <geometry_msgs/Point.h>
20 #include <ros/service_client.h>
22 #include <tf2/transform_datatypes.h>
24 #include <std_msgs/ColorRGBA.h>
26 #include <visualization_msgs/Marker.h>
36 class AStarPlannerGPP :
public GlobalPlannerPlugin
62 bool makePlan(
const geometry_msgs::PoseStamped& start,
const cb_base_navigation_msgs::PositionConstraint& pc,
79 bool constraintChanged(
const cb_base_navigation_msgs::PositionConstraint& pc) {
return (
pc_.constraint != pc.constraint ||
pc_.frame != pc.frame); }
86 cb_base_navigation_msgs::PositionConstraint
pc_;
ros::ServiceClient ed_client_
World model client.
AStarPlannerGPP()
Constructor for the AStarPlannerGPP object.
bool checkPlan(const std::vector< geometry_msgs::PoseStamped > &plan)
Check if plan is valid.
bool constraintChanged(const cb_base_navigation_msgs::PositionConstraint &pc)
bool evaluateConstraint(const tf2::Vector3 &p)
costmap_2d::Costmap2DROS * global_costmap_ros_
std::vector< tf2::Vector3 > goal_positions_in_constraint_frame_
bool updateConstraintPositionsInConstraintFrame(const cb_base_navigation_msgs::PositionConstraint &pc)
cb_base_navigation_msgs::PositionConstraint pc_
bool makePlan(const geometry_msgs::PoseStamped &start, const cb_base_navigation_msgs::PositionConstraint &pc, std::vector< geometry_msgs::PoseStamped > &plan, std::vector< tf2::Vector3 > &goal_positions)
Given a set of goal constraints, compute a plan.
void planToWorld(const std::vector< int > &plan_xs, const std::vector< int > &plan_ys, std::vector< geometry_msgs::PoseStamped > &plan)
void initialize(std::string name, tf2_ros::Buffer *tf, costmap_2d::Costmap2DROS *global_costmap_ros)
Initialization function for the AStarPlannerGPP object.
bool queryEntityPose(const std::string &id, tf2::Transform &pose)
bool calculateMapConstraintArea(std::vector< unsigned int > &mx, std::vector< unsigned int > &my, std::vector< tf2::Vector3 > &goal_positions)
std::unique_ptr< AStarPlanner > planner_