00001 #ifndef MINPOSPLANNER_H_ 00002 #define MINPOSPLANNER_H_ 00003 00004 #include <nav2d_navigator/ExplorationPlanner.h> 00005 00006 class MinPosPlanner : public ExplorationPlanner 00007 { 00008 public: 00009 MinPosPlanner(); 00010 ~MinPosPlanner(); 00011 00012 int findExplorationTarget(GridMap* map, unsigned int start, unsigned int &goal); 00013 00014 private: 00015 typedef std::vector<unsigned int> Frontier; 00016 typedef std::vector<Frontier> FrontierList; 00017 00018 // Methods 00019 void findCluster(GridMap* map, unsigned int startCell); 00020 00021 // ROS-Stuff 00022 ros::Publisher mFrontierPublisher; 00023 00024 // Components 00025 RobotList mRobotList; 00026 FrontierList mFrontiers; 00027 double* mPlan; 00028 unsigned int mFrontierCells; 00029 00030 // Parameters 00031 int mRobotID; 00032 bool mVisualizeFrontiers; 00033 double mMinTargetAreaSize; 00034 unsigned int mOffset[8]; 00035 }; 00036 00037 #endif // MINPOSPLANNER_H_