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 
sbpl_lattice_planner::SBPLLatticePlanner::primitive_filename_
std::string primitive_filename_
Definition: sbpl_lattice_planner.h:92
ros::Publisher
sbpl_lattice_planner::SBPLLatticePlanner::allow_unknown_
bool allow_unknown_
Definition: sbpl_lattice_planner.h:103
ros.h
sbpl_lattice_planner::SBPLLatticePlanner::costmap_ros_
costmap_2d::Costmap2DROS * costmap_ros_
Definition: sbpl_lattice_planner.h:106
sbpl_lattice_planner::SBPLLatticePlanner::force_scratch_limit_
int force_scratch_limit_
Definition: sbpl_lattice_planner.h:93
sbpl_lattice_planner::SBPLLatticePlanner::current_env_width_
unsigned int current_env_width_
Definition: sbpl_lattice_planner.h:108
sbpl_lattice_planner::SBPLLatticePlanner::cost_map_topic_
std::string cost_map_topic_
Definition: sbpl_lattice_planner.h:89
sbpl_lattice_planner::SBPLLatticePlanner
Definition: sbpl_lattice_planner.h:25
costmap_2d_ros.h
sbpl_lattice_planner::SBPLLatticePlanner::visualizer_skip_poses_
int visualizer_skip_poses_
Definition: sbpl_lattice_planner.h:101
sbpl_lattice_planner::SBPLLatticePlanner::~SBPLLatticePlanner
virtual ~SBPLLatticePlanner()
Definition: sbpl_lattice_planner.h:61
sbpl_lattice_planner::SBPLLatticePlanner::environment_type_
std::string environment_type_
Definition: sbpl_lattice_planner.h:88
sbpl_lattice_planner::SBPLLatticePlanner::initialized_
bool initialized_
Definition: sbpl_lattice_planner.h:78
sbpl_lattice_planner::SBPLLatticePlanner::env_
EnvironmentNAVXYTHETALAT * env_
Definition: sbpl_lattice_planner.h:81
sbpl_lattice_planner::SBPLLatticePlanner::sbpl_cost_multiplier_
unsigned char sbpl_cost_multiplier_
Definition: sbpl_lattice_planner.h:98
sbpl_lattice_planner::SBPLLatticePlanner::sbpl_plan_footprint_pub_
ros::Publisher sbpl_plan_footprint_pub_
Definition: sbpl_lattice_planner.h:113
sbpl_lattice_planner::SBPLLatticePlanner::name_
std::string name_
Definition: sbpl_lattice_planner.h:105
sbpl_lattice_planner::SBPLLatticePlanner::publish_footprint_path_
bool publish_footprint_path_
Definition: sbpl_lattice_planner.h:100
sbpl_lattice_planner::SBPLLatticePlanner::plan_pub_
ros::Publisher plan_pub_
Definition: sbpl_lattice_planner.h:111
sbpl_lattice_planner::SBPLLatticePlanner::initial_epsilon_
double initial_epsilon_
Definition: sbpl_lattice_planner.h:86
sbpl_lattice_planner::SBPLLatticePlanner::stats_publisher_
ros::Publisher stats_publisher_
Definition: sbpl_lattice_planner.h:112
sbpl_lattice_planner::SBPLLatticePlanner::lethal_obstacle_
unsigned char lethal_obstacle_
Definition: sbpl_lattice_planner.h:95
sbpl_lattice_planner
Definition: sbpl_lattice_planner.h:23
start
ROSCPP_DECL void start()
sbpl_lattice_planner::SBPLLatticePlanner::planner_type_
std::string planner_type_
Definition: sbpl_lattice_planner.h:83
sbpl_lattice_planner::SBPLLatticePlanner::circumscribed_cost_
unsigned char circumscribed_cost_
Definition: sbpl_lattice_planner.h:97
sbpl_lattice_planner::SBPLLatticePlanner::planner_
SBPLPlanner * planner_
Definition: sbpl_lattice_planner.h:80
base_global_planner.h
std
sbpl_lattice_planner::SBPLLatticePlanner::inscribed_inflated_obstacle_
unsigned char inscribed_inflated_obstacle_
Definition: sbpl_lattice_planner.h:96
initialize
ROSCONSOLE_DECL void initialize()
sbpl_lattice_planner::SBPLLatticePlanner::allocated_time_
double allocated_time_
Definition: sbpl_lattice_planner.h:85
sbpl_lattice_planner::SBPLLatticePlanner::footprint_
std::vector< geometry_msgs::Point > footprint_
Definition: sbpl_lattice_planner.h:107
nav_core::BaseGlobalPlanner
sbpl_lattice_planner::SBPLLatticePlanner::current_env_height_
unsigned int current_env_height_
Definition: sbpl_lattice_planner.h:109
costmap_2d::Costmap2DROS
sbpl_lattice_planner::SBPLLatticePlanner::forward_search_
bool forward_search_
Definition: sbpl_lattice_planner.h:91


sbpl_lattice_planner
Author(s): Michael Phillips
autogenerated on Fri Aug 26 2022 02:17:53