$search
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 object_manipulation_msgs::GraspPlanningResultConstPtr &result) |
Saves the grasps provided as result by planning action. | |
void | graspPlanningFeedbackCallback (const object_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. | |
GraspExecutorWithApproach * | grasp_executor_with_approach_ |
Instance of the grasp executor with approach. | |
MultiArmActionWrapper < object_manipulation_msgs::GraspPlanningAction > | grasp_planning_actions_ |
Wrapper for multiple grasp planning services with different names. | |
GraspTester * | grasp_tester_with_approach_ |
GraspMarkerPublisher * | marker_pub_ |
Publisher for grasp markers, or NULL if publishing is disabled. | |
PlaceExecutor * | place_executor_ |
Instance of the executor used for placing objects. | |
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. | |
ReactiveGraspExecutor * | reactive_grasp_executor_ |
Instance of the reactive grasp executor. | |
GraspPerformer * | reactive_grasp_performer_ |
ReactivePlaceExecutor * | reactive_place_executor_ |
Instance of the executor used for reactive placing of objects. | |
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_ |
UnsafeGraspExecutor * | unsafe_grasp_executor_ |
Instance of the executor used for grasping without considering collisions. | |
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 125 of file object_manipulator.h.
object_manipulator::ObjectManipulator::ObjectManipulator | ( | ) |
Initializes ros clients as needed.
Definition at line 78 of file object_manipulator.cpp.
object_manipulator::ObjectManipulator::~ObjectManipulator | ( | ) |
Definition at line 133 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 156 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::graspPlanningDoneCallback | ( | const actionlib::SimpleClientGoalState & | state, | |
const object_manipulation_msgs::GraspPlanningResultConstPtr & | result | |||
) |
Saves the grasps provided as result by planning action.
Definition at line 173 of file object_manipulator.cpp.
void object_manipulator::ObjectManipulator::graspPlanningFeedbackCallback | ( | const object_manipulation_msgs::GraspPlanningFeedbackConstPtr & | feedback | ) |
Saves the grasps provided as feedback by planning action.
Definition at line 166 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.
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 415 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 405 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 173 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 170 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 176 of file object_manipulator.h.
A thread safe place to hold grasps returned by the planning action as feedback.
Definition at line 180 of file object_manipulator.h.
GraspExecutorWithApproach* object_manipulator::ObjectManipulator::grasp_executor_with_approach_ [private] |
Instance of the grasp executor with approach.
Definition at line 155 of file object_manipulator.h.
MultiArmActionWrapper<object_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 137 of file object_manipulator.h.
Definition at line 145 of file object_manipulator.h.
Publisher for grasp markers, or NULL if publishing is disabled.
Definition at line 140 of file object_manipulator.h.
Instance of the executor used for placing objects.
Definition at line 164 of file object_manipulator.h.
The private ROS node handle.
Definition at line 129 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 143 of file object_manipulator.h.
Instance of the reactive grasp executor.
Definition at line 158 of file object_manipulator.h.
Definition at line 148 of file object_manipulator.h.
Instance of the executor used for reactive placing of objects.
Definition at line 167 of file object_manipulator.h.
Definition at line 152 of file object_manipulator.h.
The root ROS node handle.
Definition at line 132 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.
Instance of the executor used for grasping without considering collisions.
Definition at line 161 of file object_manipulator.h.
Definition at line 149 of file object_manipulator.h.
Definition at line 146 of file object_manipulator.h.
Definition at line 177 of file object_manipulator.h.