#include <world.h>
Public Member Functions | |
void | update () |
World (ros::NodeHandle n, ros::NodeHandle pn, const std::string grasp_suggestion_service, const std::string &segmentation_service_name, const std::string &segmented_objects_topic_name, const std::string &segmented_table_topic_name, const std::string &planning_scene_topic, const float &obj_similar_distance_threshold, const float &obj_add_distance_threshold, const float &obj_nearest_distance_threshold, const float &obj_distance_zero_clamp, const float &text_h, const float &surface_h, const float &text_off, const std::string &base_frame_name) | |
~World () | |
Private Member Functions | |
void | addGrasp (const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback) |
bool | addNewObject (geometry_msgs::Pose pose, geometry_msgs::Vector3 dimensions, sensor_msgs::PointCloud2 point_cloud) |
void | addSurfaceToPlanningScene (geometry_msgs::Pose pose, geometry_msgs::Vector3 dimensions) |
void | clearObjects () |
bool | clearObjectsCallback (std_srvs::Empty::Request &req, std_srvs::Empty::Response &resp) |
void | getBoundingBox (sensor_msgs::PointCloud2 pc2, geometry_msgs::Vector3 *dimensions, geometry_msgs::Pose *pose) |
bool | getMostSimilarObjectCallback (fetch_pbd_interaction::GetMostSimilarObject::Request &req, fetch_pbd_interaction::GetMostSimilarObject::Response &res) |
bool | getNearestObjectCallback (fetch_pbd_interaction::GetNearestObject::Request &req, fetch_pbd_interaction::GetNearestObject::Response &resp) |
bool | getObjectFromNameCallback (fetch_pbd_interaction::GetObjectFromName::Request &req, fetch_pbd_interaction::GetObjectFromName::Response &resp) |
std::vector < fetch_pbd_interaction::Landmark > | getObjectList () |
bool | getObjectListCallback (fetch_pbd_interaction::GetObjectList::Request &req, fetch_pbd_interaction::GetObjectList::Response &resp) |
visualization_msgs::InteractiveMarker | getObjectMarker (int index) |
visualization_msgs::InteractiveMarker | getSurfaceMarker (geometry_msgs::Pose pose, geometry_msgs::Vector3 dimensions) |
bool | hasObjects () |
void | markerFeedbackCallback (const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback) |
void | objectsUpdateCallback (const rail_manipulation_msgs::SegmentedObjectListConstPtr &msg) |
void | publishTfPose (geometry_msgs::Pose pose, std::string name, std::string parent) |
void | recordObjectPose () |
void | removeObject (const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback) |
void | removeSurfaceFromPlanningScene () |
void | removeSurfaceMarker () |
void | resetObjects () |
void | tablePositionUpdateCallback (const rail_manipulation_msgs::SegmentedObjectPtr &msg) |
bool | updateWorldCallback (fetch_pbd_interaction::GetObjectList::Request &req, fetch_pbd_interaction::GetObjectList::Response &resp) |
void | worldChanged () |
Static Private Member Functions | |
static float | objectDissimilarity (fetch_pbd_interaction::Landmark obj1, fetch_pbd_interaction::Landmark obj2) |
static void | pc2ToMarker (sensor_msgs::PointCloud2 pc2, int index, ros::Duration duration, std::string output_frame, visualization_msgs::Marker *pc2_marker_points, visualization_msgs::Marker *pc2_marker_sphere_list) |
static float | poseDistance (geometry_msgs::Pose pose1, geometry_msgs::Pose pose2, bool is_on_table=true) |
Private Attributes | |
ros::Publisher | add_grasp_pub |
std::string | base_frame |
ros::ServiceServer | clear_world_objects_service |
std_msgs::ColorRGBA | color_obj |
std_msgs::ColorRGBA | color_surface |
std_msgs::ColorRGBA | color_text |
bool | has_surface |
interactive_markers::InteractiveMarkerServer | im_server |
ros::Duration | marker_duration |
interactive_markers::MenuHandler | menu_handler |
boost::mutex | mutex |
ros::ServiceServer | nearest_object_service |
float | obj_add_dist_threshold |
float | obj_dist_zero_clamp |
float | obj_nearest_dist_threshold |
float | obj_similar_dist_threshold |
ros::ServiceServer | object_from_name_service |
ros::ServiceServer | object_list_service |
ros::Subscriber | object_subscriber |
std::vector < fetch_pbd_interaction::WorldLandmark > | objects |
ros::Publisher | planning_scene_diff_publisher |
geometry_msgs::Vector3 | scale_text |
ros::ServiceClient | segmentation_service_client |
std::string | segmented_objects_topic |
ros::ServiceServer | similar_object_service |
float | surface_height |
ros::Subscriber | table_subscriber |
float | text_height |
float | text_offset |
tf::TransformBroadcaster | tf_broadcaster |
tf::TransformListener | tf_listener |
ros::ServiceServer | update_world_service |
ros::Publisher | world_update_pub |
fetch_pbd_interaction::World::World | ( | ros::NodeHandle | n, |
ros::NodeHandle | pn, | ||
const std::string | grasp_suggestion_service, | ||
const std::string & | segmentation_service_name, | ||
const std::string & | segmented_objects_topic_name, | ||
const std::string & | segmented_table_topic_name, | ||
const std::string & | planning_scene_topic, | ||
const float & | obj_similar_distance_threshold, | ||
const float & | obj_add_distance_threshold, | ||
const float & | obj_nearest_distance_threshold, | ||
const float & | obj_distance_zero_clamp, | ||
const float & | text_h, | ||
const float & | surface_h, | ||
const float & | text_off, | ||
const std::string & | base_frame_name | ||
) |
void fetch_pbd_interaction::World::addGrasp | ( | const visualization_msgs::InteractiveMarkerFeedbackConstPtr & | feedback | ) | [private] |
bool fetch_pbd_interaction::World::addNewObject | ( | geometry_msgs::Pose | pose, |
geometry_msgs::Vector3 | dimensions, | ||
sensor_msgs::PointCloud2 | point_cloud | ||
) | [private] |
void fetch_pbd_interaction::World::addSurfaceToPlanningScene | ( | geometry_msgs::Pose | pose, |
geometry_msgs::Vector3 | dimensions | ||
) | [private] |
void fetch_pbd_interaction::World::clearObjects | ( | ) | [private] |
bool fetch_pbd_interaction::World::clearObjectsCallback | ( | std_srvs::Empty::Request & | req, |
std_srvs::Empty::Response & | resp | ||
) | [private] |
void fetch_pbd_interaction::World::getBoundingBox | ( | sensor_msgs::PointCloud2 | pc2, |
geometry_msgs::Vector3 * | dimensions, | ||
geometry_msgs::Pose * | pose | ||
) | [private] |
bool fetch_pbd_interaction::World::getMostSimilarObjectCallback | ( | fetch_pbd_interaction::GetMostSimilarObject::Request & | req, |
fetch_pbd_interaction::GetMostSimilarObject::Response & | res | ||
) | [private] |
bool fetch_pbd_interaction::World::getNearestObjectCallback | ( | fetch_pbd_interaction::GetNearestObject::Request & | req, |
fetch_pbd_interaction::GetNearestObject::Response & | resp | ||
) | [private] |
bool fetch_pbd_interaction::World::getObjectFromNameCallback | ( | fetch_pbd_interaction::GetObjectFromName::Request & | req, |
fetch_pbd_interaction::GetObjectFromName::Response & | resp | ||
) | [private] |
std::vector< fetch_pbd_interaction::Landmark > fetch_pbd_interaction::World::getObjectList | ( | ) | [private] |
bool fetch_pbd_interaction::World::getObjectListCallback | ( | fetch_pbd_interaction::GetObjectList::Request & | req, |
fetch_pbd_interaction::GetObjectList::Response & | resp | ||
) | [private] |
visualization_msgs::InteractiveMarker fetch_pbd_interaction::World::getObjectMarker | ( | int | index | ) | [private] |
visualization_msgs::InteractiveMarker fetch_pbd_interaction::World::getSurfaceMarker | ( | geometry_msgs::Pose | pose, |
geometry_msgs::Vector3 | dimensions | ||
) | [private] |
bool fetch_pbd_interaction::World::hasObjects | ( | ) | [private] |
void fetch_pbd_interaction::World::markerFeedbackCallback | ( | const visualization_msgs::InteractiveMarkerFeedbackConstPtr & | feedback | ) | [private] |
float fetch_pbd_interaction::World::objectDissimilarity | ( | fetch_pbd_interaction::Landmark | obj1, |
fetch_pbd_interaction::Landmark | obj2 | ||
) | [static, private] |
void fetch_pbd_interaction::World::objectsUpdateCallback | ( | const rail_manipulation_msgs::SegmentedObjectListConstPtr & | msg | ) | [private] |
void fetch_pbd_interaction::World::pc2ToMarker | ( | sensor_msgs::PointCloud2 | pc2, |
int | index, | ||
ros::Duration | duration, | ||
std::string | output_frame, | ||
visualization_msgs::Marker * | pc2_marker_points, | ||
visualization_msgs::Marker * | pc2_marker_sphere_list | ||
) | [static, private] |
float fetch_pbd_interaction::World::poseDistance | ( | geometry_msgs::Pose | pose1, |
geometry_msgs::Pose | pose2, | ||
bool | is_on_table = true |
||
) | [static, private] |
void fetch_pbd_interaction::World::publishTfPose | ( | geometry_msgs::Pose | pose, |
std::string | name, | ||
std::string | parent | ||
) | [private] |
void fetch_pbd_interaction::World::recordObjectPose | ( | ) | [private] |
void fetch_pbd_interaction::World::removeObject | ( | const visualization_msgs::InteractiveMarkerFeedbackConstPtr & | feedback | ) | [private] |
void fetch_pbd_interaction::World::removeSurfaceFromPlanningScene | ( | ) | [private] |
void fetch_pbd_interaction::World::removeSurfaceMarker | ( | ) | [private] |
void fetch_pbd_interaction::World::resetObjects | ( | ) | [private] |
void fetch_pbd_interaction::World::tablePositionUpdateCallback | ( | const rail_manipulation_msgs::SegmentedObjectPtr & | msg | ) | [private] |
void fetch_pbd_interaction::World::update | ( | void | ) |
bool fetch_pbd_interaction::World::updateWorldCallback | ( | fetch_pbd_interaction::GetObjectList::Request & | req, |
fetch_pbd_interaction::GetObjectList::Response & | resp | ||
) | [private] |
void fetch_pbd_interaction::World::worldChanged | ( | ) | [private] |
std::string fetch_pbd_interaction::World::base_frame [private] |
std_msgs::ColorRGBA fetch_pbd_interaction::World::color_obj [private] |
std_msgs::ColorRGBA fetch_pbd_interaction::World::color_surface [private] |
std_msgs::ColorRGBA fetch_pbd_interaction::World::color_text [private] |
bool fetch_pbd_interaction::World::has_surface [private] |
boost::mutex fetch_pbd_interaction::World::mutex [private] |
float fetch_pbd_interaction::World::obj_add_dist_threshold [private] |
float fetch_pbd_interaction::World::obj_dist_zero_clamp [private] |
float fetch_pbd_interaction::World::obj_nearest_dist_threshold [private] |
float fetch_pbd_interaction::World::obj_similar_dist_threshold [private] |
std::vector<fetch_pbd_interaction::WorldLandmark> fetch_pbd_interaction::World::objects [private] |
std::string fetch_pbd_interaction::World::segmented_objects_topic [private] |
float fetch_pbd_interaction::World::surface_height [private] |
float fetch_pbd_interaction::World::text_height [private] |
float fetch_pbd_interaction::World::text_offset [private] |