00001 00014 #ifndef CREATE_PARKING_SPOTS_H_ 00015 #define CREATE_PARKING_SPOTS_H_ 00016 00017 #include <ros/ros.h> 00018 #include <interactive_markers/interactive_marker_server.h> 00019 #include <visualization_msgs/InteractiveMarker.h> 00020 #include <actionlib/client/simple_action_client.h> 00021 #include <move_base_msgs/MoveBaseGoal.h> 00022 #include <move_base_msgs/MoveBaseAction.h> 00023 #include <geometry_msgs/PoseStamped.h> 00024 #include <geometry_msgs/Pose.h> 00025 #include <urdf/model.h> 00026 00027 typedef actionlib::SimpleActionClient<move_base_msgs::MoveBaseAction> MoveBaseClient; 00028 00034 class CreateParkingSpots{ 00035 00036 public: 00037 00042 CreateParkingSpots(); 00043 00044 private: 00045 00046 MoveBaseClient client_; 00047 00048 interactive_markers::InteractiveMarkerServer server_; 00049 00055 visualization_msgs::InteractiveMarker createParkingSpot(std::string frame_id); 00056 00061 void onClick(const visualization_msgs::InteractiveMarkerFeedbackConstPtr &f); 00062 00068 bool isNavGoal(std::string link_name); 00069 }; 00070 00071 #endif