37 #ifndef MOVEIT_SEMANTIC_WORLD_ 38 #define MOVEIT_SEMANTIC_WORLD_ 43 #include <object_recognition_msgs/TableArray.h> 44 #include <moveit_msgs/CollisionObject.h> 45 #include <boost/thread/mutex.hpp> 55 namespace semantic_world
77 object_recognition_msgs::TableArray getTablesInROI(
double minx,
double miny,
double minz,
double maxx,
double maxy,
83 std::vector<std::string> getTableNamesInROI(
double minx,
double miny,
double minz,
double maxx,
double maxy,
91 std::vector<geometry_msgs::PoseStamped> generatePlacePoses(
const std::string& table_name,
93 const geometry_msgs::Quaternion& object_orientation,
94 double resolution,
double delta_height = 0.01,
95 unsigned int num_heights = 2)
const;
102 std::vector<geometry_msgs::PoseStamped> generatePlacePoses(
const object_recognition_msgs::Table& table,
104 const geometry_msgs::Quaternion& object_orientation,
105 double resolution,
double delta_height = 0.01,
106 unsigned int num_heights = 2)
const;
114 std::vector<geometry_msgs::PoseStamped> generatePlacePoses(
const object_recognition_msgs::Table& table,
115 double resolution,
double height_above_table,
116 double delta_height = 0.01,
unsigned int num_heights = 2,
117 double min_distance_from_edge = 0.10)
const;
121 bool addTablesToCollisionWorld();
123 visualization_msgs::MarkerArray getPlaceLocationsMarker(
const std::vector<geometry_msgs::PoseStamped>& poses)
const;
127 table_callback_ = table_callback;
130 std::string findObjectTable(
const geometry_msgs::Pose& pose,
double min_distance_from_edge = 0.0,
131 double min_vertical_offset = 0.0)
const;
133 bool isInsideTableContour(
const geometry_msgs::Pose& pose,
const object_recognition_msgs::Table& table,
134 double min_distance_from_edge = 0.0,
double min_vertical_offset = 0.0)
const;
141 void tableCallback(
const object_recognition_msgs::TableArrayPtr& msg);
143 void transformTableArray(object_recognition_msgs::TableArray& table_array)
const;
TableCallbackFn table_callback_
planning_scene::PlanningSceneConstPtr planning_scene_
std::map< std::string, object_recognition_msgs::Table > current_tables_in_collision_world_
ros::Publisher planning_scene_diff_publisher_
object_recognition_msgs::TableArray table_array_
MOVEIT_CLASS_FORWARD(Shape)
A (simple) semantic world representation for pick and place and other tasks.
void addTableCallback(const TableCallbackFn &table_callback)
ros::Subscriber table_subscriber_
ros::Publisher visualization_publisher_
std::vector< geometry_msgs::PoseStamped > place_poses_
ros::NodeHandle node_handle_
boost::function< void()> TableCallbackFn
The signature for a callback on receiving table messages.
std::shared_ptr< const Shape > ShapeConstPtr