Public Member Functions | Private Member Functions | Private Attributes
InteractiveObjDetBackend Class Reference

Does all the work for the Interactive Object Recognition GUI. More...

#include <pr2_interactive_object_detection_backend.h>

List of all members.

Public Member Functions

 InteractiveObjDetBackend ()
 ~InteractiveObjDetBackend ()

Private Member Functions

void abortAction (std::string error)
bool addTableToCollisionMap (tabletop_object_detector::Table table)
 add the segmented table to the collision map
void clearOldMarkers (std::string frame_id)
template<class ServiceType >
bool connectService (ros::ServiceClient &service_client, std::string topic)
 repeatedly try to connect to the given service
bool doAutoDetection ()
 call the TabletopObjectDetection service
bool doAutoRecognition ()
 call automatic recognition service
bool doAutoSegmentation ()
 call the automatic tabletop segmentation
bool doDetection (bool interactive)
 do all steps for object recognition without segmentation by calling an external service
bool doInteractiveRecognition ()
 call a popup window, letting the user decide on the recognition results
bool doInteractiveSegmentation ()
 call a popup window to let the user do the segmentation
bool doRecognition (bool interactive)
 do all steps for object recognition, based on segmentation
bool doSegmentation (bool interactive)
 do all steps for segmentation
void finishAction (std::string result)
bool getModelInfo (const household_objects_database_msgs::DatabaseModelPose &model_pose, std::string &name, std::string &all_tags)
 retrieve info from model database
bool getModelMesh (int model_id, arm_navigation_msgs::Shape &mesh)
 retrieve mesh from model database
bool getPose (geometry_msgs::Pose &pose, std::string from_frame, std::string to_frame)
 get pose of from_frame relative to to_frame
bool getSensorData (ros::Duration time_out)
 assemble all the basic sensor data needed for the detection process
void preemptAction ()
int printObjects (const std::vector< object_manipulation_msgs::GraspableObject > &objects)
 model info console output
void processUserCommand (const pr2_interactive_object_detection::UserCommandGoal::ConstPtr &goal)
 react to a request by the user
void publishFitMarkers (const std::vector< household_objects_database_msgs::DatabaseModelPoseList > &potential_models, const tabletop_object_detector::Table &table)
bool publishResult (int &num_recognized)
 publish a list of graspable objects
void resetMarkers ()
 delete fit markers and publish an empty result (kills interactive markers)
void statusFeedback (std::string status)
bool transformPose (geometry_msgs::PoseStamped &pose, std::string target_frame)
 modify the given given pose in-place to be relative to target_frame

Private Attributes

ros::ServiceClient auto_obj_rec_client_
ros::ServiceClient auto_seg_client_
sensor_msgs::CameraInfo camera_info_
tabletop_collision_map_processing::CollisionMapInterface collision_map_interface_
int current_marker_id_
 The current marker being published.
std::vector
< visualization_msgs::Marker > 
delete_markers_
stereo_msgs::DisparityImage disparity_image_
ros::ServiceClient get_model_description_client_
ros::ServiceClient get_model_mesh_client_
sensor_msgs::Image image_
ros::Publisher marker_pub_
 Publisher for markers.
double min_marker_quality_
actionlib::SimpleActionClient
< object_recognition_gui::ObjectRecognitionGuiAction > * 
obj_rec_popup_client_
sensor_msgs::PointCloud2 point_cloud_
ros::NodeHandle priv_nh_
tabletop_object_detector::TabletopObjectRecognitionResponse recognition_result_
ros::Publisher result_publisher_
ros::ServiceClient rgbd_assembler_client_
rgbd_assembler::RgbdAssembly rgbd_assembler_srv_
std::string robot_reference_frame_id_
ros::NodeHandle root_nh_
tabletop_object_detector::TabletopSegmentationResponse segmentation_result_
bool segmentation_was_interactive_
double table_x_
double table_y_
double table_z_
ros::ServiceClient tabletop_detection_client_
tf::TransformListener tf_listener_
actionlib::SimpleActionServer
< pr2_interactive_object_detection::UserCommandAction > * 
user_command_server_

Detailed Description

Does all the work for the Interactive Object Recognition GUI.

Definition at line 58 of file pr2_interactive_object_detection_backend.h.


Constructor & Destructor Documentation

Definition at line 55 of file pr2_interactive_object_detection_backend.cpp.

Definition at line 97 of file pr2_interactive_object_detection_backend.cpp.


Member Function Documentation

void InteractiveObjDetBackend::abortAction ( std::string  error) [private]

add the segmented table to the collision map

Definition at line 1022 of file pr2_interactive_object_detection_backend.cpp.

void InteractiveObjDetBackend::clearOldMarkers ( std::string  frame_id) [private]
template<class ServiceType >
bool InteractiveObjDetBackend::connectService ( ros::ServiceClient service_client,
std::string  topic 
) [private]

repeatedly try to connect to the given service

Definition at line 105 of file pr2_interactive_object_detection_backend.cpp.

call the TabletopObjectDetection service

Definition at line 524 of file pr2_interactive_object_detection_backend.cpp.

call automatic recognition service

Definition at line 449 of file pr2_interactive_object_detection_backend.cpp.

call the automatic tabletop segmentation

Definition at line 268 of file pr2_interactive_object_detection_backend.cpp.

bool InteractiveObjDetBackend::doDetection ( bool  interactive) [private]

do all steps for object recognition without segmentation by calling an external service

Definition at line 579 of file pr2_interactive_object_detection_backend.cpp.

call a popup window, letting the user decide on the recognition results

Definition at line 323 of file pr2_interactive_object_detection_backend.cpp.

call a popup window to let the user do the segmentation

Definition at line 211 of file pr2_interactive_object_detection_backend.cpp.

do all steps for object recognition, based on segmentation

Definition at line 485 of file pr2_interactive_object_detection_backend.cpp.

do all steps for segmentation

Definition at line 292 of file pr2_interactive_object_detection_backend.cpp.

void InteractiveObjDetBackend::finishAction ( std::string  result) [private]
bool InteractiveObjDetBackend::getModelInfo ( const household_objects_database_msgs::DatabaseModelPose model_pose,
std::string &  name,
std::string &  all_tags 
) [private]

retrieve info from model database

Definition at line 968 of file pr2_interactive_object_detection_backend.cpp.

retrieve mesh from model database

Definition at line 946 of file pr2_interactive_object_detection_backend.cpp.

bool InteractiveObjDetBackend::getPose ( geometry_msgs::Pose pose,
std::string  from_frame,
std::string  to_frame 
) [private]

get pose of from_frame relative to to_frame

Definition at line 869 of file pr2_interactive_object_detection_backend.cpp.

assemble all the basic sensor data needed for the detection process

Definition at line 186 of file pr2_interactive_object_detection_backend.cpp.

model info console output

Definition at line 994 of file pr2_interactive_object_detection_backend.cpp.

react to a request by the user

Definition at line 124 of file pr2_interactive_object_detection_backend.cpp.

bool InteractiveObjDetBackend::publishResult ( int &  num_recognized) [private]

publish a list of graspable objects

Definition at line 613 of file pr2_interactive_object_detection_backend.cpp.

delete fit markers and publish an empty result (kills interactive markers)

Definition at line 793 of file pr2_interactive_object_detection_backend.cpp.

void InteractiveObjDetBackend::statusFeedback ( std::string  status) [private]
bool InteractiveObjDetBackend::transformPose ( geometry_msgs::PoseStamped &  pose,
std::string  target_frame 
) [private]

modify the given given pose in-place to be relative to target_frame

Definition at line 900 of file pr2_interactive_object_detection_backend.cpp.


Member Data Documentation

Definition at line 147 of file pr2_interactive_object_detection_backend.h.

Definition at line 145 of file pr2_interactive_object_detection_backend.h.

sensor_msgs::CameraInfo InteractiveObjDetBackend::camera_info_ [private]

Definition at line 163 of file pr2_interactive_object_detection_backend.h.

Definition at line 178 of file pr2_interactive_object_detection_backend.h.

The current marker being published.

Definition at line 181 of file pr2_interactive_object_detection_backend.h.

std::vector< visualization_msgs::Marker > InteractiveObjDetBackend::delete_markers_ [private]

Definition at line 183 of file pr2_interactive_object_detection_backend.h.

stereo_msgs::DisparityImage InteractiveObjDetBackend::disparity_image_ [private]

Definition at line 162 of file pr2_interactive_object_detection_backend.h.

Definition at line 142 of file pr2_interactive_object_detection_backend.h.

Definition at line 143 of file pr2_interactive_object_detection_backend.h.

sensor_msgs::Image InteractiveObjDetBackend::image_ [private]

Definition at line 161 of file pr2_interactive_object_detection_backend.h.

Publisher for markers.

Definition at line 152 of file pr2_interactive_object_detection_backend.h.

Definition at line 189 of file pr2_interactive_object_detection_backend.h.

Definition at line 155 of file pr2_interactive_object_detection_backend.h.

sensor_msgs::PointCloud2 InteractiveObjDetBackend::point_cloud_ [private]

Definition at line 164 of file pr2_interactive_object_detection_backend.h.

Definition at line 138 of file pr2_interactive_object_detection_backend.h.

Definition at line 170 of file pr2_interactive_object_detection_backend.h.

Definition at line 175 of file pr2_interactive_object_detection_backend.h.

Definition at line 140 of file pr2_interactive_object_detection_backend.h.

Definition at line 166 of file pr2_interactive_object_detection_backend.h.

Definition at line 191 of file pr2_interactive_object_detection_backend.h.

Definition at line 137 of file pr2_interactive_object_detection_backend.h.

Definition at line 169 of file pr2_interactive_object_detection_backend.h.

Definition at line 186 of file pr2_interactive_object_detection_backend.h.

Definition at line 193 of file pr2_interactive_object_detection_backend.h.

Definition at line 194 of file pr2_interactive_object_detection_backend.h.

Definition at line 195 of file pr2_interactive_object_detection_backend.h.

Definition at line 149 of file pr2_interactive_object_detection_backend.h.

Definition at line 172 of file pr2_interactive_object_detection_backend.h.

Definition at line 158 of file pr2_interactive_object_detection_backend.h.


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


pr2_interactive_object_detection
Author(s): David Gossow
autogenerated on Fri Jan 3 2014 12:04:26