Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
moveit::semantic_world::SemanticWorld Class Reference

A (simple) semantic world representation for pick and place and other tasks. More...

#include <semantic_world.h>

Public Types

typedef boost::function< void()> TableCallbackFn
 The signature for a callback on receiving table messages. More...
 

Public Member Functions

void addTableCallback (const TableCallbackFn &table_callback)
 
bool addTablesToCollisionWorld ()
 
void clear ()
 
std::string findObjectTable (const geometry_msgs::Pose &pose, double min_distance_from_edge=0.0, double min_vertical_offset=0.0) const
 
std::vector< geometry_msgs::PoseStamped > generatePlacePoses (const std::string &table_name, const shapes::ShapeConstPtr &object_shape, const geometry_msgs::Quaternion &object_orientation, double resolution, double delta_height=0.01, unsigned int num_heights=2) const
 Generate possible place poses on the table for a given object. This chooses appropriate values for min_distance_from_edge and for height_above_table based on the object properties. The assumption is that the object is represented by a mesh. More...
 
std::vector< geometry_msgs::PoseStamped > generatePlacePoses (const object_recognition_msgs::Table &table, const shapes::ShapeConstPtr &object_shape, const geometry_msgs::Quaternion &object_orientation, double resolution, double delta_height=0.01, unsigned int num_heights=2) const
 Generate possible place poses on the table for a given object. This chooses appropriate values for min_distance_from_edge and for height_above_table based on the object properties. The assumption is that the object is represented by a mesh. More...
 
std::vector< geometry_msgs::PoseStamped > generatePlacePoses (const object_recognition_msgs::Table &table, double resolution, double height_above_table, double delta_height=0.01, unsigned int num_heights=2, double min_distance_from_edge=0.10) const
 Generate possible place poses on the table. This samples locations in a grid on the table at the given resolution (in meters) in both X and Y directions. The locations are sampled at the specified height above the table (in meters) and then at subsequent additional heights (num_heights times) incremented by delta_height. Locations are only accepted if they are at least min_distance_from_edge meters from the edge of the table. More...
 
visualization_msgs::MarkerArray getPlaceLocationsMarker (const std::vector< geometry_msgs::PoseStamped > &poses) const
 
std::vector< std::string > getTableNamesInROI (double minx, double miny, double minz, double maxx, double maxy, double maxz) const
 Get all the tables within a region of interest. More...
 
object_recognition_msgs::TableArray getTablesInROI (double minx, double miny, double minz, double maxx, double maxy, double maxz) const
 Get all the tables within a region of interest. More...
 
bool isInsideTableContour (const geometry_msgs::Pose &pose, const object_recognition_msgs::Table &table, double min_distance_from_edge=0.0, double min_vertical_offset=0.0) const
 
 SemanticWorld (const planning_scene::PlanningSceneConstPtr &planning_scene)
 A (simple) semantic world representation for pick and place and other tasks. Currently this is used only to represent tables. More...
 

Private Member Functions

shapes::MeshcreateSolidMeshFromPlanarPolygon (const shapes::Mesh &polygon, double thickness) const
 
shapes::MeshorientPlanarPolygon (const shapes::Mesh &polygon) const
 
void tableCallback (const object_recognition_msgs::TableArrayPtr &msg)
 
void transformTableArray (object_recognition_msgs::TableArray &table_array) const
 

Private Attributes

ros::Publisher collision_object_publisher_
 
std::map< std::string, object_recognition_msgs::Table > current_tables_in_collision_world_
 
ros::NodeHandle node_handle_
 
std::vector< geometry_msgs::PoseStamped > place_poses_
 
planning_scene::PlanningSceneConstPtr planning_scene_
 
ros::Publisher planning_scene_diff_publisher_
 
object_recognition_msgs::TableArray table_array_
 
TableCallbackFn table_callback_
 
ros::Subscriber table_subscriber_
 
ros::Publisher visualization_publisher_
 

Detailed Description

A (simple) semantic world representation for pick and place and other tasks.

Definition at line 62 of file semantic_world.h.

Member Typedef Documentation

The signature for a callback on receiving table messages.

Definition at line 66 of file semantic_world.h.

Constructor & Destructor Documentation

moveit::semantic_world::SemanticWorld::SemanticWorld ( const planning_scene::PlanningSceneConstPtr &  planning_scene)

A (simple) semantic world representation for pick and place and other tasks. Currently this is used only to represent tables.

Definition at line 57 of file semantic_world.cpp.

Member Function Documentation

void moveit::semantic_world::SemanticWorld::addTableCallback ( const TableCallbackFn table_callback)
inline

Definition at line 125 of file semantic_world.h.

bool moveit::semantic_world::SemanticWorld::addTablesToCollisionWorld ( )

Definition at line 94 of file semantic_world.cpp.

void moveit::semantic_world::SemanticWorld::clear ( void  )

Definition at line 205 of file semantic_world.cpp.

shapes::Mesh * moveit::semantic_world::SemanticWorld::createSolidMeshFromPlanarPolygon ( const shapes::Mesh polygon,
double  thickness 
) const
private

Definition at line 560 of file semantic_world.cpp.

std::string moveit::semantic_world::SemanticWorld::findObjectTable ( const geometry_msgs::Pose pose,
double  min_distance_from_edge = 0.0,
double  min_vertical_offset = 0.0 
) const

Definition at line 455 of file semantic_world.cpp.

std::vector< geometry_msgs::PoseStamped > moveit::semantic_world::SemanticWorld::generatePlacePoses ( const std::string &  table_name,
const shapes::ShapeConstPtr object_shape,
const geometry_msgs::Quaternion &  object_orientation,
double  resolution,
double  delta_height = 0.01,
unsigned int  num_heights = 2 
) const

Generate possible place poses on the table for a given object. This chooses appropriate values for min_distance_from_edge and for height_above_table based on the object properties. The assumption is that the object is represented by a mesh.

Definition at line 212 of file semantic_world.cpp.

std::vector< geometry_msgs::PoseStamped > moveit::semantic_world::SemanticWorld::generatePlacePoses ( const object_recognition_msgs::Table &  table,
const shapes::ShapeConstPtr object_shape,
const geometry_msgs::Quaternion &  object_orientation,
double  resolution,
double  delta_height = 0.01,
unsigned int  num_heights = 2 
) const

Generate possible place poses on the table for a given object. This chooses appropriate values for min_distance_from_edge and for height_above_table based on the object properties. The assumption is that the object is represented by a mesh.

Definition at line 232 of file semantic_world.cpp.

std::vector< geometry_msgs::PoseStamped > moveit::semantic_world::SemanticWorld::generatePlacePoses ( const object_recognition_msgs::Table &  table,
double  resolution,
double  height_above_table,
double  delta_height = 0.01,
unsigned int  num_heights = 2,
double  min_distance_from_edge = 0.10 
) const

Generate possible place poses on the table. This samples locations in a grid on the table at the given resolution (in meters) in both X and Y directions. The locations are sampled at the specified height above the table (in meters) and then at subsequent additional heights (num_heights times) incremented by delta_height. Locations are only accepted if they are at least min_distance_from_edge meters from the edge of the table.

Definition at line 307 of file semantic_world.cpp.

visualization_msgs::MarkerArray moveit::semantic_world::SemanticWorld::getPlaceLocationsMarker ( const std::vector< geometry_msgs::PoseStamped > &  poses) const

Definition at line 67 of file semantic_world.cpp.

std::vector< std::string > moveit::semantic_world::SemanticWorld::getTableNamesInROI ( double  minx,
double  miny,
double  minz,
double  maxx,
double  maxy,
double  maxz 
) const

Get all the tables within a region of interest.

Definition at line 188 of file semantic_world.cpp.

object_recognition_msgs::TableArray moveit::semantic_world::SemanticWorld::getTablesInROI ( double  minx,
double  miny,
double  minz,
double  maxx,
double  maxy,
double  maxz 
) const

Get all the tables within a region of interest.

Definition at line 171 of file semantic_world.cpp.

bool moveit::semantic_world::SemanticWorld::isInsideTableContour ( const geometry_msgs::Pose pose,
const object_recognition_msgs::Table &  table,
double  min_distance_from_edge = 0.0,
double  min_vertical_offset = 0.0 
) const

Definition at line 388 of file semantic_world.cpp.

shapes::Mesh * moveit::semantic_world::SemanticWorld::orientPlanarPolygon ( const shapes::Mesh polygon) const
private

Definition at line 506 of file semantic_world.cpp.

void moveit::semantic_world::SemanticWorld::tableCallback ( const object_recognition_msgs::TableArrayPtr &  msg)
private

Definition at line 468 of file semantic_world.cpp.

void moveit::semantic_world::SemanticWorld::transformTableArray ( object_recognition_msgs::TableArray &  table_array) const
private

Definition at line 481 of file semantic_world.cpp.

Member Data Documentation

ros::Publisher moveit::semantic_world::SemanticWorld::collision_object_publisher_
private

Definition at line 159 of file semantic_world.h.

std::map<std::string, object_recognition_msgs::Table> moveit::semantic_world::SemanticWorld::current_tables_in_collision_world_
private

Definition at line 153 of file semantic_world.h.

ros::NodeHandle moveit::semantic_world::SemanticWorld::node_handle_
private

Definition at line 147 of file semantic_world.h.

std::vector<geometry_msgs::PoseStamped> moveit::semantic_world::SemanticWorld::place_poses_
private

Definition at line 151 of file semantic_world.h.

planning_scene::PlanningSceneConstPtr moveit::semantic_world::SemanticWorld::planning_scene_
private

Definition at line 145 of file semantic_world.h.

ros::Publisher moveit::semantic_world::SemanticWorld::planning_scene_diff_publisher_
private

Definition at line 163 of file semantic_world.h.

object_recognition_msgs::TableArray moveit::semantic_world::SemanticWorld::table_array_
private

Definition at line 149 of file semantic_world.h.

TableCallbackFn moveit::semantic_world::SemanticWorld::table_callback_
private

Definition at line 161 of file semantic_world.h.

ros::Subscriber moveit::semantic_world::SemanticWorld::table_subscriber_
private

Definition at line 157 of file semantic_world.h.

ros::Publisher moveit::semantic_world::SemanticWorld::visualization_publisher_
private

Definition at line 159 of file semantic_world.h.


The documentation for this class was generated from the following files:


perception
Author(s): Ioan Sucan , Jon Binney , Suat Gedikli
autogenerated on Sun Oct 18 2020 13:17:23