00001
00002 #ifndef OBJECT_MANIPULATION_MSGS_MESSAGE_PLACEACTION_H
00003 #define OBJECT_MANIPULATION_MSGS_MESSAGE_PLACEACTION_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "object_manipulation_msgs/PlaceActionGoal.h"
00014 #include "object_manipulation_msgs/PlaceActionResult.h"
00015 #include "object_manipulation_msgs/PlaceActionFeedback.h"
00016
00017 namespace object_manipulation_msgs
00018 {
00019 template <class ContainerAllocator>
00020 struct PlaceAction_ : public ros::Message
00021 {
00022 typedef PlaceAction_<ContainerAllocator> Type;
00023
00024 PlaceAction_()
00025 : action_goal()
00026 , action_result()
00027 , action_feedback()
00028 {
00029 }
00030
00031 PlaceAction_(const ContainerAllocator& _alloc)
00032 : action_goal(_alloc)
00033 , action_result(_alloc)
00034 , action_feedback(_alloc)
00035 {
00036 }
00037
00038 typedef ::object_manipulation_msgs::PlaceActionGoal_<ContainerAllocator> _action_goal_type;
00039 ::object_manipulation_msgs::PlaceActionGoal_<ContainerAllocator> action_goal;
00040
00041 typedef ::object_manipulation_msgs::PlaceActionResult_<ContainerAllocator> _action_result_type;
00042 ::object_manipulation_msgs::PlaceActionResult_<ContainerAllocator> action_result;
00043
00044 typedef ::object_manipulation_msgs::PlaceActionFeedback_<ContainerAllocator> _action_feedback_type;
00045 ::object_manipulation_msgs::PlaceActionFeedback_<ContainerAllocator> action_feedback;
00046
00047
00048 private:
00049 static const char* __s_getDataType_() { return "object_manipulation_msgs/PlaceAction"; }
00050 public:
00051 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00052
00053 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00054
00055 private:
00056 static const char* __s_getMD5Sum_() { return "d5c16c2b58aadc6ea5259b4706a7c7bd"; }
00057 public:
00058 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00059
00060 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00061
00062 private:
00063 static const char* __s_getMessageDefinition_() { return "\n\
00064 PlaceActionGoal action_goal\n\
00065 PlaceActionResult action_result\n\
00066 PlaceActionFeedback action_feedback\n\
00067 \n\
00068 ================================================================================\n\
00069 MSG: object_manipulation_msgs/PlaceActionGoal\n\
00070 \n\
00071 Header header\n\
00072 actionlib_msgs/GoalID goal_id\n\
00073 PlaceGoal goal\n\
00074 \n\
00075 ================================================================================\n\
00076 MSG: std_msgs/Header\n\
00077 # Standard metadata for higher-level stamped data types.\n\
00078 # This is generally used to communicate timestamped data \n\
00079 # in a particular coordinate frame.\n\
00080 # \n\
00081 # sequence ID: consecutively increasing ID \n\
00082 uint32 seq\n\
00083 #Two-integer timestamp that is expressed as:\n\
00084 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00085 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00086 # time-handling sugar is provided by the client library\n\
00087 time stamp\n\
00088 #Frame this data is associated with\n\
00089 # 0: no frame\n\
00090 # 1: global frame\n\
00091 string frame_id\n\
00092 \n\
00093 ================================================================================\n\
00094 MSG: actionlib_msgs/GoalID\n\
00095 # The stamp should store the time at which this goal was requested.\n\
00096 # It is used by an action server when it tries to preempt all\n\
00097 # goals that were requested before a certain time\n\
00098 time stamp\n\
00099 \n\
00100 # The id provides a way to associate feedback and\n\
00101 # result message with specific goal requests. The id\n\
00102 # specified must be unique.\n\
00103 string id\n\
00104 \n\
00105 \n\
00106 ================================================================================\n\
00107 MSG: object_manipulation_msgs/PlaceGoal\n\
00108 \n\
00109 # An action for placing an object\n\
00110 \n\
00111 # which arm to be used for grasping\n\
00112 string arm_name\n\
00113 \n\
00114 # a list of possible desired poses of the object once it's been placed\n\
00115 geometry_msgs/PoseStamped[] place_locations\n\
00116 \n\
00117 # the grasp that has been executed on this object\n\
00118 Grasp grasp\n\
00119 \n\
00120 # how far the retreat should ideally be away from the place location\n\
00121 float32 desired_retreat_distance\n\
00122 \n\
00123 # the min distance between the retreat and the place location that must actually be feasible \n\
00124 # for the place not to be rejected\n\
00125 float32 min_retreat_distance\n\
00126 \n\
00127 # how the place location should be approached\n\
00128 # the frame_id that this lift is specified in MUST be either the robot_frame \n\
00129 # or the gripper_frame specified in your hand description file\n\
00130 GripperTranslation approach\n\
00131 \n\
00132 # the name that the target object has in the collision map\n\
00133 # can be left empty if no name is available\n\
00134 string collision_object_name\n\
00135 \n\
00136 # the name that the support surface (e.g. table) has in the collision map\n\
00137 # can be left empty if no name is available\n\
00138 string collision_support_surface_name\n\
00139 \n\
00140 # whether collisions between the gripper and the support surface should be acceptable\n\
00141 # during move from pre-place to place and during retreat. Collisions when moving to the\n\
00142 # pre-place location are still not allowed even if this is set to true.\n\
00143 bool allow_gripper_support_collision\n\
00144 \n\
00145 # whether reactive placing based on tactile sensors should be used\n\
00146 bool use_reactive_place\n\
00147 \n\
00148 # how much the object should be padded by when deciding if the grasp\n\
00149 # location is freasible or not\n\
00150 float64 place_padding\n\
00151 \n\
00152 # OPTIONAL (These will not have to be filled out most of the time)\n\
00153 # constraints to be imposed on every point in the motion of the arm\n\
00154 motion_planning_msgs/Constraints path_constraints\n\
00155 \n\
00156 # OPTIONAL (These will not have to be filled out most of the time)\n\
00157 # additional collision operations to be used for every arm movement performed\n\
00158 # during placing. Note that these will be added on top of (and thus overide) other \n\
00159 # collision operations that the grasping pipeline deems necessary. Should be used\n\
00160 # with care and only if special behaviors are desired.\n\
00161 motion_planning_msgs/OrderedCollisionOperations additional_collision_operations\n\
00162 \n\
00163 # OPTIONAL (These will not have to be filled out most of the time)\n\
00164 # additional link paddings to be used for every arm movement performed\n\
00165 # during placing. Note that these will be added on top of (and thus overide) other \n\
00166 # link paddings that the grasping pipeline deems necessary. Should be used\n\
00167 # with care and only if special behaviors are desired.\n\
00168 motion_planning_msgs/LinkPadding[] additional_link_padding\n\
00169 \n\
00170 ================================================================================\n\
00171 MSG: geometry_msgs/PoseStamped\n\
00172 # A Pose with reference coordinate frame and timestamp\n\
00173 Header header\n\
00174 Pose pose\n\
00175 \n\
00176 ================================================================================\n\
00177 MSG: geometry_msgs/Pose\n\
00178 # A representation of pose in free space, composed of postion and orientation. \n\
00179 Point position\n\
00180 Quaternion orientation\n\
00181 \n\
00182 ================================================================================\n\
00183 MSG: geometry_msgs/Point\n\
00184 # This contains the position of a point in free space\n\
00185 float64 x\n\
00186 float64 y\n\
00187 float64 z\n\
00188 \n\
00189 ================================================================================\n\
00190 MSG: geometry_msgs/Quaternion\n\
00191 # This represents an orientation in free space in quaternion form.\n\
00192 \n\
00193 float64 x\n\
00194 float64 y\n\
00195 float64 z\n\
00196 float64 w\n\
00197 \n\
00198 ================================================================================\n\
00199 MSG: object_manipulation_msgs/Grasp\n\
00200 \n\
00201 # The internal posture of the hand for the pre-grasp\n\
00202 # only positions are used\n\
00203 sensor_msgs/JointState pre_grasp_posture\n\
00204 \n\
00205 # The internal posture of the hand for the grasp\n\
00206 # positions and efforts are used\n\
00207 sensor_msgs/JointState grasp_posture\n\
00208 \n\
00209 # The position of the end-effector for the grasp relative to the object\n\
00210 geometry_msgs/Pose grasp_pose\n\
00211 \n\
00212 # The estimated probability of success for this grasp\n\
00213 float64 success_probability\n\
00214 \n\
00215 # Debug flag to indicate that this grasp would be the best in its cluster\n\
00216 bool cluster_rep\n\
00217 ================================================================================\n\
00218 MSG: sensor_msgs/JointState\n\
00219 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00220 #\n\
00221 # The state of each joint (revolute or prismatic) is defined by:\n\
00222 # * the position of the joint (rad or m),\n\
00223 # * the velocity of the joint (rad/s or m/s) and \n\
00224 # * the effort that is applied in the joint (Nm or N).\n\
00225 #\n\
00226 # Each joint is uniquely identified by its name\n\
00227 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00228 # in one message have to be recorded at the same time.\n\
00229 #\n\
00230 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00231 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00232 # effort associated with them, you can leave the effort array empty. \n\
00233 #\n\
00234 # All arrays in this message should have the same size, or be empty.\n\
00235 # This is the only way to uniquely associate the joint name with the correct\n\
00236 # states.\n\
00237 \n\
00238 \n\
00239 Header header\n\
00240 \n\
00241 string[] name\n\
00242 float64[] position\n\
00243 float64[] velocity\n\
00244 float64[] effort\n\
00245 \n\
00246 ================================================================================\n\
00247 MSG: object_manipulation_msgs/GripperTranslation\n\
00248 # defines a translation for the gripper, used in pickup or place tasks\n\
00249 # for example for lifting an object off a table or approaching the table for placing\n\
00250 \n\
00251 # the direction of the translation\n\
00252 geometry_msgs/Vector3Stamped direction\n\
00253 \n\
00254 # the desired translation distance\n\
00255 float32 desired_distance\n\
00256 \n\
00257 # the min distance that must be considered feasible before the\n\
00258 # grasp is even attempted\n\
00259 float32 min_distance\n\
00260 ================================================================================\n\
00261 MSG: geometry_msgs/Vector3Stamped\n\
00262 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00263 Header header\n\
00264 Vector3 vector\n\
00265 \n\
00266 ================================================================================\n\
00267 MSG: geometry_msgs/Vector3\n\
00268 # This represents a vector in free space. \n\
00269 \n\
00270 float64 x\n\
00271 float64 y\n\
00272 float64 z\n\
00273 ================================================================================\n\
00274 MSG: motion_planning_msgs/Constraints\n\
00275 # This message contains a list of motion planning constraints.\n\
00276 \n\
00277 motion_planning_msgs/JointConstraint[] joint_constraints\n\
00278 motion_planning_msgs/PositionConstraint[] position_constraints\n\
00279 motion_planning_msgs/OrientationConstraint[] orientation_constraints\n\
00280 motion_planning_msgs/VisibilityConstraint[] visibility_constraints\n\
00281 \n\
00282 ================================================================================\n\
00283 MSG: motion_planning_msgs/JointConstraint\n\
00284 # Constrain the position of a joint to be within a certain bound\n\
00285 string joint_name\n\
00286 \n\
00287 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\
00288 float64 position\n\
00289 float64 tolerance_above\n\
00290 float64 tolerance_below\n\
00291 \n\
00292 # A weighting factor for this constraint\n\
00293 float64 weight\n\
00294 ================================================================================\n\
00295 MSG: motion_planning_msgs/PositionConstraint\n\
00296 # This message contains the definition of a position constraint.\n\
00297 Header header\n\
00298 \n\
00299 # The robot link this constraint refers to\n\
00300 string link_name\n\
00301 \n\
00302 # The offset (in the link frame) for the target point on the link we are planning for\n\
00303 geometry_msgs/Point target_point_offset\n\
00304 \n\
00305 # The nominal/target position for the point we are planning for\n\
00306 geometry_msgs/Point position\n\
00307 \n\
00308 # The shape of the bounded region that constrains the position of the end-effector\n\
00309 # This region is always centered at the position defined above\n\
00310 geometric_shapes_msgs/Shape constraint_region_shape\n\
00311 \n\
00312 # The orientation of the bounded region that constrains the position of the end-effector. \n\
00313 # This allows the specification of non-axis aligned constraints\n\
00314 geometry_msgs/Quaternion constraint_region_orientation\n\
00315 \n\
00316 # Constraint weighting factor - a weight for this constraint\n\
00317 float64 weight\n\
00318 ================================================================================\n\
00319 MSG: geometric_shapes_msgs/Shape\n\
00320 byte SPHERE=0\n\
00321 byte BOX=1\n\
00322 byte CYLINDER=2\n\
00323 byte MESH=3\n\
00324 \n\
00325 byte type\n\
00326 \n\
00327 \n\
00328 #### define sphere, box, cylinder ####\n\
00329 # the origin of each shape is considered at the shape's center\n\
00330 \n\
00331 # for sphere\n\
00332 # radius := dimensions[0]\n\
00333 \n\
00334 # for cylinder\n\
00335 # radius := dimensions[0]\n\
00336 # length := dimensions[1]\n\
00337 # the length is along the Z axis\n\
00338 \n\
00339 # for box\n\
00340 # size_x := dimensions[0]\n\
00341 # size_y := dimensions[1]\n\
00342 # size_z := dimensions[2]\n\
00343 float64[] dimensions\n\
00344 \n\
00345 \n\
00346 #### define mesh ####\n\
00347 \n\
00348 # list of triangles; triangle k is defined by tre vertices located\n\
00349 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00350 int32[] triangles\n\
00351 geometry_msgs/Point[] vertices\n\
00352 \n\
00353 ================================================================================\n\
00354 MSG: motion_planning_msgs/OrientationConstraint\n\
00355 # This message contains the definition of an orientation constraint.\n\
00356 Header header\n\
00357 \n\
00358 # The robot link this constraint refers to\n\
00359 string link_name\n\
00360 \n\
00361 # The type of the constraint\n\
00362 int32 type\n\
00363 int32 LINK_FRAME=0\n\
00364 int32 HEADER_FRAME=1\n\
00365 \n\
00366 # The desired orientation of the robot link specified as a quaternion\n\
00367 geometry_msgs/Quaternion orientation\n\
00368 \n\
00369 # optional RPY error tolerances specified if \n\
00370 float64 absolute_roll_tolerance\n\
00371 float64 absolute_pitch_tolerance\n\
00372 float64 absolute_yaw_tolerance\n\
00373 \n\
00374 # Constraint weighting factor - a weight for this constraint\n\
00375 float64 weight\n\
00376 \n\
00377 ================================================================================\n\
00378 MSG: motion_planning_msgs/VisibilityConstraint\n\
00379 # This message contains the definition of a visibility constraint.\n\
00380 Header header\n\
00381 \n\
00382 # The point stamped target that needs to be kept within view of the sensor\n\
00383 geometry_msgs/PointStamped target\n\
00384 \n\
00385 # The local pose of the frame in which visibility is to be maintained\n\
00386 # The frame id should represent the robot link to which the sensor is attached\n\
00387 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\
00388 geometry_msgs/PoseStamped sensor_pose\n\
00389 \n\
00390 # The deviation (in radians) that will be tolerated\n\
00391 # Constraint error will be measured as the solid angle between the \n\
00392 # X axis of the frame defined above and the vector between the origin \n\
00393 # of the frame defined above and the target location\n\
00394 float64 absolute_tolerance\n\
00395 \n\
00396 \n\
00397 ================================================================================\n\
00398 MSG: geometry_msgs/PointStamped\n\
00399 # This represents a Point with reference coordinate frame and timestamp\n\
00400 Header header\n\
00401 Point point\n\
00402 \n\
00403 ================================================================================\n\
00404 MSG: motion_planning_msgs/OrderedCollisionOperations\n\
00405 # A set of collision operations that will be performed in the order they are specified\n\
00406 CollisionOperation[] collision_operations\n\
00407 ================================================================================\n\
00408 MSG: motion_planning_msgs/CollisionOperation\n\
00409 # A definition of a collision operation\n\
00410 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\
00411 # between the gripper and all objects in the collision space\n\
00412 \n\
00413 string object1\n\
00414 string object2\n\
00415 string COLLISION_SET_ALL=\"all\"\n\
00416 string COLLISION_SET_OBJECTS=\"objects\"\n\
00417 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\
00418 \n\
00419 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\
00420 float64 penetration_distance\n\
00421 \n\
00422 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\
00423 int32 operation\n\
00424 int32 DISABLE=0\n\
00425 int32 ENABLE=1\n\
00426 \n\
00427 ================================================================================\n\
00428 MSG: motion_planning_msgs/LinkPadding\n\
00429 #name for the link\n\
00430 string link_name\n\
00431 \n\
00432 # padding to apply to the link\n\
00433 float64 padding\n\
00434 \n\
00435 ================================================================================\n\
00436 MSG: object_manipulation_msgs/PlaceActionResult\n\
00437 \n\
00438 Header header\n\
00439 actionlib_msgs/GoalStatus status\n\
00440 PlaceResult result\n\
00441 \n\
00442 ================================================================================\n\
00443 MSG: actionlib_msgs/GoalStatus\n\
00444 GoalID goal_id\n\
00445 uint8 status\n\
00446 uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\
00447 uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\
00448 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\
00449 # and has since completed its execution (Terminal State)\n\
00450 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\
00451 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\
00452 # to some failure (Terminal State)\n\
00453 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\
00454 # because the goal was unattainable or invalid (Terminal State)\n\
00455 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\
00456 # and has not yet completed execution\n\
00457 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\
00458 # but the action server has not yet confirmed that the goal is canceled\n\
00459 uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\
00460 # and was successfully cancelled (Terminal State)\n\
00461 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\
00462 # sent over the wire by an action server\n\
00463 \n\
00464 #Allow for the user to associate a string with GoalStatus for debugging\n\
00465 string text\n\
00466 \n\
00467 \n\
00468 ================================================================================\n\
00469 MSG: object_manipulation_msgs/PlaceResult\n\
00470 # The result of the pickup attempt\n\
00471 ManipulationResult manipulation_result\n\
00472 \n\
00473 # The successful place location, if any\n\
00474 geometry_msgs/PoseStamped place_location\n\
00475 \n\
00476 # the list of attempted locations, in the order in which they were attempted\n\
00477 # the successful one should be the last one in this list\n\
00478 geometry_msgs/PoseStamped[] attempted_locations\n\
00479 \n\
00480 # the outcomes of the attempted locations, in the same order as attempted_locations\n\
00481 PlaceLocationResult[] attempted_location_results\n\
00482 ================================================================================\n\
00483 MSG: object_manipulation_msgs/ManipulationResult\n\
00484 # Result codes for manipulation tasks\n\
00485 \n\
00486 # task completed as expected\n\
00487 # generally means you can proceed as planned\n\
00488 int32 SUCCESS = 1\n\
00489 \n\
00490 # task not possible (e.g. out of reach or obstacles in the way)\n\
00491 # generally means that the world was not disturbed, so you can try another task\n\
00492 int32 UNFEASIBLE = -1\n\
00493 \n\
00494 # task was thought possible, but failed due to unexpected events during execution\n\
00495 # it is likely that the world was disturbed, so you are encouraged to refresh\n\
00496 # your sensed world model before proceeding to another task\n\
00497 int32 FAILED = -2\n\
00498 \n\
00499 # a lower level error prevented task completion (e.g. joint controller not responding)\n\
00500 # generally requires human attention\n\
00501 int32 ERROR = -3\n\
00502 \n\
00503 # means that at some point during execution we ended up in a state that the collision-aware\n\
00504 # arm navigation module will not move out of. The world was likely not disturbed, but you \n\
00505 # probably need a new collision map to move the arm out of the stuck position\n\
00506 int32 ARM_MOVEMENT_PREVENTED = -4\n\
00507 \n\
00508 # specific to grasp actions\n\
00509 # the object was grasped successfully, but the lift attempt could not achieve the minimum lift distance requested\n\
00510 # it is likely that the collision environment will see collisions between the hand/object and the support surface\n\
00511 int32 LIFT_FAILED = -5\n\
00512 \n\
00513 # specific to place actions\n\
00514 # the object was placed successfully, but the retreat attempt could not achieve the minimum retreat distance requested\n\
00515 # it is likely that the collision environment will see collisions between the hand and the object\n\
00516 int32 RETREAT_FAILED = -6\n\
00517 \n\
00518 # indicates that somewhere along the line a human said \"wait, stop, this is bad, go back and do something else\"\n\
00519 int32 CANCELLED = -7\n\
00520 \n\
00521 # the actual value of this error code\n\
00522 int32 value\n\
00523 \n\
00524 ================================================================================\n\
00525 MSG: object_manipulation_msgs/PlaceLocationResult\n\
00526 int32 SUCCESS = 1\n\
00527 int32 PLACE_OUT_OF_REACH = 2\n\
00528 int32 PLACE_IN_COLLISION = 3\n\
00529 int32 PLACE_UNFEASIBLE = 4\n\
00530 int32 PREPLACE_OUT_OF_REACH = 5\n\
00531 int32 PREPLACE_IN_COLLISION = 6\n\
00532 int32 PREPLACE_UNFEASIBLE = 7\n\
00533 int32 RETREAT_OUT_OF_REACH = 8\n\
00534 int32 RETREAT_IN_COLLISION = 9\n\
00535 int32 RETREAT_UNFEASIBLE = 10\n\
00536 int32 MOVE_ARM_FAILED = 11\n\
00537 int32 PLACE_FAILED = 12\n\
00538 int32 RETREAT_FAILED = 13\n\
00539 int32 result_code\n\
00540 \n\
00541 # whether the state of the world was disturbed by this attempt. generally, this flag\n\
00542 # shows if another task can be attempted, or a new sensed world model is recommeded\n\
00543 # before proceeding\n\
00544 bool continuation_possible\n\
00545 \n\
00546 ================================================================================\n\
00547 MSG: object_manipulation_msgs/PlaceActionFeedback\n\
00548 \n\
00549 Header header\n\
00550 actionlib_msgs/GoalStatus status\n\
00551 PlaceFeedback feedback\n\
00552 \n\
00553 ================================================================================\n\
00554 MSG: object_manipulation_msgs/PlaceFeedback\n\
00555 # The number of the place location currently being attempted\n\
00556 int32 current_location\n\
00557 \n\
00558 # The total number of locations that will be attempted\n\
00559 int32 total_locations\n\
00560 \n\
00561 \n\
00562 \n\
00563 \n\
00564 "; }
00565 public:
00566 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00567
00568 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00569
00570 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00571 {
00572 ros::serialization::OStream stream(write_ptr, 1000000000);
00573 ros::serialization::serialize(stream, action_goal);
00574 ros::serialization::serialize(stream, action_result);
00575 ros::serialization::serialize(stream, action_feedback);
00576 return stream.getData();
00577 }
00578
00579 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00580 {
00581 ros::serialization::IStream stream(read_ptr, 1000000000);
00582 ros::serialization::deserialize(stream, action_goal);
00583 ros::serialization::deserialize(stream, action_result);
00584 ros::serialization::deserialize(stream, action_feedback);
00585 return stream.getData();
00586 }
00587
00588 ROS_DEPRECATED virtual uint32_t serializationLength() const
00589 {
00590 uint32_t size = 0;
00591 size += ros::serialization::serializationLength(action_goal);
00592 size += ros::serialization::serializationLength(action_result);
00593 size += ros::serialization::serializationLength(action_feedback);
00594 return size;
00595 }
00596
00597 typedef boost::shared_ptr< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> > Ptr;
00598 typedef boost::shared_ptr< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> const> ConstPtr;
00599 };
00600 typedef ::object_manipulation_msgs::PlaceAction_<std::allocator<void> > PlaceAction;
00601
00602 typedef boost::shared_ptr< ::object_manipulation_msgs::PlaceAction> PlaceActionPtr;
00603 typedef boost::shared_ptr< ::object_manipulation_msgs::PlaceAction const> PlaceActionConstPtr;
00604
00605
00606 template<typename ContainerAllocator>
00607 std::ostream& operator<<(std::ostream& s, const ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> & v)
00608 {
00609 ros::message_operations::Printer< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> >::stream(s, "", v);
00610 return s;}
00611
00612 }
00613
00614 namespace ros
00615 {
00616 namespace message_traits
00617 {
00618 template<class ContainerAllocator>
00619 struct MD5Sum< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> > {
00620 static const char* value()
00621 {
00622 return "d5c16c2b58aadc6ea5259b4706a7c7bd";
00623 }
00624
00625 static const char* value(const ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> &) { return value(); }
00626 static const uint64_t static_value1 = 0xd5c16c2b58aadc6eULL;
00627 static const uint64_t static_value2 = 0xa5259b4706a7c7bdULL;
00628 };
00629
00630 template<class ContainerAllocator>
00631 struct DataType< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> > {
00632 static const char* value()
00633 {
00634 return "object_manipulation_msgs/PlaceAction";
00635 }
00636
00637 static const char* value(const ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> &) { return value(); }
00638 };
00639
00640 template<class ContainerAllocator>
00641 struct Definition< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> > {
00642 static const char* value()
00643 {
00644 return "\n\
00645 PlaceActionGoal action_goal\n\
00646 PlaceActionResult action_result\n\
00647 PlaceActionFeedback action_feedback\n\
00648 \n\
00649 ================================================================================\n\
00650 MSG: object_manipulation_msgs/PlaceActionGoal\n\
00651 \n\
00652 Header header\n\
00653 actionlib_msgs/GoalID goal_id\n\
00654 PlaceGoal goal\n\
00655 \n\
00656 ================================================================================\n\
00657 MSG: std_msgs/Header\n\
00658 # Standard metadata for higher-level stamped data types.\n\
00659 # This is generally used to communicate timestamped data \n\
00660 # in a particular coordinate frame.\n\
00661 # \n\
00662 # sequence ID: consecutively increasing ID \n\
00663 uint32 seq\n\
00664 #Two-integer timestamp that is expressed as:\n\
00665 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00666 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00667 # time-handling sugar is provided by the client library\n\
00668 time stamp\n\
00669 #Frame this data is associated with\n\
00670 # 0: no frame\n\
00671 # 1: global frame\n\
00672 string frame_id\n\
00673 \n\
00674 ================================================================================\n\
00675 MSG: actionlib_msgs/GoalID\n\
00676 # The stamp should store the time at which this goal was requested.\n\
00677 # It is used by an action server when it tries to preempt all\n\
00678 # goals that were requested before a certain time\n\
00679 time stamp\n\
00680 \n\
00681 # The id provides a way to associate feedback and\n\
00682 # result message with specific goal requests. The id\n\
00683 # specified must be unique.\n\
00684 string id\n\
00685 \n\
00686 \n\
00687 ================================================================================\n\
00688 MSG: object_manipulation_msgs/PlaceGoal\n\
00689 \n\
00690 # An action for placing an object\n\
00691 \n\
00692 # which arm to be used for grasping\n\
00693 string arm_name\n\
00694 \n\
00695 # a list of possible desired poses of the object once it's been placed\n\
00696 geometry_msgs/PoseStamped[] place_locations\n\
00697 \n\
00698 # the grasp that has been executed on this object\n\
00699 Grasp grasp\n\
00700 \n\
00701 # how far the retreat should ideally be away from the place location\n\
00702 float32 desired_retreat_distance\n\
00703 \n\
00704 # the min distance between the retreat and the place location that must actually be feasible \n\
00705 # for the place not to be rejected\n\
00706 float32 min_retreat_distance\n\
00707 \n\
00708 # how the place location should be approached\n\
00709 # the frame_id that this lift is specified in MUST be either the robot_frame \n\
00710 # or the gripper_frame specified in your hand description file\n\
00711 GripperTranslation approach\n\
00712 \n\
00713 # the name that the target object has in the collision map\n\
00714 # can be left empty if no name is available\n\
00715 string collision_object_name\n\
00716 \n\
00717 # the name that the support surface (e.g. table) has in the collision map\n\
00718 # can be left empty if no name is available\n\
00719 string collision_support_surface_name\n\
00720 \n\
00721 # whether collisions between the gripper and the support surface should be acceptable\n\
00722 # during move from pre-place to place and during retreat. Collisions when moving to the\n\
00723 # pre-place location are still not allowed even if this is set to true.\n\
00724 bool allow_gripper_support_collision\n\
00725 \n\
00726 # whether reactive placing based on tactile sensors should be used\n\
00727 bool use_reactive_place\n\
00728 \n\
00729 # how much the object should be padded by when deciding if the grasp\n\
00730 # location is freasible or not\n\
00731 float64 place_padding\n\
00732 \n\
00733 # OPTIONAL (These will not have to be filled out most of the time)\n\
00734 # constraints to be imposed on every point in the motion of the arm\n\
00735 motion_planning_msgs/Constraints path_constraints\n\
00736 \n\
00737 # OPTIONAL (These will not have to be filled out most of the time)\n\
00738 # additional collision operations to be used for every arm movement performed\n\
00739 # during placing. Note that these will be added on top of (and thus overide) other \n\
00740 # collision operations that the grasping pipeline deems necessary. Should be used\n\
00741 # with care and only if special behaviors are desired.\n\
00742 motion_planning_msgs/OrderedCollisionOperations additional_collision_operations\n\
00743 \n\
00744 # OPTIONAL (These will not have to be filled out most of the time)\n\
00745 # additional link paddings to be used for every arm movement performed\n\
00746 # during placing. Note that these will be added on top of (and thus overide) other \n\
00747 # link paddings that the grasping pipeline deems necessary. Should be used\n\
00748 # with care and only if special behaviors are desired.\n\
00749 motion_planning_msgs/LinkPadding[] additional_link_padding\n\
00750 \n\
00751 ================================================================================\n\
00752 MSG: geometry_msgs/PoseStamped\n\
00753 # A Pose with reference coordinate frame and timestamp\n\
00754 Header header\n\
00755 Pose pose\n\
00756 \n\
00757 ================================================================================\n\
00758 MSG: geometry_msgs/Pose\n\
00759 # A representation of pose in free space, composed of postion and orientation. \n\
00760 Point position\n\
00761 Quaternion orientation\n\
00762 \n\
00763 ================================================================================\n\
00764 MSG: geometry_msgs/Point\n\
00765 # This contains the position of a point in free space\n\
00766 float64 x\n\
00767 float64 y\n\
00768 float64 z\n\
00769 \n\
00770 ================================================================================\n\
00771 MSG: geometry_msgs/Quaternion\n\
00772 # This represents an orientation in free space in quaternion form.\n\
00773 \n\
00774 float64 x\n\
00775 float64 y\n\
00776 float64 z\n\
00777 float64 w\n\
00778 \n\
00779 ================================================================================\n\
00780 MSG: object_manipulation_msgs/Grasp\n\
00781 \n\
00782 # The internal posture of the hand for the pre-grasp\n\
00783 # only positions are used\n\
00784 sensor_msgs/JointState pre_grasp_posture\n\
00785 \n\
00786 # The internal posture of the hand for the grasp\n\
00787 # positions and efforts are used\n\
00788 sensor_msgs/JointState grasp_posture\n\
00789 \n\
00790 # The position of the end-effector for the grasp relative to the object\n\
00791 geometry_msgs/Pose grasp_pose\n\
00792 \n\
00793 # The estimated probability of success for this grasp\n\
00794 float64 success_probability\n\
00795 \n\
00796 # Debug flag to indicate that this grasp would be the best in its cluster\n\
00797 bool cluster_rep\n\
00798 ================================================================================\n\
00799 MSG: sensor_msgs/JointState\n\
00800 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00801 #\n\
00802 # The state of each joint (revolute or prismatic) is defined by:\n\
00803 # * the position of the joint (rad or m),\n\
00804 # * the velocity of the joint (rad/s or m/s) and \n\
00805 # * the effort that is applied in the joint (Nm or N).\n\
00806 #\n\
00807 # Each joint is uniquely identified by its name\n\
00808 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00809 # in one message have to be recorded at the same time.\n\
00810 #\n\
00811 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00812 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00813 # effort associated with them, you can leave the effort array empty. \n\
00814 #\n\
00815 # All arrays in this message should have the same size, or be empty.\n\
00816 # This is the only way to uniquely associate the joint name with the correct\n\
00817 # states.\n\
00818 \n\
00819 \n\
00820 Header header\n\
00821 \n\
00822 string[] name\n\
00823 float64[] position\n\
00824 float64[] velocity\n\
00825 float64[] effort\n\
00826 \n\
00827 ================================================================================\n\
00828 MSG: object_manipulation_msgs/GripperTranslation\n\
00829 # defines a translation for the gripper, used in pickup or place tasks\n\
00830 # for example for lifting an object off a table or approaching the table for placing\n\
00831 \n\
00832 # the direction of the translation\n\
00833 geometry_msgs/Vector3Stamped direction\n\
00834 \n\
00835 # the desired translation distance\n\
00836 float32 desired_distance\n\
00837 \n\
00838 # the min distance that must be considered feasible before the\n\
00839 # grasp is even attempted\n\
00840 float32 min_distance\n\
00841 ================================================================================\n\
00842 MSG: geometry_msgs/Vector3Stamped\n\
00843 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00844 Header header\n\
00845 Vector3 vector\n\
00846 \n\
00847 ================================================================================\n\
00848 MSG: geometry_msgs/Vector3\n\
00849 # This represents a vector in free space. \n\
00850 \n\
00851 float64 x\n\
00852 float64 y\n\
00853 float64 z\n\
00854 ================================================================================\n\
00855 MSG: motion_planning_msgs/Constraints\n\
00856 # This message contains a list of motion planning constraints.\n\
00857 \n\
00858 motion_planning_msgs/JointConstraint[] joint_constraints\n\
00859 motion_planning_msgs/PositionConstraint[] position_constraints\n\
00860 motion_planning_msgs/OrientationConstraint[] orientation_constraints\n\
00861 motion_planning_msgs/VisibilityConstraint[] visibility_constraints\n\
00862 \n\
00863 ================================================================================\n\
00864 MSG: motion_planning_msgs/JointConstraint\n\
00865 # Constrain the position of a joint to be within a certain bound\n\
00866 string joint_name\n\
00867 \n\
00868 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\
00869 float64 position\n\
00870 float64 tolerance_above\n\
00871 float64 tolerance_below\n\
00872 \n\
00873 # A weighting factor for this constraint\n\
00874 float64 weight\n\
00875 ================================================================================\n\
00876 MSG: motion_planning_msgs/PositionConstraint\n\
00877 # This message contains the definition of a position constraint.\n\
00878 Header header\n\
00879 \n\
00880 # The robot link this constraint refers to\n\
00881 string link_name\n\
00882 \n\
00883 # The offset (in the link frame) for the target point on the link we are planning for\n\
00884 geometry_msgs/Point target_point_offset\n\
00885 \n\
00886 # The nominal/target position for the point we are planning for\n\
00887 geometry_msgs/Point position\n\
00888 \n\
00889 # The shape of the bounded region that constrains the position of the end-effector\n\
00890 # This region is always centered at the position defined above\n\
00891 geometric_shapes_msgs/Shape constraint_region_shape\n\
00892 \n\
00893 # The orientation of the bounded region that constrains the position of the end-effector. \n\
00894 # This allows the specification of non-axis aligned constraints\n\
00895 geometry_msgs/Quaternion constraint_region_orientation\n\
00896 \n\
00897 # Constraint weighting factor - a weight for this constraint\n\
00898 float64 weight\n\
00899 ================================================================================\n\
00900 MSG: geometric_shapes_msgs/Shape\n\
00901 byte SPHERE=0\n\
00902 byte BOX=1\n\
00903 byte CYLINDER=2\n\
00904 byte MESH=3\n\
00905 \n\
00906 byte type\n\
00907 \n\
00908 \n\
00909 #### define sphere, box, cylinder ####\n\
00910 # the origin of each shape is considered at the shape's center\n\
00911 \n\
00912 # for sphere\n\
00913 # radius := dimensions[0]\n\
00914 \n\
00915 # for cylinder\n\
00916 # radius := dimensions[0]\n\
00917 # length := dimensions[1]\n\
00918 # the length is along the Z axis\n\
00919 \n\
00920 # for box\n\
00921 # size_x := dimensions[0]\n\
00922 # size_y := dimensions[1]\n\
00923 # size_z := dimensions[2]\n\
00924 float64[] dimensions\n\
00925 \n\
00926 \n\
00927 #### define mesh ####\n\
00928 \n\
00929 # list of triangles; triangle k is defined by tre vertices located\n\
00930 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00931 int32[] triangles\n\
00932 geometry_msgs/Point[] vertices\n\
00933 \n\
00934 ================================================================================\n\
00935 MSG: motion_planning_msgs/OrientationConstraint\n\
00936 # This message contains the definition of an orientation constraint.\n\
00937 Header header\n\
00938 \n\
00939 # The robot link this constraint refers to\n\
00940 string link_name\n\
00941 \n\
00942 # The type of the constraint\n\
00943 int32 type\n\
00944 int32 LINK_FRAME=0\n\
00945 int32 HEADER_FRAME=1\n\
00946 \n\
00947 # The desired orientation of the robot link specified as a quaternion\n\
00948 geometry_msgs/Quaternion orientation\n\
00949 \n\
00950 # optional RPY error tolerances specified if \n\
00951 float64 absolute_roll_tolerance\n\
00952 float64 absolute_pitch_tolerance\n\
00953 float64 absolute_yaw_tolerance\n\
00954 \n\
00955 # Constraint weighting factor - a weight for this constraint\n\
00956 float64 weight\n\
00957 \n\
00958 ================================================================================\n\
00959 MSG: motion_planning_msgs/VisibilityConstraint\n\
00960 # This message contains the definition of a visibility constraint.\n\
00961 Header header\n\
00962 \n\
00963 # The point stamped target that needs to be kept within view of the sensor\n\
00964 geometry_msgs/PointStamped target\n\
00965 \n\
00966 # The local pose of the frame in which visibility is to be maintained\n\
00967 # The frame id should represent the robot link to which the sensor is attached\n\
00968 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\
00969 geometry_msgs/PoseStamped sensor_pose\n\
00970 \n\
00971 # The deviation (in radians) that will be tolerated\n\
00972 # Constraint error will be measured as the solid angle between the \n\
00973 # X axis of the frame defined above and the vector between the origin \n\
00974 # of the frame defined above and the target location\n\
00975 float64 absolute_tolerance\n\
00976 \n\
00977 \n\
00978 ================================================================================\n\
00979 MSG: geometry_msgs/PointStamped\n\
00980 # This represents a Point with reference coordinate frame and timestamp\n\
00981 Header header\n\
00982 Point point\n\
00983 \n\
00984 ================================================================================\n\
00985 MSG: motion_planning_msgs/OrderedCollisionOperations\n\
00986 # A set of collision operations that will be performed in the order they are specified\n\
00987 CollisionOperation[] collision_operations\n\
00988 ================================================================================\n\
00989 MSG: motion_planning_msgs/CollisionOperation\n\
00990 # A definition of a collision operation\n\
00991 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\
00992 # between the gripper and all objects in the collision space\n\
00993 \n\
00994 string object1\n\
00995 string object2\n\
00996 string COLLISION_SET_ALL=\"all\"\n\
00997 string COLLISION_SET_OBJECTS=\"objects\"\n\
00998 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\
00999 \n\
01000 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\
01001 float64 penetration_distance\n\
01002 \n\
01003 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\
01004 int32 operation\n\
01005 int32 DISABLE=0\n\
01006 int32 ENABLE=1\n\
01007 \n\
01008 ================================================================================\n\
01009 MSG: motion_planning_msgs/LinkPadding\n\
01010 #name for the link\n\
01011 string link_name\n\
01012 \n\
01013 # padding to apply to the link\n\
01014 float64 padding\n\
01015 \n\
01016 ================================================================================\n\
01017 MSG: object_manipulation_msgs/PlaceActionResult\n\
01018 \n\
01019 Header header\n\
01020 actionlib_msgs/GoalStatus status\n\
01021 PlaceResult result\n\
01022 \n\
01023 ================================================================================\n\
01024 MSG: actionlib_msgs/GoalStatus\n\
01025 GoalID goal_id\n\
01026 uint8 status\n\
01027 uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\
01028 uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\
01029 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\
01030 # and has since completed its execution (Terminal State)\n\
01031 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\
01032 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\
01033 # to some failure (Terminal State)\n\
01034 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\
01035 # because the goal was unattainable or invalid (Terminal State)\n\
01036 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\
01037 # and has not yet completed execution\n\
01038 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\
01039 # but the action server has not yet confirmed that the goal is canceled\n\
01040 uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\
01041 # and was successfully cancelled (Terminal State)\n\
01042 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\
01043 # sent over the wire by an action server\n\
01044 \n\
01045 #Allow for the user to associate a string with GoalStatus for debugging\n\
01046 string text\n\
01047 \n\
01048 \n\
01049 ================================================================================\n\
01050 MSG: object_manipulation_msgs/PlaceResult\n\
01051 # The result of the pickup attempt\n\
01052 ManipulationResult manipulation_result\n\
01053 \n\
01054 # The successful place location, if any\n\
01055 geometry_msgs/PoseStamped place_location\n\
01056 \n\
01057 # the list of attempted locations, in the order in which they were attempted\n\
01058 # the successful one should be the last one in this list\n\
01059 geometry_msgs/PoseStamped[] attempted_locations\n\
01060 \n\
01061 # the outcomes of the attempted locations, in the same order as attempted_locations\n\
01062 PlaceLocationResult[] attempted_location_results\n\
01063 ================================================================================\n\
01064 MSG: object_manipulation_msgs/ManipulationResult\n\
01065 # Result codes for manipulation tasks\n\
01066 \n\
01067 # task completed as expected\n\
01068 # generally means you can proceed as planned\n\
01069 int32 SUCCESS = 1\n\
01070 \n\
01071 # task not possible (e.g. out of reach or obstacles in the way)\n\
01072 # generally means that the world was not disturbed, so you can try another task\n\
01073 int32 UNFEASIBLE = -1\n\
01074 \n\
01075 # task was thought possible, but failed due to unexpected events during execution\n\
01076 # it is likely that the world was disturbed, so you are encouraged to refresh\n\
01077 # your sensed world model before proceeding to another task\n\
01078 int32 FAILED = -2\n\
01079 \n\
01080 # a lower level error prevented task completion (e.g. joint controller not responding)\n\
01081 # generally requires human attention\n\
01082 int32 ERROR = -3\n\
01083 \n\
01084 # means that at some point during execution we ended up in a state that the collision-aware\n\
01085 # arm navigation module will not move out of. The world was likely not disturbed, but you \n\
01086 # probably need a new collision map to move the arm out of the stuck position\n\
01087 int32 ARM_MOVEMENT_PREVENTED = -4\n\
01088 \n\
01089 # specific to grasp actions\n\
01090 # the object was grasped successfully, but the lift attempt could not achieve the minimum lift distance requested\n\
01091 # it is likely that the collision environment will see collisions between the hand/object and the support surface\n\
01092 int32 LIFT_FAILED = -5\n\
01093 \n\
01094 # specific to place actions\n\
01095 # the object was placed successfully, but the retreat attempt could not achieve the minimum retreat distance requested\n\
01096 # it is likely that the collision environment will see collisions between the hand and the object\n\
01097 int32 RETREAT_FAILED = -6\n\
01098 \n\
01099 # indicates that somewhere along the line a human said \"wait, stop, this is bad, go back and do something else\"\n\
01100 int32 CANCELLED = -7\n\
01101 \n\
01102 # the actual value of this error code\n\
01103 int32 value\n\
01104 \n\
01105 ================================================================================\n\
01106 MSG: object_manipulation_msgs/PlaceLocationResult\n\
01107 int32 SUCCESS = 1\n\
01108 int32 PLACE_OUT_OF_REACH = 2\n\
01109 int32 PLACE_IN_COLLISION = 3\n\
01110 int32 PLACE_UNFEASIBLE = 4\n\
01111 int32 PREPLACE_OUT_OF_REACH = 5\n\
01112 int32 PREPLACE_IN_COLLISION = 6\n\
01113 int32 PREPLACE_UNFEASIBLE = 7\n\
01114 int32 RETREAT_OUT_OF_REACH = 8\n\
01115 int32 RETREAT_IN_COLLISION = 9\n\
01116 int32 RETREAT_UNFEASIBLE = 10\n\
01117 int32 MOVE_ARM_FAILED = 11\n\
01118 int32 PLACE_FAILED = 12\n\
01119 int32 RETREAT_FAILED = 13\n\
01120 int32 result_code\n\
01121 \n\
01122 # whether the state of the world was disturbed by this attempt. generally, this flag\n\
01123 # shows if another task can be attempted, or a new sensed world model is recommeded\n\
01124 # before proceeding\n\
01125 bool continuation_possible\n\
01126 \n\
01127 ================================================================================\n\
01128 MSG: object_manipulation_msgs/PlaceActionFeedback\n\
01129 \n\
01130 Header header\n\
01131 actionlib_msgs/GoalStatus status\n\
01132 PlaceFeedback feedback\n\
01133 \n\
01134 ================================================================================\n\
01135 MSG: object_manipulation_msgs/PlaceFeedback\n\
01136 # The number of the place location currently being attempted\n\
01137 int32 current_location\n\
01138 \n\
01139 # The total number of locations that will be attempted\n\
01140 int32 total_locations\n\
01141 \n\
01142 \n\
01143 \n\
01144 \n\
01145 ";
01146 }
01147
01148 static const char* value(const ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> &) { return value(); }
01149 };
01150
01151 }
01152 }
01153
01154 namespace ros
01155 {
01156 namespace serialization
01157 {
01158
01159 template<class ContainerAllocator> struct Serializer< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> >
01160 {
01161 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
01162 {
01163 stream.next(m.action_goal);
01164 stream.next(m.action_result);
01165 stream.next(m.action_feedback);
01166 }
01167
01168 ROS_DECLARE_ALLINONE_SERIALIZER;
01169 };
01170 }
01171 }
01172
01173 namespace ros
01174 {
01175 namespace message_operations
01176 {
01177
01178 template<class ContainerAllocator>
01179 struct Printer< ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> >
01180 {
01181 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::object_manipulation_msgs::PlaceAction_<ContainerAllocator> & v)
01182 {
01183 s << indent << "action_goal: ";
01184 s << std::endl;
01185 Printer< ::object_manipulation_msgs::PlaceActionGoal_<ContainerAllocator> >::stream(s, indent + " ", v.action_goal);
01186 s << indent << "action_result: ";
01187 s << std::endl;
01188 Printer< ::object_manipulation_msgs::PlaceActionResult_<ContainerAllocator> >::stream(s, indent + " ", v.action_result);
01189 s << indent << "action_feedback: ";
01190 s << std::endl;
01191 Printer< ::object_manipulation_msgs::PlaceActionFeedback_<ContainerAllocator> >::stream(s, indent + " ", v.action_feedback);
01192 }
01193 };
01194
01195
01196 }
01197 }
01198
01199 #endif // OBJECT_MANIPULATION_MSGS_MESSAGE_PLACEACTION_H
01200