sbpl_lattice_planner.h
Go to the documentation of this file.
1 #ifndef SBPL_LATTICE_PLANNER_H
2 #define SBPL_LATTICE_PLANNER_H
3 
4 #include <iostream>
5 #include <vector>
6 
7 using namespace std;
8 
9 // ROS
10 #include <ros/ros.h>
11 #include <geometry_msgs/PoseStamped.h>
12 #include <visualization_msgs/Marker.h>
13 
14 // Costmap used for the map representation
16 
17 // sbpl headers
18 #include <sbpl/headers.h>
19 
20 // global representation
22 
24 
26 public:
27 
32 
33 
39  SBPLLatticePlanner(std::string name, costmap_2d::Costmap2DROS* costmap_ros);
40 
41 
47  virtual void initialize(std::string name,
48  costmap_2d::Costmap2DROS* costmap_ros);
49 
57  virtual bool makePlan(const geometry_msgs::PoseStamped& start,
58  const geometry_msgs::PoseStamped& goal,
59  std::vector<geometry_msgs::PoseStamped>& plan);
60 
61  virtual ~SBPLLatticePlanner(){};
62 
63 private:
64  unsigned char costMapCostToSBPLCost(unsigned char newcost);
65  void publishStats(int solution_cost, int solution_size,
66  const geometry_msgs::PoseStamped& start,
67  const geometry_msgs::PoseStamped& goal);
68 
69  unsigned char computeCircumscribedCost();
70 
71  static void transformFootprintToEdges(const geometry_msgs::Pose& robot_pose,
72  const std::vector<geometry_msgs::Point>& footprint,
73  std::vector<geometry_msgs::Point>& out_footprint);
74 
75  void getFootprintList(const std::vector<EnvNAVXYTHETALAT3Dpt_t>& sbpl_path, const std::string& path_frame_id,
76  visualization_msgs::Marker& ma);
77 
79 
80  SBPLPlanner* planner_;
81  EnvironmentNAVXYTHETALAT* env_;
82 
83  std::string planner_type_;
85  double allocated_time_;
88  std::string environment_type_;
89  std::string cost_map_topic_;
92  std::string primitive_filename_;
95  unsigned char lethal_obstacle_;
97  unsigned char circumscribed_cost_;
98  unsigned char sbpl_cost_multiplier_;
99 
102 
104 
105  std::string name_;
107  std::vector<geometry_msgs::Point> footprint_;
108  unsigned int current_env_width_;
109  unsigned int current_env_height_;
110 
114 };
115 };
116 
117 #endif
118 
ROSCPP_DECL void start()
ROSCONSOLE_DECL void initialize()
std::vector< geometry_msgs::Point > footprint_


sbpl_lattice_planner
Author(s): Michael Phillips
autogenerated on Sat Aug 27 2022 02:54:19