00001
00002 #ifndef ARM_NAVIGATION_MSGS_MESSAGE_MOVEARMACTION_H
00003 #define ARM_NAVIGATION_MSGS_MESSAGE_MOVEARMACTION_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "arm_navigation_msgs/MoveArmActionGoal.h"
00018 #include "arm_navigation_msgs/MoveArmActionResult.h"
00019 #include "arm_navigation_msgs/MoveArmActionFeedback.h"
00020
00021 namespace arm_navigation_msgs
00022 {
00023 template <class ContainerAllocator>
00024 struct MoveArmAction_ {
00025 typedef MoveArmAction_<ContainerAllocator> Type;
00026
00027 MoveArmAction_()
00028 : action_goal()
00029 , action_result()
00030 , action_feedback()
00031 {
00032 }
00033
00034 MoveArmAction_(const ContainerAllocator& _alloc)
00035 : action_goal(_alloc)
00036 , action_result(_alloc)
00037 , action_feedback(_alloc)
00038 {
00039 }
00040
00041 typedef ::arm_navigation_msgs::MoveArmActionGoal_<ContainerAllocator> _action_goal_type;
00042 ::arm_navigation_msgs::MoveArmActionGoal_<ContainerAllocator> action_goal;
00043
00044 typedef ::arm_navigation_msgs::MoveArmActionResult_<ContainerAllocator> _action_result_type;
00045 ::arm_navigation_msgs::MoveArmActionResult_<ContainerAllocator> action_result;
00046
00047 typedef ::arm_navigation_msgs::MoveArmActionFeedback_<ContainerAllocator> _action_feedback_type;
00048 ::arm_navigation_msgs::MoveArmActionFeedback_<ContainerAllocator> action_feedback;
00049
00050
00051 private:
00052 static const char* __s_getDataType_() { return "arm_navigation_msgs/MoveArmAction"; }
00053 public:
00054 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00055
00056 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00057
00058 private:
00059 static const char* __s_getMD5Sum_() { return "6a991a3116cabdf4675f6b122822116b"; }
00060 public:
00061 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00062
00063 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00064
00065 private:
00066 static const char* __s_getMessageDefinition_() { return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00067 \n\
00068 MoveArmActionGoal action_goal\n\
00069 MoveArmActionResult action_result\n\
00070 MoveArmActionFeedback action_feedback\n\
00071 \n\
00072 ================================================================================\n\
00073 MSG: arm_navigation_msgs/MoveArmActionGoal\n\
00074 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00075 \n\
00076 Header header\n\
00077 actionlib_msgs/GoalID goal_id\n\
00078 MoveArmGoal goal\n\
00079 \n\
00080 ================================================================================\n\
00081 MSG: std_msgs/Header\n\
00082 # Standard metadata for higher-level stamped data types.\n\
00083 # This is generally used to communicate timestamped data \n\
00084 # in a particular coordinate frame.\n\
00085 # \n\
00086 # sequence ID: consecutively increasing ID \n\
00087 uint32 seq\n\
00088 #Two-integer timestamp that is expressed as:\n\
00089 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00090 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00091 # time-handling sugar is provided by the client library\n\
00092 time stamp\n\
00093 #Frame this data is associated with\n\
00094 # 0: no frame\n\
00095 # 1: global frame\n\
00096 string frame_id\n\
00097 \n\
00098 ================================================================================\n\
00099 MSG: actionlib_msgs/GoalID\n\
00100 # The stamp should store the time at which this goal was requested.\n\
00101 # It is used by an action server when it tries to preempt all\n\
00102 # goals that were requested before a certain time\n\
00103 time stamp\n\
00104 \n\
00105 # The id provides a way to associate feedback and\n\
00106 # result message with specific goal requests. The id\n\
00107 # specified must be unique.\n\
00108 string id\n\
00109 \n\
00110 \n\
00111 ================================================================================\n\
00112 MSG: arm_navigation_msgs/MoveArmGoal\n\
00113 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00114 # Service name to call for getting a motion plan\n\
00115 # Move arm will call a service on this service name \n\
00116 # using the MotionPlanRequest specified here\n\
00117 string planner_service_name\n\
00118 \n\
00119 # A planning scene diff\n\
00120 PlanningScene planning_scene_diff\n\
00121 \n\
00122 # A motion planning request\n\
00123 MotionPlanRequest motion_plan_request\n\
00124 \n\
00125 # OPTIONAL: Diff uses ordered collision operations in addition to allowed_collision_matrix\n\
00126 arm_navigation_msgs/OrderedCollisionOperations operations\n\
00127 \n\
00128 # OPTIONAL flag\n\
00129 # Setting this flag to true will allow move_arm to accept plans that do not go all the way to the goal\n\
00130 bool accept_partial_plans\n\
00131 \n\
00132 # OPTIONAL flag\n\
00133 # Setting this flag to true will allow move_arm to accept invalid goals\n\
00134 # This is useful if you are using a planner like CHOMP along with a noisy rapidly changing collision map\n\
00135 # and you would like to plan to a goal near an object.\n\
00136 bool accept_invalid_goals\n\
00137 \n\
00138 # OPTIONAL flag\n\
00139 # Setting this flag to true will disable the call to IK for a pose goal\n\
00140 bool disable_ik\n\
00141 \n\
00142 # OPTIONAL flag\n\
00143 # Setting this flag to true will disable collision monitoring during execution of a trajectory\n\
00144 bool disable_collision_monitoring\n\
00145 \n\
00146 ================================================================================\n\
00147 MSG: arm_navigation_msgs/PlanningScene\n\
00148 #full robot state\n\
00149 arm_navigation_msgs/RobotState robot_state\n\
00150 \n\
00151 #additional frames for duplicating tf\n\
00152 geometry_msgs/TransformStamped[] fixed_frame_transforms\n\
00153 \n\
00154 #full allowed collision matrix\n\
00155 AllowedCollisionMatrix allowed_collision_matrix\n\
00156 \n\
00157 #allowed contacts\n\
00158 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts\n\
00159 \n\
00160 #all link paddings\n\
00161 arm_navigation_msgs/LinkPadding[] link_padding\n\
00162 \n\
00163 #collision objects\n\
00164 arm_navigation_msgs/CollisionObject[] collision_objects\n\
00165 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00166 \n\
00167 #the collision map\n\
00168 arm_navigation_msgs/CollisionMap collision_map\n\
00169 \n\
00170 ================================================================================\n\
00171 MSG: arm_navigation_msgs/RobotState\n\
00172 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00173 sensor_msgs/JointState joint_state\n\
00174 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00175 \n\
00176 ================================================================================\n\
00177 MSG: sensor_msgs/JointState\n\
00178 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00179 #\n\
00180 # The state of each joint (revolute or prismatic) is defined by:\n\
00181 # * the position of the joint (rad or m),\n\
00182 # * the velocity of the joint (rad/s or m/s) and \n\
00183 # * the effort that is applied in the joint (Nm or N).\n\
00184 #\n\
00185 # Each joint is uniquely identified by its name\n\
00186 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00187 # in one message have to be recorded at the same time.\n\
00188 #\n\
00189 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00190 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00191 # effort associated with them, you can leave the effort array empty. \n\
00192 #\n\
00193 # All arrays in this message should have the same size, or be empty.\n\
00194 # This is the only way to uniquely associate the joint name with the correct\n\
00195 # states.\n\
00196 \n\
00197 \n\
00198 Header header\n\
00199 \n\
00200 string[] name\n\
00201 float64[] position\n\
00202 float64[] velocity\n\
00203 float64[] effort\n\
00204 \n\
00205 ================================================================================\n\
00206 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00207 #A representation of a multi-dof joint state\n\
00208 time stamp\n\
00209 string[] joint_names\n\
00210 string[] frame_ids\n\
00211 string[] child_frame_ids\n\
00212 geometry_msgs/Pose[] poses\n\
00213 \n\
00214 ================================================================================\n\
00215 MSG: geometry_msgs/Pose\n\
00216 # A representation of pose in free space, composed of postion and orientation. \n\
00217 Point position\n\
00218 Quaternion orientation\n\
00219 \n\
00220 ================================================================================\n\
00221 MSG: geometry_msgs/Point\n\
00222 # This contains the position of a point in free space\n\
00223 float64 x\n\
00224 float64 y\n\
00225 float64 z\n\
00226 \n\
00227 ================================================================================\n\
00228 MSG: geometry_msgs/Quaternion\n\
00229 # This represents an orientation in free space in quaternion form.\n\
00230 \n\
00231 float64 x\n\
00232 float64 y\n\
00233 float64 z\n\
00234 float64 w\n\
00235 \n\
00236 ================================================================================\n\
00237 MSG: geometry_msgs/TransformStamped\n\
00238 # This expresses a transform from coordinate frame header.frame_id\n\
00239 # to the coordinate frame child_frame_id\n\
00240 #\n\
00241 # This message is mostly used by the \n\
00242 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
00243 # See it's documentation for more information.\n\
00244 \n\
00245 Header header\n\
00246 string child_frame_id # the frame id of the child frame\n\
00247 Transform transform\n\
00248 \n\
00249 ================================================================================\n\
00250 MSG: geometry_msgs/Transform\n\
00251 # This represents the transform between two coordinate frames in free space.\n\
00252 \n\
00253 Vector3 translation\n\
00254 Quaternion rotation\n\
00255 \n\
00256 ================================================================================\n\
00257 MSG: geometry_msgs/Vector3\n\
00258 # This represents a vector in free space. \n\
00259 \n\
00260 float64 x\n\
00261 float64 y\n\
00262 float64 z\n\
00263 ================================================================================\n\
00264 MSG: arm_navigation_msgs/AllowedCollisionMatrix\n\
00265 # the list of link names in the matrix\n\
00266 string[] link_names\n\
00267 \n\
00268 # the individual entries in the allowed collision matrix\n\
00269 # symmetric, with same order as link_names\n\
00270 AllowedCollisionEntry[] entries\n\
00271 \n\
00272 ================================================================================\n\
00273 MSG: arm_navigation_msgs/AllowedCollisionEntry\n\
00274 # whether or not collision checking is enabled\n\
00275 bool[] enabled\n\
00276 \n\
00277 ================================================================================\n\
00278 MSG: arm_navigation_msgs/AllowedContactSpecification\n\
00279 # The names of the regions\n\
00280 string name\n\
00281 \n\
00282 # The shape of the region in the environment\n\
00283 arm_navigation_msgs/Shape shape\n\
00284 \n\
00285 # The pose of the space defining the region\n\
00286 geometry_msgs/PoseStamped pose_stamped\n\
00287 \n\
00288 # The set of links that will be allowed to have penetration contact within this region\n\
00289 string[] link_names\n\
00290 \n\
00291 # The maximum penetration depth allowed for every link\n\
00292 float64 penetration_depth\n\
00293 \n\
00294 ================================================================================\n\
00295 MSG: arm_navigation_msgs/Shape\n\
00296 byte SPHERE=0\n\
00297 byte BOX=1\n\
00298 byte CYLINDER=2\n\
00299 byte MESH=3\n\
00300 \n\
00301 byte type\n\
00302 \n\
00303 \n\
00304 #### define sphere, box, cylinder ####\n\
00305 # the origin of each shape is considered at the shape's center\n\
00306 \n\
00307 # for sphere\n\
00308 # radius := dimensions[0]\n\
00309 \n\
00310 # for cylinder\n\
00311 # radius := dimensions[0]\n\
00312 # length := dimensions[1]\n\
00313 # the length is along the Z axis\n\
00314 \n\
00315 # for box\n\
00316 # size_x := dimensions[0]\n\
00317 # size_y := dimensions[1]\n\
00318 # size_z := dimensions[2]\n\
00319 float64[] dimensions\n\
00320 \n\
00321 \n\
00322 #### define mesh ####\n\
00323 \n\
00324 # list of triangles; triangle k is defined by tre vertices located\n\
00325 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00326 int32[] triangles\n\
00327 geometry_msgs/Point[] vertices\n\
00328 \n\
00329 ================================================================================\n\
00330 MSG: geometry_msgs/PoseStamped\n\
00331 # A Pose with reference coordinate frame and timestamp\n\
00332 Header header\n\
00333 Pose pose\n\
00334 \n\
00335 ================================================================================\n\
00336 MSG: arm_navigation_msgs/LinkPadding\n\
00337 #name for the link\n\
00338 string link_name\n\
00339 \n\
00340 # padding to apply to the link\n\
00341 float64 padding\n\
00342 \n\
00343 ================================================================================\n\
00344 MSG: arm_navigation_msgs/CollisionObject\n\
00345 # a header, used for interpreting the poses\n\
00346 Header header\n\
00347 \n\
00348 # the id of the object\n\
00349 string id\n\
00350 \n\
00351 # The padding used for filtering points near the object.\n\
00352 # This does not affect collision checking for the object. \n\
00353 # Set to negative to get zero padding.\n\
00354 float32 padding\n\
00355 \n\
00356 #This contains what is to be done with the object\n\
00357 CollisionObjectOperation operation\n\
00358 \n\
00359 #the shapes associated with the object\n\
00360 arm_navigation_msgs/Shape[] shapes\n\
00361 \n\
00362 #the poses associated with the shapes - will be transformed using the header\n\
00363 geometry_msgs/Pose[] poses\n\
00364 \n\
00365 ================================================================================\n\
00366 MSG: arm_navigation_msgs/CollisionObjectOperation\n\
00367 #Puts the object into the environment\n\
00368 #or updates the object if already added\n\
00369 byte ADD=0\n\
00370 \n\
00371 #Removes the object from the environment entirely\n\
00372 byte REMOVE=1\n\
00373 \n\
00374 #Only valid within the context of a CollisionAttachedObject message\n\
00375 #Will be ignored if sent with an CollisionObject message\n\
00376 #Takes an attached object, detaches from the attached link\n\
00377 #But adds back in as regular object\n\
00378 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00379 \n\
00380 #Only valid within the context of a CollisionAttachedObject message\n\
00381 #Will be ignored if sent with an CollisionObject message\n\
00382 #Takes current object in the environment and removes it as\n\
00383 #a regular object\n\
00384 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00385 \n\
00386 # Byte code for operation\n\
00387 byte operation\n\
00388 \n\
00389 ================================================================================\n\
00390 MSG: arm_navigation_msgs/AttachedCollisionObject\n\
00391 # The CollisionObject will be attached with a fixed joint to this link\n\
00392 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
00393 # is set to REMOVE will remove all attached bodies attached to any object\n\
00394 string link_name\n\
00395 \n\
00396 #Reserved for indicating that all attached objects should be removed\n\
00397 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
00398 \n\
00399 #This contains the actual shapes and poses for the CollisionObject\n\
00400 #to be attached to the link\n\
00401 #If action is remove and no object.id is set, all objects\n\
00402 #attached to the link indicated by link_name will be removed\n\
00403 CollisionObject object\n\
00404 \n\
00405 # The set of links that the attached objects are allowed to touch\n\
00406 # by default - the link_name is included by default\n\
00407 string[] touch_links\n\
00408 \n\
00409 ================================================================================\n\
00410 MSG: arm_navigation_msgs/CollisionMap\n\
00411 #header for interpreting box positions\n\
00412 Header header\n\
00413 \n\
00414 #boxes for use in collision testing\n\
00415 OrientedBoundingBox[] boxes\n\
00416 \n\
00417 ================================================================================\n\
00418 MSG: arm_navigation_msgs/OrientedBoundingBox\n\
00419 #the center of the box\n\
00420 geometry_msgs/Point32 center\n\
00421 \n\
00422 #the extents of the box, assuming the center is at the point\n\
00423 geometry_msgs/Point32 extents\n\
00424 \n\
00425 #the axis of the box\n\
00426 geometry_msgs/Point32 axis\n\
00427 \n\
00428 #the angle of rotation around the axis\n\
00429 float32 angle\n\
00430 \n\
00431 ================================================================================\n\
00432 MSG: geometry_msgs/Point32\n\
00433 # This contains the position of a point in free space(with 32 bits of precision).\n\
00434 # It is recommeded to use Point wherever possible instead of Point32. \n\
00435 # \n\
00436 # This recommendation is to promote interoperability. \n\
00437 #\n\
00438 # This message is designed to take up less space when sending\n\
00439 # lots of points at once, as in the case of a PointCloud. \n\
00440 \n\
00441 float32 x\n\
00442 float32 y\n\
00443 float32 z\n\
00444 ================================================================================\n\
00445 MSG: arm_navigation_msgs/MotionPlanRequest\n\
00446 # This service contains the definition for a request to the motion\n\
00447 # planner and the output it provides\n\
00448 \n\
00449 # Parameters for the workspace that the planner should work inside\n\
00450 arm_navigation_msgs/WorkspaceParameters workspace_parameters\n\
00451 \n\
00452 # Starting state updates. If certain joints should be considered\n\
00453 # at positions other than the current ones, these positions should\n\
00454 # be set here\n\
00455 arm_navigation_msgs/RobotState start_state\n\
00456 \n\
00457 # The goal state for the model to plan for. The goal is achieved\n\
00458 # if all constraints are satisfied\n\
00459 arm_navigation_msgs/Constraints goal_constraints\n\
00460 \n\
00461 # No state at any point along the path in the produced motion plan will violate these constraints\n\
00462 arm_navigation_msgs/Constraints path_constraints\n\
00463 \n\
00464 # The name of the motion planner to use. If no name is specified,\n\
00465 # a default motion planner will be used\n\
00466 string planner_id\n\
00467 \n\
00468 # The name of the group of joints on which this planner is operating\n\
00469 string group_name\n\
00470 \n\
00471 # The number of times this plan is to be computed. Shortest solution\n\
00472 # will be reported.\n\
00473 int32 num_planning_attempts\n\
00474 \n\
00475 # The maximum amount of time the motion planner is allowed to plan for\n\
00476 duration allowed_planning_time\n\
00477 \n\
00478 # An expected path duration (in seconds) along with an expected discretization of the path allows the planner to determine the discretization of the trajectory that it returns\n\
00479 duration expected_path_duration\n\
00480 duration expected_path_dt\n\
00481 \n\
00482 ================================================================================\n\
00483 MSG: arm_navigation_msgs/WorkspaceParameters\n\
00484 # This message contains a set of parameters useful in\n\
00485 # setting up the workspace for planning\n\
00486 arm_navigation_msgs/Shape workspace_region_shape\n\
00487 geometry_msgs/PoseStamped workspace_region_pose\n\
00488 \n\
00489 \n\
00490 ================================================================================\n\
00491 MSG: arm_navigation_msgs/Constraints\n\
00492 # This message contains a list of motion planning constraints.\n\
00493 \n\
00494 arm_navigation_msgs/JointConstraint[] joint_constraints\n\
00495 arm_navigation_msgs/PositionConstraint[] position_constraints\n\
00496 arm_navigation_msgs/OrientationConstraint[] orientation_constraints\n\
00497 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints\n\
00498 \n\
00499 ================================================================================\n\
00500 MSG: arm_navigation_msgs/JointConstraint\n\
00501 # Constrain the position of a joint to be within a certain bound\n\
00502 string joint_name\n\
00503 \n\
00504 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\
00505 float64 position\n\
00506 float64 tolerance_above\n\
00507 float64 tolerance_below\n\
00508 \n\
00509 # A weighting factor for this constraint\n\
00510 float64 weight\n\
00511 ================================================================================\n\
00512 MSG: arm_navigation_msgs/PositionConstraint\n\
00513 # This message contains the definition of a position constraint.\n\
00514 Header header\n\
00515 \n\
00516 # The robot link this constraint refers to\n\
00517 string link_name\n\
00518 \n\
00519 # The offset (in the link frame) for the target point on the link we are planning for\n\
00520 geometry_msgs/Point target_point_offset\n\
00521 \n\
00522 # The nominal/target position for the point we are planning for\n\
00523 geometry_msgs/Point position\n\
00524 \n\
00525 # The shape of the bounded region that constrains the position of the end-effector\n\
00526 # This region is always centered at the position defined above\n\
00527 arm_navigation_msgs/Shape constraint_region_shape\n\
00528 \n\
00529 # The orientation of the bounded region that constrains the position of the end-effector. \n\
00530 # This allows the specification of non-axis aligned constraints\n\
00531 geometry_msgs/Quaternion constraint_region_orientation\n\
00532 \n\
00533 # Constraint weighting factor - a weight for this constraint\n\
00534 float64 weight\n\
00535 \n\
00536 ================================================================================\n\
00537 MSG: arm_navigation_msgs/OrientationConstraint\n\
00538 # This message contains the definition of an orientation constraint.\n\
00539 Header header\n\
00540 \n\
00541 # The robot link this constraint refers to\n\
00542 string link_name\n\
00543 \n\
00544 # The type of the constraint\n\
00545 int32 type\n\
00546 int32 LINK_FRAME=0\n\
00547 int32 HEADER_FRAME=1\n\
00548 \n\
00549 # The desired orientation of the robot link specified as a quaternion\n\
00550 geometry_msgs/Quaternion orientation\n\
00551 \n\
00552 # optional RPY error tolerances specified if \n\
00553 float64 absolute_roll_tolerance\n\
00554 float64 absolute_pitch_tolerance\n\
00555 float64 absolute_yaw_tolerance\n\
00556 \n\
00557 # Constraint weighting factor - a weight for this constraint\n\
00558 float64 weight\n\
00559 \n\
00560 ================================================================================\n\
00561 MSG: arm_navigation_msgs/VisibilityConstraint\n\
00562 # This message contains the definition of a visibility constraint.\n\
00563 Header header\n\
00564 \n\
00565 # The point stamped target that needs to be kept within view of the sensor\n\
00566 geometry_msgs/PointStamped target\n\
00567 \n\
00568 # The local pose of the frame in which visibility is to be maintained\n\
00569 # The frame id should represent the robot link to which the sensor is attached\n\
00570 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\
00571 geometry_msgs/PoseStamped sensor_pose\n\
00572 \n\
00573 # The deviation (in radians) that will be tolerated\n\
00574 # Constraint error will be measured as the solid angle between the \n\
00575 # X axis of the frame defined above and the vector between the origin \n\
00576 # of the frame defined above and the target location\n\
00577 float64 absolute_tolerance\n\
00578 \n\
00579 \n\
00580 ================================================================================\n\
00581 MSG: geometry_msgs/PointStamped\n\
00582 # This represents a Point with reference coordinate frame and timestamp\n\
00583 Header header\n\
00584 Point point\n\
00585 \n\
00586 ================================================================================\n\
00587 MSG: arm_navigation_msgs/OrderedCollisionOperations\n\
00588 # A set of collision operations that will be performed in the order they are specified\n\
00589 CollisionOperation[] collision_operations\n\
00590 ================================================================================\n\
00591 MSG: arm_navigation_msgs/CollisionOperation\n\
00592 # A definition of a collision operation\n\
00593 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\
00594 # between the gripper and all objects in the collision space\n\
00595 \n\
00596 string object1\n\
00597 string object2\n\
00598 string COLLISION_SET_ALL=\"all\"\n\
00599 string COLLISION_SET_OBJECTS=\"objects\"\n\
00600 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\
00601 \n\
00602 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\
00603 float64 penetration_distance\n\
00604 \n\
00605 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\
00606 int32 operation\n\
00607 int32 DISABLE=0\n\
00608 int32 ENABLE=1\n\
00609 \n\
00610 ================================================================================\n\
00611 MSG: arm_navigation_msgs/MoveArmActionResult\n\
00612 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00613 \n\
00614 Header header\n\
00615 actionlib_msgs/GoalStatus status\n\
00616 MoveArmResult result\n\
00617 \n\
00618 ================================================================================\n\
00619 MSG: actionlib_msgs/GoalStatus\n\
00620 GoalID goal_id\n\
00621 uint8 status\n\
00622 uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\
00623 uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\
00624 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\
00625 # and has since completed its execution (Terminal State)\n\
00626 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\
00627 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\
00628 # to some failure (Terminal State)\n\
00629 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\
00630 # because the goal was unattainable or invalid (Terminal State)\n\
00631 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\
00632 # and has not yet completed execution\n\
00633 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\
00634 # but the action server has not yet confirmed that the goal is canceled\n\
00635 uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\
00636 # and was successfully cancelled (Terminal State)\n\
00637 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\
00638 # sent over the wire by an action server\n\
00639 \n\
00640 #Allow for the user to associate a string with GoalStatus for debugging\n\
00641 string text\n\
00642 \n\
00643 \n\
00644 ================================================================================\n\
00645 MSG: arm_navigation_msgs/MoveArmResult\n\
00646 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00647 # An error code reflecting what went wrong\n\
00648 ArmNavigationErrorCodes error_code\n\
00649 \n\
00650 ContactInformation[] contacts\n\
00651 \n\
00652 ================================================================================\n\
00653 MSG: arm_navigation_msgs/ArmNavigationErrorCodes\n\
00654 int32 val\n\
00655 \n\
00656 # overall behavior\n\
00657 int32 PLANNING_FAILED=-1\n\
00658 int32 SUCCESS=1\n\
00659 int32 TIMED_OUT=-2\n\
00660 \n\
00661 # start state errors\n\
00662 int32 START_STATE_IN_COLLISION=-3\n\
00663 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4\n\
00664 \n\
00665 # goal errors\n\
00666 int32 GOAL_IN_COLLISION=-5\n\
00667 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6\n\
00668 \n\
00669 # robot state\n\
00670 int32 INVALID_ROBOT_STATE=-7\n\
00671 int32 INCOMPLETE_ROBOT_STATE=-8\n\
00672 \n\
00673 # planning request errors\n\
00674 int32 INVALID_PLANNER_ID=-9\n\
00675 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10\n\
00676 int32 INVALID_ALLOWED_PLANNING_TIME=-11\n\
00677 int32 INVALID_GROUP_NAME=-12\n\
00678 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13\n\
00679 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14\n\
00680 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15\n\
00681 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16\n\
00682 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17\n\
00683 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18\n\
00684 \n\
00685 # state/trajectory monitor errors\n\
00686 int32 INVALID_TRAJECTORY=-19\n\
00687 int32 INVALID_INDEX=-20\n\
00688 int32 JOINT_LIMITS_VIOLATED=-21\n\
00689 int32 PATH_CONSTRAINTS_VIOLATED=-22\n\
00690 int32 COLLISION_CONSTRAINTS_VIOLATED=-23\n\
00691 int32 GOAL_CONSTRAINTS_VIOLATED=-24\n\
00692 int32 JOINTS_NOT_MOVING=-25\n\
00693 int32 TRAJECTORY_CONTROLLER_FAILED=-26\n\
00694 \n\
00695 # system errors\n\
00696 int32 FRAME_TRANSFORM_FAILURE=-27\n\
00697 int32 COLLISION_CHECKING_UNAVAILABLE=-28\n\
00698 int32 ROBOT_STATE_STALE=-29\n\
00699 int32 SENSOR_INFO_STALE=-30\n\
00700 \n\
00701 # kinematics errors\n\
00702 int32 NO_IK_SOLUTION=-31\n\
00703 int32 INVALID_LINK_NAME=-32\n\
00704 int32 IK_LINK_IN_COLLISION=-33\n\
00705 int32 NO_FK_SOLUTION=-34\n\
00706 int32 KINEMATICS_STATE_IN_COLLISION=-35\n\
00707 \n\
00708 # general errors\n\
00709 int32 INVALID_TIMEOUT=-36\n\
00710 \n\
00711 \n\
00712 ================================================================================\n\
00713 MSG: arm_navigation_msgs/ContactInformation\n\
00714 # Standard ROS header contains information \n\
00715 # about the frame in which this \n\
00716 # contact is specified\n\
00717 Header header\n\
00718 \n\
00719 # Position of the contact point\n\
00720 geometry_msgs/Point position\n\
00721 \n\
00722 # Normal corresponding to the contact point\n\
00723 geometry_msgs/Vector3 normal \n\
00724 \n\
00725 # Depth of contact point\n\
00726 float64 depth\n\
00727 \n\
00728 # Name of the first body that is in contact\n\
00729 # This could be a link or a namespace that represents a body\n\
00730 string contact_body_1\n\
00731 string attached_body_1\n\
00732 uint32 body_type_1\n\
00733 \n\
00734 # Name of the second body that is in contact\n\
00735 # This could be a link or a namespace that represents a body\n\
00736 string contact_body_2\n\
00737 string attached_body_2\n\
00738 uint32 body_type_2\n\
00739 \n\
00740 uint32 ROBOT_LINK=0\n\
00741 uint32 OBJECT=1\n\
00742 uint32 ATTACHED_BODY=2\n\
00743 ================================================================================\n\
00744 MSG: arm_navigation_msgs/MoveArmActionFeedback\n\
00745 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00746 \n\
00747 Header header\n\
00748 actionlib_msgs/GoalStatus status\n\
00749 MoveArmFeedback feedback\n\
00750 \n\
00751 ================================================================================\n\
00752 MSG: arm_navigation_msgs/MoveArmFeedback\n\
00753 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00754 # The internal state that the move arm action currently is in\n\
00755 string state\n\
00756 \n\
00757 # Time to completion - this is a combination of requested planning time and trajectory completion time\n\
00758 duration time_to_completion\n\
00759 \n\
00760 \n\
00761 "; }
00762 public:
00763 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00764
00765 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00766
00767 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00768 {
00769 ros::serialization::OStream stream(write_ptr, 1000000000);
00770 ros::serialization::serialize(stream, action_goal);
00771 ros::serialization::serialize(stream, action_result);
00772 ros::serialization::serialize(stream, action_feedback);
00773 return stream.getData();
00774 }
00775
00776 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00777 {
00778 ros::serialization::IStream stream(read_ptr, 1000000000);
00779 ros::serialization::deserialize(stream, action_goal);
00780 ros::serialization::deserialize(stream, action_result);
00781 ros::serialization::deserialize(stream, action_feedback);
00782 return stream.getData();
00783 }
00784
00785 ROS_DEPRECATED virtual uint32_t serializationLength() const
00786 {
00787 uint32_t size = 0;
00788 size += ros::serialization::serializationLength(action_goal);
00789 size += ros::serialization::serializationLength(action_result);
00790 size += ros::serialization::serializationLength(action_feedback);
00791 return size;
00792 }
00793
00794 typedef boost::shared_ptr< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> > Ptr;
00795 typedef boost::shared_ptr< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> const> ConstPtr;
00796 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00797 };
00798 typedef ::arm_navigation_msgs::MoveArmAction_<std::allocator<void> > MoveArmAction;
00799
00800 typedef boost::shared_ptr< ::arm_navigation_msgs::MoveArmAction> MoveArmActionPtr;
00801 typedef boost::shared_ptr< ::arm_navigation_msgs::MoveArmAction const> MoveArmActionConstPtr;
00802
00803
00804 template<typename ContainerAllocator>
00805 std::ostream& operator<<(std::ostream& s, const ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> & v)
00806 {
00807 ros::message_operations::Printer< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> >::stream(s, "", v);
00808 return s;}
00809
00810 }
00811
00812 namespace ros
00813 {
00814 namespace message_traits
00815 {
00816 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> > : public TrueType {};
00817 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> const> : public TrueType {};
00818 template<class ContainerAllocator>
00819 struct MD5Sum< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> > {
00820 static const char* value()
00821 {
00822 return "6a991a3116cabdf4675f6b122822116b";
00823 }
00824
00825 static const char* value(const ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> &) { return value(); }
00826 static const uint64_t static_value1 = 0x6a991a3116cabdf4ULL;
00827 static const uint64_t static_value2 = 0x675f6b122822116bULL;
00828 };
00829
00830 template<class ContainerAllocator>
00831 struct DataType< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> > {
00832 static const char* value()
00833 {
00834 return "arm_navigation_msgs/MoveArmAction";
00835 }
00836
00837 static const char* value(const ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> &) { return value(); }
00838 };
00839
00840 template<class ContainerAllocator>
00841 struct Definition< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> > {
00842 static const char* value()
00843 {
00844 return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00845 \n\
00846 MoveArmActionGoal action_goal\n\
00847 MoveArmActionResult action_result\n\
00848 MoveArmActionFeedback action_feedback\n\
00849 \n\
00850 ================================================================================\n\
00851 MSG: arm_navigation_msgs/MoveArmActionGoal\n\
00852 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00853 \n\
00854 Header header\n\
00855 actionlib_msgs/GoalID goal_id\n\
00856 MoveArmGoal goal\n\
00857 \n\
00858 ================================================================================\n\
00859 MSG: std_msgs/Header\n\
00860 # Standard metadata for higher-level stamped data types.\n\
00861 # This is generally used to communicate timestamped data \n\
00862 # in a particular coordinate frame.\n\
00863 # \n\
00864 # sequence ID: consecutively increasing ID \n\
00865 uint32 seq\n\
00866 #Two-integer timestamp that is expressed as:\n\
00867 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00868 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00869 # time-handling sugar is provided by the client library\n\
00870 time stamp\n\
00871 #Frame this data is associated with\n\
00872 # 0: no frame\n\
00873 # 1: global frame\n\
00874 string frame_id\n\
00875 \n\
00876 ================================================================================\n\
00877 MSG: actionlib_msgs/GoalID\n\
00878 # The stamp should store the time at which this goal was requested.\n\
00879 # It is used by an action server when it tries to preempt all\n\
00880 # goals that were requested before a certain time\n\
00881 time stamp\n\
00882 \n\
00883 # The id provides a way to associate feedback and\n\
00884 # result message with specific goal requests. The id\n\
00885 # specified must be unique.\n\
00886 string id\n\
00887 \n\
00888 \n\
00889 ================================================================================\n\
00890 MSG: arm_navigation_msgs/MoveArmGoal\n\
00891 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00892 # Service name to call for getting a motion plan\n\
00893 # Move arm will call a service on this service name \n\
00894 # using the MotionPlanRequest specified here\n\
00895 string planner_service_name\n\
00896 \n\
00897 # A planning scene diff\n\
00898 PlanningScene planning_scene_diff\n\
00899 \n\
00900 # A motion planning request\n\
00901 MotionPlanRequest motion_plan_request\n\
00902 \n\
00903 # OPTIONAL: Diff uses ordered collision operations in addition to allowed_collision_matrix\n\
00904 arm_navigation_msgs/OrderedCollisionOperations operations\n\
00905 \n\
00906 # OPTIONAL flag\n\
00907 # Setting this flag to true will allow move_arm to accept plans that do not go all the way to the goal\n\
00908 bool accept_partial_plans\n\
00909 \n\
00910 # OPTIONAL flag\n\
00911 # Setting this flag to true will allow move_arm to accept invalid goals\n\
00912 # This is useful if you are using a planner like CHOMP along with a noisy rapidly changing collision map\n\
00913 # and you would like to plan to a goal near an object.\n\
00914 bool accept_invalid_goals\n\
00915 \n\
00916 # OPTIONAL flag\n\
00917 # Setting this flag to true will disable the call to IK for a pose goal\n\
00918 bool disable_ik\n\
00919 \n\
00920 # OPTIONAL flag\n\
00921 # Setting this flag to true will disable collision monitoring during execution of a trajectory\n\
00922 bool disable_collision_monitoring\n\
00923 \n\
00924 ================================================================================\n\
00925 MSG: arm_navigation_msgs/PlanningScene\n\
00926 #full robot state\n\
00927 arm_navigation_msgs/RobotState robot_state\n\
00928 \n\
00929 #additional frames for duplicating tf\n\
00930 geometry_msgs/TransformStamped[] fixed_frame_transforms\n\
00931 \n\
00932 #full allowed collision matrix\n\
00933 AllowedCollisionMatrix allowed_collision_matrix\n\
00934 \n\
00935 #allowed contacts\n\
00936 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts\n\
00937 \n\
00938 #all link paddings\n\
00939 arm_navigation_msgs/LinkPadding[] link_padding\n\
00940 \n\
00941 #collision objects\n\
00942 arm_navigation_msgs/CollisionObject[] collision_objects\n\
00943 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00944 \n\
00945 #the collision map\n\
00946 arm_navigation_msgs/CollisionMap collision_map\n\
00947 \n\
00948 ================================================================================\n\
00949 MSG: arm_navigation_msgs/RobotState\n\
00950 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00951 sensor_msgs/JointState joint_state\n\
00952 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00953 \n\
00954 ================================================================================\n\
00955 MSG: sensor_msgs/JointState\n\
00956 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00957 #\n\
00958 # The state of each joint (revolute or prismatic) is defined by:\n\
00959 # * the position of the joint (rad or m),\n\
00960 # * the velocity of the joint (rad/s or m/s) and \n\
00961 # * the effort that is applied in the joint (Nm or N).\n\
00962 #\n\
00963 # Each joint is uniquely identified by its name\n\
00964 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00965 # in one message have to be recorded at the same time.\n\
00966 #\n\
00967 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00968 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00969 # effort associated with them, you can leave the effort array empty. \n\
00970 #\n\
00971 # All arrays in this message should have the same size, or be empty.\n\
00972 # This is the only way to uniquely associate the joint name with the correct\n\
00973 # states.\n\
00974 \n\
00975 \n\
00976 Header header\n\
00977 \n\
00978 string[] name\n\
00979 float64[] position\n\
00980 float64[] velocity\n\
00981 float64[] effort\n\
00982 \n\
00983 ================================================================================\n\
00984 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00985 #A representation of a multi-dof joint state\n\
00986 time stamp\n\
00987 string[] joint_names\n\
00988 string[] frame_ids\n\
00989 string[] child_frame_ids\n\
00990 geometry_msgs/Pose[] poses\n\
00991 \n\
00992 ================================================================================\n\
00993 MSG: geometry_msgs/Pose\n\
00994 # A representation of pose in free space, composed of postion and orientation. \n\
00995 Point position\n\
00996 Quaternion orientation\n\
00997 \n\
00998 ================================================================================\n\
00999 MSG: geometry_msgs/Point\n\
01000 # This contains the position of a point in free space\n\
01001 float64 x\n\
01002 float64 y\n\
01003 float64 z\n\
01004 \n\
01005 ================================================================================\n\
01006 MSG: geometry_msgs/Quaternion\n\
01007 # This represents an orientation in free space in quaternion form.\n\
01008 \n\
01009 float64 x\n\
01010 float64 y\n\
01011 float64 z\n\
01012 float64 w\n\
01013 \n\
01014 ================================================================================\n\
01015 MSG: geometry_msgs/TransformStamped\n\
01016 # This expresses a transform from coordinate frame header.frame_id\n\
01017 # to the coordinate frame child_frame_id\n\
01018 #\n\
01019 # This message is mostly used by the \n\
01020 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
01021 # See it's documentation for more information.\n\
01022 \n\
01023 Header header\n\
01024 string child_frame_id # the frame id of the child frame\n\
01025 Transform transform\n\
01026 \n\
01027 ================================================================================\n\
01028 MSG: geometry_msgs/Transform\n\
01029 # This represents the transform between two coordinate frames in free space.\n\
01030 \n\
01031 Vector3 translation\n\
01032 Quaternion rotation\n\
01033 \n\
01034 ================================================================================\n\
01035 MSG: geometry_msgs/Vector3\n\
01036 # This represents a vector in free space. \n\
01037 \n\
01038 float64 x\n\
01039 float64 y\n\
01040 float64 z\n\
01041 ================================================================================\n\
01042 MSG: arm_navigation_msgs/AllowedCollisionMatrix\n\
01043 # the list of link names in the matrix\n\
01044 string[] link_names\n\
01045 \n\
01046 # the individual entries in the allowed collision matrix\n\
01047 # symmetric, with same order as link_names\n\
01048 AllowedCollisionEntry[] entries\n\
01049 \n\
01050 ================================================================================\n\
01051 MSG: arm_navigation_msgs/AllowedCollisionEntry\n\
01052 # whether or not collision checking is enabled\n\
01053 bool[] enabled\n\
01054 \n\
01055 ================================================================================\n\
01056 MSG: arm_navigation_msgs/AllowedContactSpecification\n\
01057 # The names of the regions\n\
01058 string name\n\
01059 \n\
01060 # The shape of the region in the environment\n\
01061 arm_navigation_msgs/Shape shape\n\
01062 \n\
01063 # The pose of the space defining the region\n\
01064 geometry_msgs/PoseStamped pose_stamped\n\
01065 \n\
01066 # The set of links that will be allowed to have penetration contact within this region\n\
01067 string[] link_names\n\
01068 \n\
01069 # The maximum penetration depth allowed for every link\n\
01070 float64 penetration_depth\n\
01071 \n\
01072 ================================================================================\n\
01073 MSG: arm_navigation_msgs/Shape\n\
01074 byte SPHERE=0\n\
01075 byte BOX=1\n\
01076 byte CYLINDER=2\n\
01077 byte MESH=3\n\
01078 \n\
01079 byte type\n\
01080 \n\
01081 \n\
01082 #### define sphere, box, cylinder ####\n\
01083 # the origin of each shape is considered at the shape's center\n\
01084 \n\
01085 # for sphere\n\
01086 # radius := dimensions[0]\n\
01087 \n\
01088 # for cylinder\n\
01089 # radius := dimensions[0]\n\
01090 # length := dimensions[1]\n\
01091 # the length is along the Z axis\n\
01092 \n\
01093 # for box\n\
01094 # size_x := dimensions[0]\n\
01095 # size_y := dimensions[1]\n\
01096 # size_z := dimensions[2]\n\
01097 float64[] dimensions\n\
01098 \n\
01099 \n\
01100 #### define mesh ####\n\
01101 \n\
01102 # list of triangles; triangle k is defined by tre vertices located\n\
01103 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
01104 int32[] triangles\n\
01105 geometry_msgs/Point[] vertices\n\
01106 \n\
01107 ================================================================================\n\
01108 MSG: geometry_msgs/PoseStamped\n\
01109 # A Pose with reference coordinate frame and timestamp\n\
01110 Header header\n\
01111 Pose pose\n\
01112 \n\
01113 ================================================================================\n\
01114 MSG: arm_navigation_msgs/LinkPadding\n\
01115 #name for the link\n\
01116 string link_name\n\
01117 \n\
01118 # padding to apply to the link\n\
01119 float64 padding\n\
01120 \n\
01121 ================================================================================\n\
01122 MSG: arm_navigation_msgs/CollisionObject\n\
01123 # a header, used for interpreting the poses\n\
01124 Header header\n\
01125 \n\
01126 # the id of the object\n\
01127 string id\n\
01128 \n\
01129 # The padding used for filtering points near the object.\n\
01130 # This does not affect collision checking for the object. \n\
01131 # Set to negative to get zero padding.\n\
01132 float32 padding\n\
01133 \n\
01134 #This contains what is to be done with the object\n\
01135 CollisionObjectOperation operation\n\
01136 \n\
01137 #the shapes associated with the object\n\
01138 arm_navigation_msgs/Shape[] shapes\n\
01139 \n\
01140 #the poses associated with the shapes - will be transformed using the header\n\
01141 geometry_msgs/Pose[] poses\n\
01142 \n\
01143 ================================================================================\n\
01144 MSG: arm_navigation_msgs/CollisionObjectOperation\n\
01145 #Puts the object into the environment\n\
01146 #or updates the object if already added\n\
01147 byte ADD=0\n\
01148 \n\
01149 #Removes the object from the environment entirely\n\
01150 byte REMOVE=1\n\
01151 \n\
01152 #Only valid within the context of a CollisionAttachedObject message\n\
01153 #Will be ignored if sent with an CollisionObject message\n\
01154 #Takes an attached object, detaches from the attached link\n\
01155 #But adds back in as regular object\n\
01156 byte DETACH_AND_ADD_AS_OBJECT=2\n\
01157 \n\
01158 #Only valid within the context of a CollisionAttachedObject message\n\
01159 #Will be ignored if sent with an CollisionObject message\n\
01160 #Takes current object in the environment and removes it as\n\
01161 #a regular object\n\
01162 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
01163 \n\
01164 # Byte code for operation\n\
01165 byte operation\n\
01166 \n\
01167 ================================================================================\n\
01168 MSG: arm_navigation_msgs/AttachedCollisionObject\n\
01169 # The CollisionObject will be attached with a fixed joint to this link\n\
01170 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
01171 # is set to REMOVE will remove all attached bodies attached to any object\n\
01172 string link_name\n\
01173 \n\
01174 #Reserved for indicating that all attached objects should be removed\n\
01175 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
01176 \n\
01177 #This contains the actual shapes and poses for the CollisionObject\n\
01178 #to be attached to the link\n\
01179 #If action is remove and no object.id is set, all objects\n\
01180 #attached to the link indicated by link_name will be removed\n\
01181 CollisionObject object\n\
01182 \n\
01183 # The set of links that the attached objects are allowed to touch\n\
01184 # by default - the link_name is included by default\n\
01185 string[] touch_links\n\
01186 \n\
01187 ================================================================================\n\
01188 MSG: arm_navigation_msgs/CollisionMap\n\
01189 #header for interpreting box positions\n\
01190 Header header\n\
01191 \n\
01192 #boxes for use in collision testing\n\
01193 OrientedBoundingBox[] boxes\n\
01194 \n\
01195 ================================================================================\n\
01196 MSG: arm_navigation_msgs/OrientedBoundingBox\n\
01197 #the center of the box\n\
01198 geometry_msgs/Point32 center\n\
01199 \n\
01200 #the extents of the box, assuming the center is at the point\n\
01201 geometry_msgs/Point32 extents\n\
01202 \n\
01203 #the axis of the box\n\
01204 geometry_msgs/Point32 axis\n\
01205 \n\
01206 #the angle of rotation around the axis\n\
01207 float32 angle\n\
01208 \n\
01209 ================================================================================\n\
01210 MSG: geometry_msgs/Point32\n\
01211 # This contains the position of a point in free space(with 32 bits of precision).\n\
01212 # It is recommeded to use Point wherever possible instead of Point32. \n\
01213 # \n\
01214 # This recommendation is to promote interoperability. \n\
01215 #\n\
01216 # This message is designed to take up less space when sending\n\
01217 # lots of points at once, as in the case of a PointCloud. \n\
01218 \n\
01219 float32 x\n\
01220 float32 y\n\
01221 float32 z\n\
01222 ================================================================================\n\
01223 MSG: arm_navigation_msgs/MotionPlanRequest\n\
01224 # This service contains the definition for a request to the motion\n\
01225 # planner and the output it provides\n\
01226 \n\
01227 # Parameters for the workspace that the planner should work inside\n\
01228 arm_navigation_msgs/WorkspaceParameters workspace_parameters\n\
01229 \n\
01230 # Starting state updates. If certain joints should be considered\n\
01231 # at positions other than the current ones, these positions should\n\
01232 # be set here\n\
01233 arm_navigation_msgs/RobotState start_state\n\
01234 \n\
01235 # The goal state for the model to plan for. The goal is achieved\n\
01236 # if all constraints are satisfied\n\
01237 arm_navigation_msgs/Constraints goal_constraints\n\
01238 \n\
01239 # No state at any point along the path in the produced motion plan will violate these constraints\n\
01240 arm_navigation_msgs/Constraints path_constraints\n\
01241 \n\
01242 # The name of the motion planner to use. If no name is specified,\n\
01243 # a default motion planner will be used\n\
01244 string planner_id\n\
01245 \n\
01246 # The name of the group of joints on which this planner is operating\n\
01247 string group_name\n\
01248 \n\
01249 # The number of times this plan is to be computed. Shortest solution\n\
01250 # will be reported.\n\
01251 int32 num_planning_attempts\n\
01252 \n\
01253 # The maximum amount of time the motion planner is allowed to plan for\n\
01254 duration allowed_planning_time\n\
01255 \n\
01256 # An expected path duration (in seconds) along with an expected discretization of the path allows the planner to determine the discretization of the trajectory that it returns\n\
01257 duration expected_path_duration\n\
01258 duration expected_path_dt\n\
01259 \n\
01260 ================================================================================\n\
01261 MSG: arm_navigation_msgs/WorkspaceParameters\n\
01262 # This message contains a set of parameters useful in\n\
01263 # setting up the workspace for planning\n\
01264 arm_navigation_msgs/Shape workspace_region_shape\n\
01265 geometry_msgs/PoseStamped workspace_region_pose\n\
01266 \n\
01267 \n\
01268 ================================================================================\n\
01269 MSG: arm_navigation_msgs/Constraints\n\
01270 # This message contains a list of motion planning constraints.\n\
01271 \n\
01272 arm_navigation_msgs/JointConstraint[] joint_constraints\n\
01273 arm_navigation_msgs/PositionConstraint[] position_constraints\n\
01274 arm_navigation_msgs/OrientationConstraint[] orientation_constraints\n\
01275 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints\n\
01276 \n\
01277 ================================================================================\n\
01278 MSG: arm_navigation_msgs/JointConstraint\n\
01279 # Constrain the position of a joint to be within a certain bound\n\
01280 string joint_name\n\
01281 \n\
01282 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\
01283 float64 position\n\
01284 float64 tolerance_above\n\
01285 float64 tolerance_below\n\
01286 \n\
01287 # A weighting factor for this constraint\n\
01288 float64 weight\n\
01289 ================================================================================\n\
01290 MSG: arm_navigation_msgs/PositionConstraint\n\
01291 # This message contains the definition of a position constraint.\n\
01292 Header header\n\
01293 \n\
01294 # The robot link this constraint refers to\n\
01295 string link_name\n\
01296 \n\
01297 # The offset (in the link frame) for the target point on the link we are planning for\n\
01298 geometry_msgs/Point target_point_offset\n\
01299 \n\
01300 # The nominal/target position for the point we are planning for\n\
01301 geometry_msgs/Point position\n\
01302 \n\
01303 # The shape of the bounded region that constrains the position of the end-effector\n\
01304 # This region is always centered at the position defined above\n\
01305 arm_navigation_msgs/Shape constraint_region_shape\n\
01306 \n\
01307 # The orientation of the bounded region that constrains the position of the end-effector. \n\
01308 # This allows the specification of non-axis aligned constraints\n\
01309 geometry_msgs/Quaternion constraint_region_orientation\n\
01310 \n\
01311 # Constraint weighting factor - a weight for this constraint\n\
01312 float64 weight\n\
01313 \n\
01314 ================================================================================\n\
01315 MSG: arm_navigation_msgs/OrientationConstraint\n\
01316 # This message contains the definition of an orientation constraint.\n\
01317 Header header\n\
01318 \n\
01319 # The robot link this constraint refers to\n\
01320 string link_name\n\
01321 \n\
01322 # The type of the constraint\n\
01323 int32 type\n\
01324 int32 LINK_FRAME=0\n\
01325 int32 HEADER_FRAME=1\n\
01326 \n\
01327 # The desired orientation of the robot link specified as a quaternion\n\
01328 geometry_msgs/Quaternion orientation\n\
01329 \n\
01330 # optional RPY error tolerances specified if \n\
01331 float64 absolute_roll_tolerance\n\
01332 float64 absolute_pitch_tolerance\n\
01333 float64 absolute_yaw_tolerance\n\
01334 \n\
01335 # Constraint weighting factor - a weight for this constraint\n\
01336 float64 weight\n\
01337 \n\
01338 ================================================================================\n\
01339 MSG: arm_navigation_msgs/VisibilityConstraint\n\
01340 # This message contains the definition of a visibility constraint.\n\
01341 Header header\n\
01342 \n\
01343 # The point stamped target that needs to be kept within view of the sensor\n\
01344 geometry_msgs/PointStamped target\n\
01345 \n\
01346 # The local pose of the frame in which visibility is to be maintained\n\
01347 # The frame id should represent the robot link to which the sensor is attached\n\
01348 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\
01349 geometry_msgs/PoseStamped sensor_pose\n\
01350 \n\
01351 # The deviation (in radians) that will be tolerated\n\
01352 # Constraint error will be measured as the solid angle between the \n\
01353 # X axis of the frame defined above and the vector between the origin \n\
01354 # of the frame defined above and the target location\n\
01355 float64 absolute_tolerance\n\
01356 \n\
01357 \n\
01358 ================================================================================\n\
01359 MSG: geometry_msgs/PointStamped\n\
01360 # This represents a Point with reference coordinate frame and timestamp\n\
01361 Header header\n\
01362 Point point\n\
01363 \n\
01364 ================================================================================\n\
01365 MSG: arm_navigation_msgs/OrderedCollisionOperations\n\
01366 # A set of collision operations that will be performed in the order they are specified\n\
01367 CollisionOperation[] collision_operations\n\
01368 ================================================================================\n\
01369 MSG: arm_navigation_msgs/CollisionOperation\n\
01370 # A definition of a collision operation\n\
01371 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\
01372 # between the gripper and all objects in the collision space\n\
01373 \n\
01374 string object1\n\
01375 string object2\n\
01376 string COLLISION_SET_ALL=\"all\"\n\
01377 string COLLISION_SET_OBJECTS=\"objects\"\n\
01378 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\
01379 \n\
01380 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\
01381 float64 penetration_distance\n\
01382 \n\
01383 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\
01384 int32 operation\n\
01385 int32 DISABLE=0\n\
01386 int32 ENABLE=1\n\
01387 \n\
01388 ================================================================================\n\
01389 MSG: arm_navigation_msgs/MoveArmActionResult\n\
01390 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
01391 \n\
01392 Header header\n\
01393 actionlib_msgs/GoalStatus status\n\
01394 MoveArmResult result\n\
01395 \n\
01396 ================================================================================\n\
01397 MSG: actionlib_msgs/GoalStatus\n\
01398 GoalID goal_id\n\
01399 uint8 status\n\
01400 uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\
01401 uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\
01402 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\
01403 # and has since completed its execution (Terminal State)\n\
01404 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\
01405 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\
01406 # to some failure (Terminal State)\n\
01407 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\
01408 # because the goal was unattainable or invalid (Terminal State)\n\
01409 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\
01410 # and has not yet completed execution\n\
01411 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\
01412 # but the action server has not yet confirmed that the goal is canceled\n\
01413 uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\
01414 # and was successfully cancelled (Terminal State)\n\
01415 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\
01416 # sent over the wire by an action server\n\
01417 \n\
01418 #Allow for the user to associate a string with GoalStatus for debugging\n\
01419 string text\n\
01420 \n\
01421 \n\
01422 ================================================================================\n\
01423 MSG: arm_navigation_msgs/MoveArmResult\n\
01424 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
01425 # An error code reflecting what went wrong\n\
01426 ArmNavigationErrorCodes error_code\n\
01427 \n\
01428 ContactInformation[] contacts\n\
01429 \n\
01430 ================================================================================\n\
01431 MSG: arm_navigation_msgs/ArmNavigationErrorCodes\n\
01432 int32 val\n\
01433 \n\
01434 # overall behavior\n\
01435 int32 PLANNING_FAILED=-1\n\
01436 int32 SUCCESS=1\n\
01437 int32 TIMED_OUT=-2\n\
01438 \n\
01439 # start state errors\n\
01440 int32 START_STATE_IN_COLLISION=-3\n\
01441 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4\n\
01442 \n\
01443 # goal errors\n\
01444 int32 GOAL_IN_COLLISION=-5\n\
01445 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6\n\
01446 \n\
01447 # robot state\n\
01448 int32 INVALID_ROBOT_STATE=-7\n\
01449 int32 INCOMPLETE_ROBOT_STATE=-8\n\
01450 \n\
01451 # planning request errors\n\
01452 int32 INVALID_PLANNER_ID=-9\n\
01453 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10\n\
01454 int32 INVALID_ALLOWED_PLANNING_TIME=-11\n\
01455 int32 INVALID_GROUP_NAME=-12\n\
01456 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13\n\
01457 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14\n\
01458 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15\n\
01459 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16\n\
01460 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17\n\
01461 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18\n\
01462 \n\
01463 # state/trajectory monitor errors\n\
01464 int32 INVALID_TRAJECTORY=-19\n\
01465 int32 INVALID_INDEX=-20\n\
01466 int32 JOINT_LIMITS_VIOLATED=-21\n\
01467 int32 PATH_CONSTRAINTS_VIOLATED=-22\n\
01468 int32 COLLISION_CONSTRAINTS_VIOLATED=-23\n\
01469 int32 GOAL_CONSTRAINTS_VIOLATED=-24\n\
01470 int32 JOINTS_NOT_MOVING=-25\n\
01471 int32 TRAJECTORY_CONTROLLER_FAILED=-26\n\
01472 \n\
01473 # system errors\n\
01474 int32 FRAME_TRANSFORM_FAILURE=-27\n\
01475 int32 COLLISION_CHECKING_UNAVAILABLE=-28\n\
01476 int32 ROBOT_STATE_STALE=-29\n\
01477 int32 SENSOR_INFO_STALE=-30\n\
01478 \n\
01479 # kinematics errors\n\
01480 int32 NO_IK_SOLUTION=-31\n\
01481 int32 INVALID_LINK_NAME=-32\n\
01482 int32 IK_LINK_IN_COLLISION=-33\n\
01483 int32 NO_FK_SOLUTION=-34\n\
01484 int32 KINEMATICS_STATE_IN_COLLISION=-35\n\
01485 \n\
01486 # general errors\n\
01487 int32 INVALID_TIMEOUT=-36\n\
01488 \n\
01489 \n\
01490 ================================================================================\n\
01491 MSG: arm_navigation_msgs/ContactInformation\n\
01492 # Standard ROS header contains information \n\
01493 # about the frame in which this \n\
01494 # contact is specified\n\
01495 Header header\n\
01496 \n\
01497 # Position of the contact point\n\
01498 geometry_msgs/Point position\n\
01499 \n\
01500 # Normal corresponding to the contact point\n\
01501 geometry_msgs/Vector3 normal \n\
01502 \n\
01503 # Depth of contact point\n\
01504 float64 depth\n\
01505 \n\
01506 # Name of the first body that is in contact\n\
01507 # This could be a link or a namespace that represents a body\n\
01508 string contact_body_1\n\
01509 string attached_body_1\n\
01510 uint32 body_type_1\n\
01511 \n\
01512 # Name of the second body that is in contact\n\
01513 # This could be a link or a namespace that represents a body\n\
01514 string contact_body_2\n\
01515 string attached_body_2\n\
01516 uint32 body_type_2\n\
01517 \n\
01518 uint32 ROBOT_LINK=0\n\
01519 uint32 OBJECT=1\n\
01520 uint32 ATTACHED_BODY=2\n\
01521 ================================================================================\n\
01522 MSG: arm_navigation_msgs/MoveArmActionFeedback\n\
01523 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
01524 \n\
01525 Header header\n\
01526 actionlib_msgs/GoalStatus status\n\
01527 MoveArmFeedback feedback\n\
01528 \n\
01529 ================================================================================\n\
01530 MSG: arm_navigation_msgs/MoveArmFeedback\n\
01531 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
01532 # The internal state that the move arm action currently is in\n\
01533 string state\n\
01534 \n\
01535 # Time to completion - this is a combination of requested planning time and trajectory completion time\n\
01536 duration time_to_completion\n\
01537 \n\
01538 \n\
01539 ";
01540 }
01541
01542 static const char* value(const ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> &) { return value(); }
01543 };
01544
01545 }
01546 }
01547
01548 namespace ros
01549 {
01550 namespace serialization
01551 {
01552
01553 template<class ContainerAllocator> struct Serializer< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> >
01554 {
01555 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
01556 {
01557 stream.next(m.action_goal);
01558 stream.next(m.action_result);
01559 stream.next(m.action_feedback);
01560 }
01561
01562 ROS_DECLARE_ALLINONE_SERIALIZER;
01563 };
01564 }
01565 }
01566
01567 namespace ros
01568 {
01569 namespace message_operations
01570 {
01571
01572 template<class ContainerAllocator>
01573 struct Printer< ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> >
01574 {
01575 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::arm_navigation_msgs::MoveArmAction_<ContainerAllocator> & v)
01576 {
01577 s << indent << "action_goal: ";
01578 s << std::endl;
01579 Printer< ::arm_navigation_msgs::MoveArmActionGoal_<ContainerAllocator> >::stream(s, indent + " ", v.action_goal);
01580 s << indent << "action_result: ";
01581 s << std::endl;
01582 Printer< ::arm_navigation_msgs::MoveArmActionResult_<ContainerAllocator> >::stream(s, indent + " ", v.action_result);
01583 s << indent << "action_feedback: ";
01584 s << std::endl;
01585 Printer< ::arm_navigation_msgs::MoveArmActionFeedback_<ContainerAllocator> >::stream(s, indent + " ", v.action_feedback);
01586 }
01587 };
01588
01589
01590 }
01591 }
01592
01593 #endif // ARM_NAVIGATION_MSGS_MESSAGE_MOVEARMACTION_H
01594