Oversees the grasping app; bundles together functionality in higher level calls. More...
#include <object_manipulator.h>
Public Member Functions | |
void | graspFeedback (actionlib::SimpleActionServer< object_manipulation_msgs::PickupAction > *action_server, size_t tested_grasps, size_t current_grasp) |
Provides feedback on the currently tested list of grasps. | |
void | graspPlanningDoneCallback (const actionlib::SimpleClientGoalState &state, const manipulation_msgs::GraspPlanningResultConstPtr &result) |
Saves the grasps provided as result by planning action. | |
void | graspPlanningFeedbackCallback (const manipulation_msgs::GraspPlanningFeedbackConstPtr &feedback) |
Saves the grasps provided as feedback by planning action. | |
ObjectManipulator () | |
Initializes ros clients as needed. | |
void | pickup (const object_manipulation_msgs::PickupGoal::ConstPtr &pickup_goal, actionlib::SimpleActionServer< object_manipulation_msgs::PickupAction > *action_server) |
Attempts to grasp the specified object. | |
void | place (const object_manipulation_msgs::PlaceGoal::ConstPtr &place_goal, actionlib::SimpleActionServer< object_manipulation_msgs::PlaceAction > *action_server) |
Attempts to place the specified object. | |
void | placeFeedback (actionlib::SimpleActionServer< object_manipulation_msgs::PlaceAction > *action_server, size_t tested_places, size_t total_places, size_t current_place) |
Provides feedback on the currently tested list of places. | |
~ObjectManipulator () | |
Private Attributes | |
std::string | default_cluster_planner_ |
The name of the service to be used by default for grasp planning on point cloud objects. | |
std::string | default_database_planner_ |
The name of the service to be used by default for grasp planning on database objects. | |
std::string | default_probabilistic_planner_ |
The name of the service to be used by default for probabilistic grasp planning. | |
GraspContainer | grasp_container_ |
A thread safe place to hold grasps returned by the planning action as feedback. | |
MultiArmActionWrapper < manipulation_msgs::GraspPlanningAction > | grasp_planning_actions_ |
Wrapper for multiple grasp planning services with different names. | |
GraspTesterFast * | grasp_tester_fast_ |
GraspTester * | grasp_tester_with_approach_ |
std::string | kinematics_plugin_name_ |
Name of the kinematics plugin used for fast grasp/place testing. | |
GraspMarkerPublisher * | marker_pub_ |
Publisher for grasp markers, or NULL if publishing is disabled. | |
ros::NodeHandle | priv_nh_ |
The private ROS node handle. | |
bool | randomize_grasps_ |
Whether the order in which grasps are tried should be randomized first. Debug purposes. | |
GraspPerformer * | reactive_grasp_performer_ |
PlacePerformer * | reactive_place_performer_ |
ros::NodeHandle | root_nh_ |
The root ROS node handle. | |
GraspPerformer * | standard_grasp_performer_ |
PlacePerformer * | standard_place_performer_ |
PlaceTester * | standard_place_tester_ |
GraspPerformer * | unsafe_grasp_performer_ |
GraspTester * | unsafe_grasp_tester_ |
bool | use_probabilistic_planner_ |
Oversees the grasping app; bundles together functionality in higher level calls.
Also wraps the functionality in action replies, with the actual server passed in from the caller so we keep ROS instantiations somewhat separated.
Definition at line 121 of file object_manipulator.h.
Initializes ros clients as needed.
Definition at line 73 of file object_manipulator.cpp.
Definition at line 123 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::graspFeedback | ( | actionlib::SimpleActionServer< object_manipulation_msgs::PickupAction > * | action_server, |
size_t | tested_grasps, | ||
size_t | current_grasp | ||
) |
Provides feedback on the currently tested list of grasps.
Definition at line 139 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::graspPlanningDoneCallback | ( | const actionlib::SimpleClientGoalState & | state, |
const manipulation_msgs::GraspPlanningResultConstPtr & | result | ||
) |
Saves the grasps provided as result by planning action.
Definition at line 156 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::graspPlanningFeedbackCallback | ( | const manipulation_msgs::GraspPlanningFeedbackConstPtr & | feedback | ) |
Saves the grasps provided as feedback by planning action.
Definition at line 149 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::pickup | ( | const object_manipulation_msgs::PickupGoal::ConstPtr & | pickup_goal, |
actionlib::SimpleActionServer< object_manipulation_msgs::PickupAction > * | action_server | ||
) |
Attempts to grasp the specified object.
Definition at line 170 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::place | ( | const object_manipulation_msgs::PlaceGoal::ConstPtr & | place_goal, |
actionlib::SimpleActionServer< object_manipulation_msgs::PlaceAction > * | action_server | ||
) |
Attempts to place the specified object.
Definition at line 412 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::placeFeedback | ( | actionlib::SimpleActionServer< object_manipulation_msgs::PlaceAction > * | action_server, |
size_t | tested_places, | ||
size_t | total_places, | ||
size_t | current_place | ||
) |
Provides feedback on the currently tested list of places.
Definition at line 402 of file object_manipulator.cpp.
std::string object_manipulator::ObjectManipulator::default_cluster_planner_ [private] |
The name of the service to be used by default for grasp planning on point cloud objects.
Definition at line 158 of file object_manipulator.h.
std::string object_manipulator::ObjectManipulator::default_database_planner_ [private] |
The name of the service to be used by default for grasp planning on database objects.
Definition at line 155 of file object_manipulator.h.
std::string object_manipulator::ObjectManipulator::default_probabilistic_planner_ [private] |
The name of the service to be used by default for probabilistic grasp planning.
Definition at line 161 of file object_manipulator.h.
A thread safe place to hold grasps returned by the planning action as feedback.
Definition at line 165 of file object_manipulator.h.
MultiArmActionWrapper<manipulation_msgs::GraspPlanningAction> object_manipulator::ObjectManipulator::grasp_planning_actions_ [private] |
Wrapper for multiple grasp planning services with different names.
Not really a wrapper for multiple arms, but a wrapper for multiple services with different names but fulfilling the same task.
Definition at line 133 of file object_manipulator.h.
Definition at line 146 of file object_manipulator.h.
Definition at line 144 of file object_manipulator.h.
std::string object_manipulator::ObjectManipulator::kinematics_plugin_name_ [private] |
Name of the kinematics plugin used for fast grasp/place testing.
Definition at line 142 of file object_manipulator.h.
Publisher for grasp markers, or NULL if publishing is disabled.
Definition at line 136 of file object_manipulator.h.
The private ROS node handle.
Definition at line 125 of file object_manipulator.h.
bool object_manipulator::ObjectManipulator::randomize_grasps_ [private] |
Whether the order in which grasps are tried should be randomized first. Debug purposes.
Definition at line 139 of file object_manipulator.h.
Definition at line 148 of file object_manipulator.h.
Definition at line 152 of file object_manipulator.h.
The root ROS node handle.
Definition at line 128 of file object_manipulator.h.
Definition at line 147 of file object_manipulator.h.
Definition at line 151 of file object_manipulator.h.
Definition at line 150 of file object_manipulator.h.
Definition at line 149 of file object_manipulator.h.
Definition at line 145 of file object_manipulator.h.
Definition at line 162 of file object_manipulator.h.