00001
00002 #ifndef ARM_NAVIGATION_MSGS_SERVICE_GETPLANNINGSCENE_H
00003 #define ARM_NAVIGATION_MSGS_SERVICE_GETPLANNINGSCENE_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 "ros/service_traits.h"
00018
00019 #include "arm_navigation_msgs/PlanningScene.h"
00020 #include "arm_navigation_msgs/OrderedCollisionOperations.h"
00021
00022
00023 #include "arm_navigation_msgs/PlanningScene.h"
00024
00025 namespace arm_navigation_msgs
00026 {
00027 template <class ContainerAllocator>
00028 struct GetPlanningSceneRequest_ {
00029 typedef GetPlanningSceneRequest_<ContainerAllocator> Type;
00030
00031 GetPlanningSceneRequest_()
00032 : planning_scene_diff()
00033 , operations()
00034 {
00035 }
00036
00037 GetPlanningSceneRequest_(const ContainerAllocator& _alloc)
00038 : planning_scene_diff(_alloc)
00039 , operations(_alloc)
00040 {
00041 }
00042
00043 typedef ::arm_navigation_msgs::PlanningScene_<ContainerAllocator> _planning_scene_diff_type;
00044 ::arm_navigation_msgs::PlanningScene_<ContainerAllocator> planning_scene_diff;
00045
00046 typedef ::arm_navigation_msgs::OrderedCollisionOperations_<ContainerAllocator> _operations_type;
00047 ::arm_navigation_msgs::OrderedCollisionOperations_<ContainerAllocator> operations;
00048
00049
00050 private:
00051 static const char* __s_getDataType_() { return "arm_navigation_msgs/GetPlanningSceneRequest"; }
00052 public:
00053 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00054
00055 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00056
00057 private:
00058 static const char* __s_getMD5Sum_() { return "67ad55e9bed9c8f21dfb4b9b1ca8df7d"; }
00059 public:
00060 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00061
00062 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00063
00064 private:
00065 static const char* __s_getServerMD5Sum_() { return "0a7b07718e4e5c5d35740c730509a151"; }
00066 public:
00067 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00068
00069 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00070
00071 private:
00072 static const char* __s_getMessageDefinition_() { return "\n\
00073 \n\
00074 \n\
00075 PlanningScene planning_scene_diff\n\
00076 \n\
00077 \n\
00078 arm_navigation_msgs/OrderedCollisionOperations operations\n\
00079 \n\
00080 ================================================================================\n\
00081 MSG: arm_navigation_msgs/PlanningScene\n\
00082 #full robot state\n\
00083 arm_navigation_msgs/RobotState robot_state\n\
00084 \n\
00085 #additional frames for duplicating tf\n\
00086 geometry_msgs/TransformStamped[] fixed_frame_transforms\n\
00087 \n\
00088 #full allowed collision matrix\n\
00089 AllowedCollisionMatrix allowed_collision_matrix\n\
00090 \n\
00091 #allowed contacts\n\
00092 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts\n\
00093 \n\
00094 #all link paddings\n\
00095 arm_navigation_msgs/LinkPadding[] link_padding\n\
00096 \n\
00097 #collision objects\n\
00098 arm_navigation_msgs/CollisionObject[] collision_objects\n\
00099 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00100 \n\
00101 #the collision map\n\
00102 arm_navigation_msgs/CollisionMap collision_map\n\
00103 \n\
00104 ================================================================================\n\
00105 MSG: arm_navigation_msgs/RobotState\n\
00106 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00107 sensor_msgs/JointState joint_state\n\
00108 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00109 \n\
00110 ================================================================================\n\
00111 MSG: sensor_msgs/JointState\n\
00112 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00113 #\n\
00114 # The state of each joint (revolute or prismatic) is defined by:\n\
00115 # * the position of the joint (rad or m),\n\
00116 # * the velocity of the joint (rad/s or m/s) and \n\
00117 # * the effort that is applied in the joint (Nm or N).\n\
00118 #\n\
00119 # Each joint is uniquely identified by its name\n\
00120 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00121 # in one message have to be recorded at the same time.\n\
00122 #\n\
00123 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00124 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00125 # effort associated with them, you can leave the effort array empty. \n\
00126 #\n\
00127 # All arrays in this message should have the same size, or be empty.\n\
00128 # This is the only way to uniquely associate the joint name with the correct\n\
00129 # states.\n\
00130 \n\
00131 \n\
00132 Header header\n\
00133 \n\
00134 string[] name\n\
00135 float64[] position\n\
00136 float64[] velocity\n\
00137 float64[] effort\n\
00138 \n\
00139 ================================================================================\n\
00140 MSG: std_msgs/Header\n\
00141 # Standard metadata for higher-level stamped data types.\n\
00142 # This is generally used to communicate timestamped data \n\
00143 # in a particular coordinate frame.\n\
00144 # \n\
00145 # sequence ID: consecutively increasing ID \n\
00146 uint32 seq\n\
00147 #Two-integer timestamp that is expressed as:\n\
00148 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00149 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00150 # time-handling sugar is provided by the client library\n\
00151 time stamp\n\
00152 #Frame this data is associated with\n\
00153 # 0: no frame\n\
00154 # 1: global frame\n\
00155 string frame_id\n\
00156 \n\
00157 ================================================================================\n\
00158 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00159 #A representation of a multi-dof joint state\n\
00160 time stamp\n\
00161 string[] joint_names\n\
00162 string[] frame_ids\n\
00163 string[] child_frame_ids\n\
00164 geometry_msgs/Pose[] poses\n\
00165 \n\
00166 ================================================================================\n\
00167 MSG: geometry_msgs/Pose\n\
00168 # A representation of pose in free space, composed of postion and orientation. \n\
00169 Point position\n\
00170 Quaternion orientation\n\
00171 \n\
00172 ================================================================================\n\
00173 MSG: geometry_msgs/Point\n\
00174 # This contains the position of a point in free space\n\
00175 float64 x\n\
00176 float64 y\n\
00177 float64 z\n\
00178 \n\
00179 ================================================================================\n\
00180 MSG: geometry_msgs/Quaternion\n\
00181 # This represents an orientation in free space in quaternion form.\n\
00182 \n\
00183 float64 x\n\
00184 float64 y\n\
00185 float64 z\n\
00186 float64 w\n\
00187 \n\
00188 ================================================================================\n\
00189 MSG: geometry_msgs/TransformStamped\n\
00190 # This expresses a transform from coordinate frame header.frame_id\n\
00191 # to the coordinate frame child_frame_id\n\
00192 #\n\
00193 # This message is mostly used by the \n\
00194 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
00195 # See it's documentation for more information.\n\
00196 \n\
00197 Header header\n\
00198 string child_frame_id # the frame id of the child frame\n\
00199 Transform transform\n\
00200 \n\
00201 ================================================================================\n\
00202 MSG: geometry_msgs/Transform\n\
00203 # This represents the transform between two coordinate frames in free space.\n\
00204 \n\
00205 Vector3 translation\n\
00206 Quaternion rotation\n\
00207 \n\
00208 ================================================================================\n\
00209 MSG: geometry_msgs/Vector3\n\
00210 # This represents a vector in free space. \n\
00211 \n\
00212 float64 x\n\
00213 float64 y\n\
00214 float64 z\n\
00215 ================================================================================\n\
00216 MSG: arm_navigation_msgs/AllowedCollisionMatrix\n\
00217 # the list of link names in the matrix\n\
00218 string[] link_names\n\
00219 \n\
00220 # the individual entries in the allowed collision matrix\n\
00221 # symmetric, with same order as link_names\n\
00222 AllowedCollisionEntry[] entries\n\
00223 \n\
00224 ================================================================================\n\
00225 MSG: arm_navigation_msgs/AllowedCollisionEntry\n\
00226 # whether or not collision checking is enabled\n\
00227 bool[] enabled\n\
00228 \n\
00229 ================================================================================\n\
00230 MSG: arm_navigation_msgs/AllowedContactSpecification\n\
00231 # The names of the regions\n\
00232 string name\n\
00233 \n\
00234 # The shape of the region in the environment\n\
00235 arm_navigation_msgs/Shape shape\n\
00236 \n\
00237 # The pose of the space defining the region\n\
00238 geometry_msgs/PoseStamped pose_stamped\n\
00239 \n\
00240 # The set of links that will be allowed to have penetration contact within this region\n\
00241 string[] link_names\n\
00242 \n\
00243 # The maximum penetration depth allowed for every link\n\
00244 float64 penetration_depth\n\
00245 \n\
00246 ================================================================================\n\
00247 MSG: arm_navigation_msgs/Shape\n\
00248 byte SPHERE=0\n\
00249 byte BOX=1\n\
00250 byte CYLINDER=2\n\
00251 byte MESH=3\n\
00252 \n\
00253 byte type\n\
00254 \n\
00255 \n\
00256 #### define sphere, box, cylinder ####\n\
00257 # the origin of each shape is considered at the shape's center\n\
00258 \n\
00259 # for sphere\n\
00260 # radius := dimensions[0]\n\
00261 \n\
00262 # for cylinder\n\
00263 # radius := dimensions[0]\n\
00264 # length := dimensions[1]\n\
00265 # the length is along the Z axis\n\
00266 \n\
00267 # for box\n\
00268 # size_x := dimensions[0]\n\
00269 # size_y := dimensions[1]\n\
00270 # size_z := dimensions[2]\n\
00271 float64[] dimensions\n\
00272 \n\
00273 \n\
00274 #### define mesh ####\n\
00275 \n\
00276 # list of triangles; triangle k is defined by tre vertices located\n\
00277 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00278 int32[] triangles\n\
00279 geometry_msgs/Point[] vertices\n\
00280 \n\
00281 ================================================================================\n\
00282 MSG: geometry_msgs/PoseStamped\n\
00283 # A Pose with reference coordinate frame and timestamp\n\
00284 Header header\n\
00285 Pose pose\n\
00286 \n\
00287 ================================================================================\n\
00288 MSG: arm_navigation_msgs/LinkPadding\n\
00289 #name for the link\n\
00290 string link_name\n\
00291 \n\
00292 # padding to apply to the link\n\
00293 float64 padding\n\
00294 \n\
00295 ================================================================================\n\
00296 MSG: arm_navigation_msgs/CollisionObject\n\
00297 # a header, used for interpreting the poses\n\
00298 Header header\n\
00299 \n\
00300 # the id of the object\n\
00301 string id\n\
00302 \n\
00303 # The padding used for filtering points near the object.\n\
00304 # This does not affect collision checking for the object. \n\
00305 # Set to negative to get zero padding.\n\
00306 float32 padding\n\
00307 \n\
00308 #This contains what is to be done with the object\n\
00309 CollisionObjectOperation operation\n\
00310 \n\
00311 #the shapes associated with the object\n\
00312 arm_navigation_msgs/Shape[] shapes\n\
00313 \n\
00314 #the poses associated with the shapes - will be transformed using the header\n\
00315 geometry_msgs/Pose[] poses\n\
00316 \n\
00317 ================================================================================\n\
00318 MSG: arm_navigation_msgs/CollisionObjectOperation\n\
00319 #Puts the object into the environment\n\
00320 #or updates the object if already added\n\
00321 byte ADD=0\n\
00322 \n\
00323 #Removes the object from the environment entirely\n\
00324 byte REMOVE=1\n\
00325 \n\
00326 #Only valid within the context of a CollisionAttachedObject message\n\
00327 #Will be ignored if sent with an CollisionObject message\n\
00328 #Takes an attached object, detaches from the attached link\n\
00329 #But adds back in as regular object\n\
00330 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00331 \n\
00332 #Only valid within the context of a CollisionAttachedObject message\n\
00333 #Will be ignored if sent with an CollisionObject message\n\
00334 #Takes current object in the environment and removes it as\n\
00335 #a regular object\n\
00336 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00337 \n\
00338 # Byte code for operation\n\
00339 byte operation\n\
00340 \n\
00341 ================================================================================\n\
00342 MSG: arm_navigation_msgs/AttachedCollisionObject\n\
00343 # The CollisionObject will be attached with a fixed joint to this link\n\
00344 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
00345 # is set to REMOVE will remove all attached bodies attached to any object\n\
00346 string link_name\n\
00347 \n\
00348 #Reserved for indicating that all attached objects should be removed\n\
00349 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
00350 \n\
00351 #This contains the actual shapes and poses for the CollisionObject\n\
00352 #to be attached to the link\n\
00353 #If action is remove and no object.id is set, all objects\n\
00354 #attached to the link indicated by link_name will be removed\n\
00355 CollisionObject object\n\
00356 \n\
00357 # The set of links that the attached objects are allowed to touch\n\
00358 # by default - the link_name is included by default\n\
00359 string[] touch_links\n\
00360 \n\
00361 ================================================================================\n\
00362 MSG: arm_navigation_msgs/CollisionMap\n\
00363 #header for interpreting box positions\n\
00364 Header header\n\
00365 \n\
00366 #boxes for use in collision testing\n\
00367 OrientedBoundingBox[] boxes\n\
00368 \n\
00369 ================================================================================\n\
00370 MSG: arm_navigation_msgs/OrientedBoundingBox\n\
00371 #the center of the box\n\
00372 geometry_msgs/Point32 center\n\
00373 \n\
00374 #the extents of the box, assuming the center is at the point\n\
00375 geometry_msgs/Point32 extents\n\
00376 \n\
00377 #the axis of the box\n\
00378 geometry_msgs/Point32 axis\n\
00379 \n\
00380 #the angle of rotation around the axis\n\
00381 float32 angle\n\
00382 \n\
00383 ================================================================================\n\
00384 MSG: geometry_msgs/Point32\n\
00385 # This contains the position of a point in free space(with 32 bits of precision).\n\
00386 # It is recommeded to use Point wherever possible instead of Point32. \n\
00387 # \n\
00388 # This recommendation is to promote interoperability. \n\
00389 #\n\
00390 # This message is designed to take up less space when sending\n\
00391 # lots of points at once, as in the case of a PointCloud. \n\
00392 \n\
00393 float32 x\n\
00394 float32 y\n\
00395 float32 z\n\
00396 ================================================================================\n\
00397 MSG: arm_navigation_msgs/OrderedCollisionOperations\n\
00398 # A set of collision operations that will be performed in the order they are specified\n\
00399 CollisionOperation[] collision_operations\n\
00400 ================================================================================\n\
00401 MSG: arm_navigation_msgs/CollisionOperation\n\
00402 # A definition of a collision operation\n\
00403 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\
00404 # between the gripper and all objects in the collision space\n\
00405 \n\
00406 string object1\n\
00407 string object2\n\
00408 string COLLISION_SET_ALL=\"all\"\n\
00409 string COLLISION_SET_OBJECTS=\"objects\"\n\
00410 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\
00411 \n\
00412 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\
00413 float64 penetration_distance\n\
00414 \n\
00415 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\
00416 int32 operation\n\
00417 int32 DISABLE=0\n\
00418 int32 ENABLE=1\n\
00419 \n\
00420 "; }
00421 public:
00422 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00423
00424 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00425
00426 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00427 {
00428 ros::serialization::OStream stream(write_ptr, 1000000000);
00429 ros::serialization::serialize(stream, planning_scene_diff);
00430 ros::serialization::serialize(stream, operations);
00431 return stream.getData();
00432 }
00433
00434 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00435 {
00436 ros::serialization::IStream stream(read_ptr, 1000000000);
00437 ros::serialization::deserialize(stream, planning_scene_diff);
00438 ros::serialization::deserialize(stream, operations);
00439 return stream.getData();
00440 }
00441
00442 ROS_DEPRECATED virtual uint32_t serializationLength() const
00443 {
00444 uint32_t size = 0;
00445 size += ros::serialization::serializationLength(planning_scene_diff);
00446 size += ros::serialization::serializationLength(operations);
00447 return size;
00448 }
00449
00450 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > Ptr;
00451 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> const> ConstPtr;
00452 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00453 };
00454 typedef ::arm_navigation_msgs::GetPlanningSceneRequest_<std::allocator<void> > GetPlanningSceneRequest;
00455
00456 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneRequest> GetPlanningSceneRequestPtr;
00457 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneRequest const> GetPlanningSceneRequestConstPtr;
00458
00459
00460 template <class ContainerAllocator>
00461 struct GetPlanningSceneResponse_ {
00462 typedef GetPlanningSceneResponse_<ContainerAllocator> Type;
00463
00464 GetPlanningSceneResponse_()
00465 : planning_scene()
00466 {
00467 }
00468
00469 GetPlanningSceneResponse_(const ContainerAllocator& _alloc)
00470 : planning_scene(_alloc)
00471 {
00472 }
00473
00474 typedef ::arm_navigation_msgs::PlanningScene_<ContainerAllocator> _planning_scene_type;
00475 ::arm_navigation_msgs::PlanningScene_<ContainerAllocator> planning_scene;
00476
00477
00478 private:
00479 static const char* __s_getDataType_() { return "arm_navigation_msgs/GetPlanningSceneResponse"; }
00480 public:
00481 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00482
00483 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00484
00485 private:
00486 static const char* __s_getMD5Sum_() { return "285525c9abe002fbafa99af84a14b4cb"; }
00487 public:
00488 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00489
00490 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00491
00492 private:
00493 static const char* __s_getServerMD5Sum_() { return "0a7b07718e4e5c5d35740c730509a151"; }
00494 public:
00495 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00496
00497 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00498
00499 private:
00500 static const char* __s_getMessageDefinition_() { return "\n\
00501 \n\
00502 PlanningScene planning_scene\n\
00503 \n\
00504 \n\
00505 \n\
00506 \n\
00507 \n\
00508 ================================================================================\n\
00509 MSG: arm_navigation_msgs/PlanningScene\n\
00510 #full robot state\n\
00511 arm_navigation_msgs/RobotState robot_state\n\
00512 \n\
00513 #additional frames for duplicating tf\n\
00514 geometry_msgs/TransformStamped[] fixed_frame_transforms\n\
00515 \n\
00516 #full allowed collision matrix\n\
00517 AllowedCollisionMatrix allowed_collision_matrix\n\
00518 \n\
00519 #allowed contacts\n\
00520 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts\n\
00521 \n\
00522 #all link paddings\n\
00523 arm_navigation_msgs/LinkPadding[] link_padding\n\
00524 \n\
00525 #collision objects\n\
00526 arm_navigation_msgs/CollisionObject[] collision_objects\n\
00527 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00528 \n\
00529 #the collision map\n\
00530 arm_navigation_msgs/CollisionMap collision_map\n\
00531 \n\
00532 ================================================================================\n\
00533 MSG: arm_navigation_msgs/RobotState\n\
00534 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00535 sensor_msgs/JointState joint_state\n\
00536 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00537 \n\
00538 ================================================================================\n\
00539 MSG: sensor_msgs/JointState\n\
00540 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00541 #\n\
00542 # The state of each joint (revolute or prismatic) is defined by:\n\
00543 # * the position of the joint (rad or m),\n\
00544 # * the velocity of the joint (rad/s or m/s) and \n\
00545 # * the effort that is applied in the joint (Nm or N).\n\
00546 #\n\
00547 # Each joint is uniquely identified by its name\n\
00548 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00549 # in one message have to be recorded at the same time.\n\
00550 #\n\
00551 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00552 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00553 # effort associated with them, you can leave the effort array empty. \n\
00554 #\n\
00555 # All arrays in this message should have the same size, or be empty.\n\
00556 # This is the only way to uniquely associate the joint name with the correct\n\
00557 # states.\n\
00558 \n\
00559 \n\
00560 Header header\n\
00561 \n\
00562 string[] name\n\
00563 float64[] position\n\
00564 float64[] velocity\n\
00565 float64[] effort\n\
00566 \n\
00567 ================================================================================\n\
00568 MSG: std_msgs/Header\n\
00569 # Standard metadata for higher-level stamped data types.\n\
00570 # This is generally used to communicate timestamped data \n\
00571 # in a particular coordinate frame.\n\
00572 # \n\
00573 # sequence ID: consecutively increasing ID \n\
00574 uint32 seq\n\
00575 #Two-integer timestamp that is expressed as:\n\
00576 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00577 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00578 # time-handling sugar is provided by the client library\n\
00579 time stamp\n\
00580 #Frame this data is associated with\n\
00581 # 0: no frame\n\
00582 # 1: global frame\n\
00583 string frame_id\n\
00584 \n\
00585 ================================================================================\n\
00586 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00587 #A representation of a multi-dof joint state\n\
00588 time stamp\n\
00589 string[] joint_names\n\
00590 string[] frame_ids\n\
00591 string[] child_frame_ids\n\
00592 geometry_msgs/Pose[] poses\n\
00593 \n\
00594 ================================================================================\n\
00595 MSG: geometry_msgs/Pose\n\
00596 # A representation of pose in free space, composed of postion and orientation. \n\
00597 Point position\n\
00598 Quaternion orientation\n\
00599 \n\
00600 ================================================================================\n\
00601 MSG: geometry_msgs/Point\n\
00602 # This contains the position of a point in free space\n\
00603 float64 x\n\
00604 float64 y\n\
00605 float64 z\n\
00606 \n\
00607 ================================================================================\n\
00608 MSG: geometry_msgs/Quaternion\n\
00609 # This represents an orientation in free space in quaternion form.\n\
00610 \n\
00611 float64 x\n\
00612 float64 y\n\
00613 float64 z\n\
00614 float64 w\n\
00615 \n\
00616 ================================================================================\n\
00617 MSG: geometry_msgs/TransformStamped\n\
00618 # This expresses a transform from coordinate frame header.frame_id\n\
00619 # to the coordinate frame child_frame_id\n\
00620 #\n\
00621 # This message is mostly used by the \n\
00622 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
00623 # See it's documentation for more information.\n\
00624 \n\
00625 Header header\n\
00626 string child_frame_id # the frame id of the child frame\n\
00627 Transform transform\n\
00628 \n\
00629 ================================================================================\n\
00630 MSG: geometry_msgs/Transform\n\
00631 # This represents the transform between two coordinate frames in free space.\n\
00632 \n\
00633 Vector3 translation\n\
00634 Quaternion rotation\n\
00635 \n\
00636 ================================================================================\n\
00637 MSG: geometry_msgs/Vector3\n\
00638 # This represents a vector in free space. \n\
00639 \n\
00640 float64 x\n\
00641 float64 y\n\
00642 float64 z\n\
00643 ================================================================================\n\
00644 MSG: arm_navigation_msgs/AllowedCollisionMatrix\n\
00645 # the list of link names in the matrix\n\
00646 string[] link_names\n\
00647 \n\
00648 # the individual entries in the allowed collision matrix\n\
00649 # symmetric, with same order as link_names\n\
00650 AllowedCollisionEntry[] entries\n\
00651 \n\
00652 ================================================================================\n\
00653 MSG: arm_navigation_msgs/AllowedCollisionEntry\n\
00654 # whether or not collision checking is enabled\n\
00655 bool[] enabled\n\
00656 \n\
00657 ================================================================================\n\
00658 MSG: arm_navigation_msgs/AllowedContactSpecification\n\
00659 # The names of the regions\n\
00660 string name\n\
00661 \n\
00662 # The shape of the region in the environment\n\
00663 arm_navigation_msgs/Shape shape\n\
00664 \n\
00665 # The pose of the space defining the region\n\
00666 geometry_msgs/PoseStamped pose_stamped\n\
00667 \n\
00668 # The set of links that will be allowed to have penetration contact within this region\n\
00669 string[] link_names\n\
00670 \n\
00671 # The maximum penetration depth allowed for every link\n\
00672 float64 penetration_depth\n\
00673 \n\
00674 ================================================================================\n\
00675 MSG: arm_navigation_msgs/Shape\n\
00676 byte SPHERE=0\n\
00677 byte BOX=1\n\
00678 byte CYLINDER=2\n\
00679 byte MESH=3\n\
00680 \n\
00681 byte type\n\
00682 \n\
00683 \n\
00684 #### define sphere, box, cylinder ####\n\
00685 # the origin of each shape is considered at the shape's center\n\
00686 \n\
00687 # for sphere\n\
00688 # radius := dimensions[0]\n\
00689 \n\
00690 # for cylinder\n\
00691 # radius := dimensions[0]\n\
00692 # length := dimensions[1]\n\
00693 # the length is along the Z axis\n\
00694 \n\
00695 # for box\n\
00696 # size_x := dimensions[0]\n\
00697 # size_y := dimensions[1]\n\
00698 # size_z := dimensions[2]\n\
00699 float64[] dimensions\n\
00700 \n\
00701 \n\
00702 #### define mesh ####\n\
00703 \n\
00704 # list of triangles; triangle k is defined by tre vertices located\n\
00705 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00706 int32[] triangles\n\
00707 geometry_msgs/Point[] vertices\n\
00708 \n\
00709 ================================================================================\n\
00710 MSG: geometry_msgs/PoseStamped\n\
00711 # A Pose with reference coordinate frame and timestamp\n\
00712 Header header\n\
00713 Pose pose\n\
00714 \n\
00715 ================================================================================\n\
00716 MSG: arm_navigation_msgs/LinkPadding\n\
00717 #name for the link\n\
00718 string link_name\n\
00719 \n\
00720 # padding to apply to the link\n\
00721 float64 padding\n\
00722 \n\
00723 ================================================================================\n\
00724 MSG: arm_navigation_msgs/CollisionObject\n\
00725 # a header, used for interpreting the poses\n\
00726 Header header\n\
00727 \n\
00728 # the id of the object\n\
00729 string id\n\
00730 \n\
00731 # The padding used for filtering points near the object.\n\
00732 # This does not affect collision checking for the object. \n\
00733 # Set to negative to get zero padding.\n\
00734 float32 padding\n\
00735 \n\
00736 #This contains what is to be done with the object\n\
00737 CollisionObjectOperation operation\n\
00738 \n\
00739 #the shapes associated with the object\n\
00740 arm_navigation_msgs/Shape[] shapes\n\
00741 \n\
00742 #the poses associated with the shapes - will be transformed using the header\n\
00743 geometry_msgs/Pose[] poses\n\
00744 \n\
00745 ================================================================================\n\
00746 MSG: arm_navigation_msgs/CollisionObjectOperation\n\
00747 #Puts the object into the environment\n\
00748 #or updates the object if already added\n\
00749 byte ADD=0\n\
00750 \n\
00751 #Removes the object from the environment entirely\n\
00752 byte REMOVE=1\n\
00753 \n\
00754 #Only valid within the context of a CollisionAttachedObject message\n\
00755 #Will be ignored if sent with an CollisionObject message\n\
00756 #Takes an attached object, detaches from the attached link\n\
00757 #But adds back in as regular object\n\
00758 byte DETACH_AND_ADD_AS_OBJECT=2\n\
00759 \n\
00760 #Only valid within the context of a CollisionAttachedObject message\n\
00761 #Will be ignored if sent with an CollisionObject message\n\
00762 #Takes current object in the environment and removes it as\n\
00763 #a regular object\n\
00764 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
00765 \n\
00766 # Byte code for operation\n\
00767 byte operation\n\
00768 \n\
00769 ================================================================================\n\
00770 MSG: arm_navigation_msgs/AttachedCollisionObject\n\
00771 # The CollisionObject will be attached with a fixed joint to this link\n\
00772 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
00773 # is set to REMOVE will remove all attached bodies attached to any object\n\
00774 string link_name\n\
00775 \n\
00776 #Reserved for indicating that all attached objects should be removed\n\
00777 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
00778 \n\
00779 #This contains the actual shapes and poses for the CollisionObject\n\
00780 #to be attached to the link\n\
00781 #If action is remove and no object.id is set, all objects\n\
00782 #attached to the link indicated by link_name will be removed\n\
00783 CollisionObject object\n\
00784 \n\
00785 # The set of links that the attached objects are allowed to touch\n\
00786 # by default - the link_name is included by default\n\
00787 string[] touch_links\n\
00788 \n\
00789 ================================================================================\n\
00790 MSG: arm_navigation_msgs/CollisionMap\n\
00791 #header for interpreting box positions\n\
00792 Header header\n\
00793 \n\
00794 #boxes for use in collision testing\n\
00795 OrientedBoundingBox[] boxes\n\
00796 \n\
00797 ================================================================================\n\
00798 MSG: arm_navigation_msgs/OrientedBoundingBox\n\
00799 #the center of the box\n\
00800 geometry_msgs/Point32 center\n\
00801 \n\
00802 #the extents of the box, assuming the center is at the point\n\
00803 geometry_msgs/Point32 extents\n\
00804 \n\
00805 #the axis of the box\n\
00806 geometry_msgs/Point32 axis\n\
00807 \n\
00808 #the angle of rotation around the axis\n\
00809 float32 angle\n\
00810 \n\
00811 ================================================================================\n\
00812 MSG: geometry_msgs/Point32\n\
00813 # This contains the position of a point in free space(with 32 bits of precision).\n\
00814 # It is recommeded to use Point wherever possible instead of Point32. \n\
00815 # \n\
00816 # This recommendation is to promote interoperability. \n\
00817 #\n\
00818 # This message is designed to take up less space when sending\n\
00819 # lots of points at once, as in the case of a PointCloud. \n\
00820 \n\
00821 float32 x\n\
00822 float32 y\n\
00823 float32 z\n\
00824 "; }
00825 public:
00826 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00827
00828 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00829
00830 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00831 {
00832 ros::serialization::OStream stream(write_ptr, 1000000000);
00833 ros::serialization::serialize(stream, planning_scene);
00834 return stream.getData();
00835 }
00836
00837 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00838 {
00839 ros::serialization::IStream stream(read_ptr, 1000000000);
00840 ros::serialization::deserialize(stream, planning_scene);
00841 return stream.getData();
00842 }
00843
00844 ROS_DEPRECATED virtual uint32_t serializationLength() const
00845 {
00846 uint32_t size = 0;
00847 size += ros::serialization::serializationLength(planning_scene);
00848 return size;
00849 }
00850
00851 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > Ptr;
00852 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> const> ConstPtr;
00853 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00854 };
00855 typedef ::arm_navigation_msgs::GetPlanningSceneResponse_<std::allocator<void> > GetPlanningSceneResponse;
00856
00857 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneResponse> GetPlanningSceneResponsePtr;
00858 typedef boost::shared_ptr< ::arm_navigation_msgs::GetPlanningSceneResponse const> GetPlanningSceneResponseConstPtr;
00859
00860 struct GetPlanningScene
00861 {
00862
00863 typedef GetPlanningSceneRequest Request;
00864 typedef GetPlanningSceneResponse Response;
00865 Request request;
00866 Response response;
00867
00868 typedef Request RequestType;
00869 typedef Response ResponseType;
00870 };
00871 }
00872
00873 namespace ros
00874 {
00875 namespace message_traits
00876 {
00877 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > : public TrueType {};
00878 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> const> : public TrueType {};
00879 template<class ContainerAllocator>
00880 struct MD5Sum< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > {
00881 static const char* value()
00882 {
00883 return "67ad55e9bed9c8f21dfb4b9b1ca8df7d";
00884 }
00885
00886 static const char* value(const ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> &) { return value(); }
00887 static const uint64_t static_value1 = 0x67ad55e9bed9c8f2ULL;
00888 static const uint64_t static_value2 = 0x1dfb4b9b1ca8df7dULL;
00889 };
00890
00891 template<class ContainerAllocator>
00892 struct DataType< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > {
00893 static const char* value()
00894 {
00895 return "arm_navigation_msgs/GetPlanningSceneRequest";
00896 }
00897
00898 static const char* value(const ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> &) { return value(); }
00899 };
00900
00901 template<class ContainerAllocator>
00902 struct Definition< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > {
00903 static const char* value()
00904 {
00905 return "\n\
00906 \n\
00907 \n\
00908 PlanningScene planning_scene_diff\n\
00909 \n\
00910 \n\
00911 arm_navigation_msgs/OrderedCollisionOperations operations\n\
00912 \n\
00913 ================================================================================\n\
00914 MSG: arm_navigation_msgs/PlanningScene\n\
00915 #full robot state\n\
00916 arm_navigation_msgs/RobotState robot_state\n\
00917 \n\
00918 #additional frames for duplicating tf\n\
00919 geometry_msgs/TransformStamped[] fixed_frame_transforms\n\
00920 \n\
00921 #full allowed collision matrix\n\
00922 AllowedCollisionMatrix allowed_collision_matrix\n\
00923 \n\
00924 #allowed contacts\n\
00925 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts\n\
00926 \n\
00927 #all link paddings\n\
00928 arm_navigation_msgs/LinkPadding[] link_padding\n\
00929 \n\
00930 #collision objects\n\
00931 arm_navigation_msgs/CollisionObject[] collision_objects\n\
00932 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects\n\
00933 \n\
00934 #the collision map\n\
00935 arm_navigation_msgs/CollisionMap collision_map\n\
00936 \n\
00937 ================================================================================\n\
00938 MSG: arm_navigation_msgs/RobotState\n\
00939 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00940 sensor_msgs/JointState joint_state\n\
00941 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00942 \n\
00943 ================================================================================\n\
00944 MSG: sensor_msgs/JointState\n\
00945 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00946 #\n\
00947 # The state of each joint (revolute or prismatic) is defined by:\n\
00948 # * the position of the joint (rad or m),\n\
00949 # * the velocity of the joint (rad/s or m/s) and \n\
00950 # * the effort that is applied in the joint (Nm or N).\n\
00951 #\n\
00952 # Each joint is uniquely identified by its name\n\
00953 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00954 # in one message have to be recorded at the same time.\n\
00955 #\n\
00956 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00957 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00958 # effort associated with them, you can leave the effort array empty. \n\
00959 #\n\
00960 # All arrays in this message should have the same size, or be empty.\n\
00961 # This is the only way to uniquely associate the joint name with the correct\n\
00962 # states.\n\
00963 \n\
00964 \n\
00965 Header header\n\
00966 \n\
00967 string[] name\n\
00968 float64[] position\n\
00969 float64[] velocity\n\
00970 float64[] effort\n\
00971 \n\
00972 ================================================================================\n\
00973 MSG: std_msgs/Header\n\
00974 # Standard metadata for higher-level stamped data types.\n\
00975 # This is generally used to communicate timestamped data \n\
00976 # in a particular coordinate frame.\n\
00977 # \n\
00978 # sequence ID: consecutively increasing ID \n\
00979 uint32 seq\n\
00980 #Two-integer timestamp that is expressed as:\n\
00981 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00982 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00983 # time-handling sugar is provided by the client library\n\
00984 time stamp\n\
00985 #Frame this data is associated with\n\
00986 # 0: no frame\n\
00987 # 1: global frame\n\
00988 string frame_id\n\
00989 \n\
00990 ================================================================================\n\
00991 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00992 #A representation of a multi-dof joint state\n\
00993 time stamp\n\
00994 string[] joint_names\n\
00995 string[] frame_ids\n\
00996 string[] child_frame_ids\n\
00997 geometry_msgs/Pose[] poses\n\
00998 \n\
00999 ================================================================================\n\
01000 MSG: geometry_msgs/Pose\n\
01001 # A representation of pose in free space, composed of postion and orientation. \n\
01002 Point position\n\
01003 Quaternion orientation\n\
01004 \n\
01005 ================================================================================\n\
01006 MSG: geometry_msgs/Point\n\
01007 # This contains the position of a point in free space\n\
01008 float64 x\n\
01009 float64 y\n\
01010 float64 z\n\
01011 \n\
01012 ================================================================================\n\
01013 MSG: geometry_msgs/Quaternion\n\
01014 # This represents an orientation in free space in quaternion form.\n\
01015 \n\
01016 float64 x\n\
01017 float64 y\n\
01018 float64 z\n\
01019 float64 w\n\
01020 \n\
01021 ================================================================================\n\
01022 MSG: geometry_msgs/TransformStamped\n\
01023 # This expresses a transform from coordinate frame header.frame_id\n\
01024 # to the coordinate frame child_frame_id\n\
01025 #\n\
01026 # This message is mostly used by the \n\
01027 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
01028 # See it's documentation for more information.\n\
01029 \n\
01030 Header header\n\
01031 string child_frame_id # the frame id of the child frame\n\
01032 Transform transform\n\
01033 \n\
01034 ================================================================================\n\
01035 MSG: geometry_msgs/Transform\n\
01036 # This represents the transform between two coordinate frames in free space.\n\
01037 \n\
01038 Vector3 translation\n\
01039 Quaternion rotation\n\
01040 \n\
01041 ================================================================================\n\
01042 MSG: geometry_msgs/Vector3\n\
01043 # This represents a vector in free space. \n\
01044 \n\
01045 float64 x\n\
01046 float64 y\n\
01047 float64 z\n\
01048 ================================================================================\n\
01049 MSG: arm_navigation_msgs/AllowedCollisionMatrix\n\
01050 # the list of link names in the matrix\n\
01051 string[] link_names\n\
01052 \n\
01053 # the individual entries in the allowed collision matrix\n\
01054 # symmetric, with same order as link_names\n\
01055 AllowedCollisionEntry[] entries\n\
01056 \n\
01057 ================================================================================\n\
01058 MSG: arm_navigation_msgs/AllowedCollisionEntry\n\
01059 # whether or not collision checking is enabled\n\
01060 bool[] enabled\n\
01061 \n\
01062 ================================================================================\n\
01063 MSG: arm_navigation_msgs/AllowedContactSpecification\n\
01064 # The names of the regions\n\
01065 string name\n\
01066 \n\
01067 # The shape of the region in the environment\n\
01068 arm_navigation_msgs/Shape shape\n\
01069 \n\
01070 # The pose of the space defining the region\n\
01071 geometry_msgs/PoseStamped pose_stamped\n\
01072 \n\
01073 # The set of links that will be allowed to have penetration contact within this region\n\
01074 string[] link_names\n\
01075 \n\
01076 # The maximum penetration depth allowed for every link\n\
01077 float64 penetration_depth\n\
01078 \n\
01079 ================================================================================\n\
01080 MSG: arm_navigation_msgs/Shape\n\
01081 byte SPHERE=0\n\
01082 byte BOX=1\n\
01083 byte CYLINDER=2\n\
01084 byte MESH=3\n\
01085 \n\
01086 byte type\n\
01087 \n\
01088 \n\
01089 #### define sphere, box, cylinder ####\n\
01090 # the origin of each shape is considered at the shape's center\n\
01091 \n\
01092 # for sphere\n\
01093 # radius := dimensions[0]\n\
01094 \n\
01095 # for cylinder\n\
01096 # radius := dimensions[0]\n\
01097 # length := dimensions[1]\n\
01098 # the length is along the Z axis\n\
01099 \n\
01100 # for box\n\
01101 # size_x := dimensions[0]\n\
01102 # size_y := dimensions[1]\n\
01103 # size_z := dimensions[2]\n\
01104 float64[] dimensions\n\
01105 \n\
01106 \n\
01107 #### define mesh ####\n\
01108 \n\
01109 # list of triangles; triangle k is defined by tre vertices located\n\
01110 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
01111 int32[] triangles\n\
01112 geometry_msgs/Point[] vertices\n\
01113 \n\
01114 ================================================================================\n\
01115 MSG: geometry_msgs/PoseStamped\n\
01116 # A Pose with reference coordinate frame and timestamp\n\
01117 Header header\n\
01118 Pose pose\n\
01119 \n\
01120 ================================================================================\n\
01121 MSG: arm_navigation_msgs/LinkPadding\n\
01122 #name for the link\n\
01123 string link_name\n\
01124 \n\
01125 # padding to apply to the link\n\
01126 float64 padding\n\
01127 \n\
01128 ================================================================================\n\
01129 MSG: arm_navigation_msgs/CollisionObject\n\
01130 # a header, used for interpreting the poses\n\
01131 Header header\n\
01132 \n\
01133 # the id of the object\n\
01134 string id\n\
01135 \n\
01136 # The padding used for filtering points near the object.\n\
01137 # This does not affect collision checking for the object. \n\
01138 # Set to negative to get zero padding.\n\
01139 float32 padding\n\
01140 \n\
01141 #This contains what is to be done with the object\n\
01142 CollisionObjectOperation operation\n\
01143 \n\
01144 #the shapes associated with the object\n\
01145 arm_navigation_msgs/Shape[] shapes\n\
01146 \n\
01147 #the poses associated with the shapes - will be transformed using the header\n\
01148 geometry_msgs/Pose[] poses\n\
01149 \n\
01150 ================================================================================\n\
01151 MSG: arm_navigation_msgs/CollisionObjectOperation\n\
01152 #Puts the object into the environment\n\
01153 #or updates the object if already added\n\
01154 byte ADD=0\n\
01155 \n\
01156 #Removes the object from the environment entirely\n\
01157 byte REMOVE=1\n\
01158 \n\
01159 #Only valid within the context of a CollisionAttachedObject message\n\
01160 #Will be ignored if sent with an CollisionObject message\n\
01161 #Takes an attached object, detaches from the attached link\n\
01162 #But adds back in as regular object\n\
01163 byte DETACH_AND_ADD_AS_OBJECT=2\n\
01164 \n\
01165 #Only valid within the context of a CollisionAttachedObject message\n\
01166 #Will be ignored if sent with an CollisionObject message\n\
01167 #Takes current object in the environment and removes it as\n\
01168 #a regular object\n\
01169 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
01170 \n\
01171 # Byte code for operation\n\
01172 byte operation\n\
01173 \n\
01174 ================================================================================\n\
01175 MSG: arm_navigation_msgs/AttachedCollisionObject\n\
01176 # The CollisionObject will be attached with a fixed joint to this link\n\
01177 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
01178 # is set to REMOVE will remove all attached bodies attached to any object\n\
01179 string link_name\n\
01180 \n\
01181 #Reserved for indicating that all attached objects should be removed\n\
01182 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
01183 \n\
01184 #This contains the actual shapes and poses for the CollisionObject\n\
01185 #to be attached to the link\n\
01186 #If action is remove and no object.id is set, all objects\n\
01187 #attached to the link indicated by link_name will be removed\n\
01188 CollisionObject object\n\
01189 \n\
01190 # The set of links that the attached objects are allowed to touch\n\
01191 # by default - the link_name is included by default\n\
01192 string[] touch_links\n\
01193 \n\
01194 ================================================================================\n\
01195 MSG: arm_navigation_msgs/CollisionMap\n\
01196 #header for interpreting box positions\n\
01197 Header header\n\
01198 \n\
01199 #boxes for use in collision testing\n\
01200 OrientedBoundingBox[] boxes\n\
01201 \n\
01202 ================================================================================\n\
01203 MSG: arm_navigation_msgs/OrientedBoundingBox\n\
01204 #the center of the box\n\
01205 geometry_msgs/Point32 center\n\
01206 \n\
01207 #the extents of the box, assuming the center is at the point\n\
01208 geometry_msgs/Point32 extents\n\
01209 \n\
01210 #the axis of the box\n\
01211 geometry_msgs/Point32 axis\n\
01212 \n\
01213 #the angle of rotation around the axis\n\
01214 float32 angle\n\
01215 \n\
01216 ================================================================================\n\
01217 MSG: geometry_msgs/Point32\n\
01218 # This contains the position of a point in free space(with 32 bits of precision).\n\
01219 # It is recommeded to use Point wherever possible instead of Point32. \n\
01220 # \n\
01221 # This recommendation is to promote interoperability. \n\
01222 #\n\
01223 # This message is designed to take up less space when sending\n\
01224 # lots of points at once, as in the case of a PointCloud. \n\
01225 \n\
01226 float32 x\n\
01227 float32 y\n\
01228 float32 z\n\
01229 ================================================================================\n\
01230 MSG: arm_navigation_msgs/OrderedCollisionOperations\n\
01231 # A set of collision operations that will be performed in the order they are specified\n\
01232 CollisionOperation[] collision_operations\n\
01233 ================================================================================\n\
01234 MSG: arm_navigation_msgs/CollisionOperation\n\
01235 # A definition of a collision operation\n\
01236 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\
01237 # between the gripper and all objects in the collision space\n\
01238 \n\
01239 string object1\n\
01240 string object2\n\
01241 string COLLISION_SET_ALL=\"all\"\n\
01242 string COLLISION_SET_OBJECTS=\"objects\"\n\
01243 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\
01244 \n\
01245 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\
01246 float64 penetration_distance\n\
01247 \n\
01248 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\
01249 int32 operation\n\
01250 int32 DISABLE=0\n\
01251 int32 ENABLE=1\n\
01252 \n\
01253 ";
01254 }
01255
01256 static const char* value(const ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> &) { return value(); }
01257 };
01258
01259 }
01260 }
01261
01262
01263 namespace ros
01264 {
01265 namespace message_traits
01266 {
01267 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > : public TrueType {};
01268 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> const> : public TrueType {};
01269 template<class ContainerAllocator>
01270 struct MD5Sum< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > {
01271 static const char* value()
01272 {
01273 return "285525c9abe002fbafa99af84a14b4cb";
01274 }
01275
01276 static const char* value(const ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> &) { return value(); }
01277 static const uint64_t static_value1 = 0x285525c9abe002fbULL;
01278 static const uint64_t static_value2 = 0xafa99af84a14b4cbULL;
01279 };
01280
01281 template<class ContainerAllocator>
01282 struct DataType< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > {
01283 static const char* value()
01284 {
01285 return "arm_navigation_msgs/GetPlanningSceneResponse";
01286 }
01287
01288 static const char* value(const ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> &) { return value(); }
01289 };
01290
01291 template<class ContainerAllocator>
01292 struct Definition< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > {
01293 static const char* value()
01294 {
01295 return "\n\
01296 \n\
01297 PlanningScene planning_scene\n\
01298 \n\
01299 \n\
01300 \n\
01301 \n\
01302 \n\
01303 ================================================================================\n\
01304 MSG: arm_navigation_msgs/PlanningScene\n\
01305 #full robot state\n\
01306 arm_navigation_msgs/RobotState robot_state\n\
01307 \n\
01308 #additional frames for duplicating tf\n\
01309 geometry_msgs/TransformStamped[] fixed_frame_transforms\n\
01310 \n\
01311 #full allowed collision matrix\n\
01312 AllowedCollisionMatrix allowed_collision_matrix\n\
01313 \n\
01314 #allowed contacts\n\
01315 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts\n\
01316 \n\
01317 #all link paddings\n\
01318 arm_navigation_msgs/LinkPadding[] link_padding\n\
01319 \n\
01320 #collision objects\n\
01321 arm_navigation_msgs/CollisionObject[] collision_objects\n\
01322 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects\n\
01323 \n\
01324 #the collision map\n\
01325 arm_navigation_msgs/CollisionMap collision_map\n\
01326 \n\
01327 ================================================================================\n\
01328 MSG: arm_navigation_msgs/RobotState\n\
01329 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
01330 sensor_msgs/JointState joint_state\n\
01331 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
01332 \n\
01333 ================================================================================\n\
01334 MSG: sensor_msgs/JointState\n\
01335 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
01336 #\n\
01337 # The state of each joint (revolute or prismatic) is defined by:\n\
01338 # * the position of the joint (rad or m),\n\
01339 # * the velocity of the joint (rad/s or m/s) and \n\
01340 # * the effort that is applied in the joint (Nm or N).\n\
01341 #\n\
01342 # Each joint is uniquely identified by its name\n\
01343 # The header specifies the time at which the joint states were recorded. All the joint states\n\
01344 # in one message have to be recorded at the same time.\n\
01345 #\n\
01346 # This message consists of a multiple arrays, one for each part of the joint state. \n\
01347 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
01348 # effort associated with them, you can leave the effort array empty. \n\
01349 #\n\
01350 # All arrays in this message should have the same size, or be empty.\n\
01351 # This is the only way to uniquely associate the joint name with the correct\n\
01352 # states.\n\
01353 \n\
01354 \n\
01355 Header header\n\
01356 \n\
01357 string[] name\n\
01358 float64[] position\n\
01359 float64[] velocity\n\
01360 float64[] effort\n\
01361 \n\
01362 ================================================================================\n\
01363 MSG: std_msgs/Header\n\
01364 # Standard metadata for higher-level stamped data types.\n\
01365 # This is generally used to communicate timestamped data \n\
01366 # in a particular coordinate frame.\n\
01367 # \n\
01368 # sequence ID: consecutively increasing ID \n\
01369 uint32 seq\n\
01370 #Two-integer timestamp that is expressed as:\n\
01371 # * stamp.secs: seconds (stamp_secs) since epoch\n\
01372 # * stamp.nsecs: nanoseconds since stamp_secs\n\
01373 # time-handling sugar is provided by the client library\n\
01374 time stamp\n\
01375 #Frame this data is associated with\n\
01376 # 0: no frame\n\
01377 # 1: global frame\n\
01378 string frame_id\n\
01379 \n\
01380 ================================================================================\n\
01381 MSG: arm_navigation_msgs/MultiDOFJointState\n\
01382 #A representation of a multi-dof joint state\n\
01383 time stamp\n\
01384 string[] joint_names\n\
01385 string[] frame_ids\n\
01386 string[] child_frame_ids\n\
01387 geometry_msgs/Pose[] poses\n\
01388 \n\
01389 ================================================================================\n\
01390 MSG: geometry_msgs/Pose\n\
01391 # A representation of pose in free space, composed of postion and orientation. \n\
01392 Point position\n\
01393 Quaternion orientation\n\
01394 \n\
01395 ================================================================================\n\
01396 MSG: geometry_msgs/Point\n\
01397 # This contains the position of a point in free space\n\
01398 float64 x\n\
01399 float64 y\n\
01400 float64 z\n\
01401 \n\
01402 ================================================================================\n\
01403 MSG: geometry_msgs/Quaternion\n\
01404 # This represents an orientation in free space in quaternion form.\n\
01405 \n\
01406 float64 x\n\
01407 float64 y\n\
01408 float64 z\n\
01409 float64 w\n\
01410 \n\
01411 ================================================================================\n\
01412 MSG: geometry_msgs/TransformStamped\n\
01413 # This expresses a transform from coordinate frame header.frame_id\n\
01414 # to the coordinate frame child_frame_id\n\
01415 #\n\
01416 # This message is mostly used by the \n\
01417 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
01418 # See it's documentation for more information.\n\
01419 \n\
01420 Header header\n\
01421 string child_frame_id # the frame id of the child frame\n\
01422 Transform transform\n\
01423 \n\
01424 ================================================================================\n\
01425 MSG: geometry_msgs/Transform\n\
01426 # This represents the transform between two coordinate frames in free space.\n\
01427 \n\
01428 Vector3 translation\n\
01429 Quaternion rotation\n\
01430 \n\
01431 ================================================================================\n\
01432 MSG: geometry_msgs/Vector3\n\
01433 # This represents a vector in free space. \n\
01434 \n\
01435 float64 x\n\
01436 float64 y\n\
01437 float64 z\n\
01438 ================================================================================\n\
01439 MSG: arm_navigation_msgs/AllowedCollisionMatrix\n\
01440 # the list of link names in the matrix\n\
01441 string[] link_names\n\
01442 \n\
01443 # the individual entries in the allowed collision matrix\n\
01444 # symmetric, with same order as link_names\n\
01445 AllowedCollisionEntry[] entries\n\
01446 \n\
01447 ================================================================================\n\
01448 MSG: arm_navigation_msgs/AllowedCollisionEntry\n\
01449 # whether or not collision checking is enabled\n\
01450 bool[] enabled\n\
01451 \n\
01452 ================================================================================\n\
01453 MSG: arm_navigation_msgs/AllowedContactSpecification\n\
01454 # The names of the regions\n\
01455 string name\n\
01456 \n\
01457 # The shape of the region in the environment\n\
01458 arm_navigation_msgs/Shape shape\n\
01459 \n\
01460 # The pose of the space defining the region\n\
01461 geometry_msgs/PoseStamped pose_stamped\n\
01462 \n\
01463 # The set of links that will be allowed to have penetration contact within this region\n\
01464 string[] link_names\n\
01465 \n\
01466 # The maximum penetration depth allowed for every link\n\
01467 float64 penetration_depth\n\
01468 \n\
01469 ================================================================================\n\
01470 MSG: arm_navigation_msgs/Shape\n\
01471 byte SPHERE=0\n\
01472 byte BOX=1\n\
01473 byte CYLINDER=2\n\
01474 byte MESH=3\n\
01475 \n\
01476 byte type\n\
01477 \n\
01478 \n\
01479 #### define sphere, box, cylinder ####\n\
01480 # the origin of each shape is considered at the shape's center\n\
01481 \n\
01482 # for sphere\n\
01483 # radius := dimensions[0]\n\
01484 \n\
01485 # for cylinder\n\
01486 # radius := dimensions[0]\n\
01487 # length := dimensions[1]\n\
01488 # the length is along the Z axis\n\
01489 \n\
01490 # for box\n\
01491 # size_x := dimensions[0]\n\
01492 # size_y := dimensions[1]\n\
01493 # size_z := dimensions[2]\n\
01494 float64[] dimensions\n\
01495 \n\
01496 \n\
01497 #### define mesh ####\n\
01498 \n\
01499 # list of triangles; triangle k is defined by tre vertices located\n\
01500 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
01501 int32[] triangles\n\
01502 geometry_msgs/Point[] vertices\n\
01503 \n\
01504 ================================================================================\n\
01505 MSG: geometry_msgs/PoseStamped\n\
01506 # A Pose with reference coordinate frame and timestamp\n\
01507 Header header\n\
01508 Pose pose\n\
01509 \n\
01510 ================================================================================\n\
01511 MSG: arm_navigation_msgs/LinkPadding\n\
01512 #name for the link\n\
01513 string link_name\n\
01514 \n\
01515 # padding to apply to the link\n\
01516 float64 padding\n\
01517 \n\
01518 ================================================================================\n\
01519 MSG: arm_navigation_msgs/CollisionObject\n\
01520 # a header, used for interpreting the poses\n\
01521 Header header\n\
01522 \n\
01523 # the id of the object\n\
01524 string id\n\
01525 \n\
01526 # The padding used for filtering points near the object.\n\
01527 # This does not affect collision checking for the object. \n\
01528 # Set to negative to get zero padding.\n\
01529 float32 padding\n\
01530 \n\
01531 #This contains what is to be done with the object\n\
01532 CollisionObjectOperation operation\n\
01533 \n\
01534 #the shapes associated with the object\n\
01535 arm_navigation_msgs/Shape[] shapes\n\
01536 \n\
01537 #the poses associated with the shapes - will be transformed using the header\n\
01538 geometry_msgs/Pose[] poses\n\
01539 \n\
01540 ================================================================================\n\
01541 MSG: arm_navigation_msgs/CollisionObjectOperation\n\
01542 #Puts the object into the environment\n\
01543 #or updates the object if already added\n\
01544 byte ADD=0\n\
01545 \n\
01546 #Removes the object from the environment entirely\n\
01547 byte REMOVE=1\n\
01548 \n\
01549 #Only valid within the context of a CollisionAttachedObject message\n\
01550 #Will be ignored if sent with an CollisionObject message\n\
01551 #Takes an attached object, detaches from the attached link\n\
01552 #But adds back in as regular object\n\
01553 byte DETACH_AND_ADD_AS_OBJECT=2\n\
01554 \n\
01555 #Only valid within the context of a CollisionAttachedObject message\n\
01556 #Will be ignored if sent with an CollisionObject message\n\
01557 #Takes current object in the environment and removes it as\n\
01558 #a regular object\n\
01559 byte ATTACH_AND_REMOVE_AS_OBJECT=3\n\
01560 \n\
01561 # Byte code for operation\n\
01562 byte operation\n\
01563 \n\
01564 ================================================================================\n\
01565 MSG: arm_navigation_msgs/AttachedCollisionObject\n\
01566 # The CollisionObject will be attached with a fixed joint to this link\n\
01567 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation \n\
01568 # is set to REMOVE will remove all attached bodies attached to any object\n\
01569 string link_name\n\
01570 \n\
01571 #Reserved for indicating that all attached objects should be removed\n\
01572 string REMOVE_ALL_ATTACHED_OBJECTS = \"all\"\n\
01573 \n\
01574 #This contains the actual shapes and poses for the CollisionObject\n\
01575 #to be attached to the link\n\
01576 #If action is remove and no object.id is set, all objects\n\
01577 #attached to the link indicated by link_name will be removed\n\
01578 CollisionObject object\n\
01579 \n\
01580 # The set of links that the attached objects are allowed to touch\n\
01581 # by default - the link_name is included by default\n\
01582 string[] touch_links\n\
01583 \n\
01584 ================================================================================\n\
01585 MSG: arm_navigation_msgs/CollisionMap\n\
01586 #header for interpreting box positions\n\
01587 Header header\n\
01588 \n\
01589 #boxes for use in collision testing\n\
01590 OrientedBoundingBox[] boxes\n\
01591 \n\
01592 ================================================================================\n\
01593 MSG: arm_navigation_msgs/OrientedBoundingBox\n\
01594 #the center of the box\n\
01595 geometry_msgs/Point32 center\n\
01596 \n\
01597 #the extents of the box, assuming the center is at the point\n\
01598 geometry_msgs/Point32 extents\n\
01599 \n\
01600 #the axis of the box\n\
01601 geometry_msgs/Point32 axis\n\
01602 \n\
01603 #the angle of rotation around the axis\n\
01604 float32 angle\n\
01605 \n\
01606 ================================================================================\n\
01607 MSG: geometry_msgs/Point32\n\
01608 # This contains the position of a point in free space(with 32 bits of precision).\n\
01609 # It is recommeded to use Point wherever possible instead of Point32. \n\
01610 # \n\
01611 # This recommendation is to promote interoperability. \n\
01612 #\n\
01613 # This message is designed to take up less space when sending\n\
01614 # lots of points at once, as in the case of a PointCloud. \n\
01615 \n\
01616 float32 x\n\
01617 float32 y\n\
01618 float32 z\n\
01619 ";
01620 }
01621
01622 static const char* value(const ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> &) { return value(); }
01623 };
01624
01625 }
01626 }
01627
01628 namespace ros
01629 {
01630 namespace serialization
01631 {
01632
01633 template<class ContainerAllocator> struct Serializer< ::arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> >
01634 {
01635 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
01636 {
01637 stream.next(m.planning_scene_diff);
01638 stream.next(m.operations);
01639 }
01640
01641 ROS_DECLARE_ALLINONE_SERIALIZER;
01642 };
01643 }
01644 }
01645
01646
01647 namespace ros
01648 {
01649 namespace serialization
01650 {
01651
01652 template<class ContainerAllocator> struct Serializer< ::arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> >
01653 {
01654 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
01655 {
01656 stream.next(m.planning_scene);
01657 }
01658
01659 ROS_DECLARE_ALLINONE_SERIALIZER;
01660 };
01661 }
01662 }
01663
01664 namespace ros
01665 {
01666 namespace service_traits
01667 {
01668 template<>
01669 struct MD5Sum<arm_navigation_msgs::GetPlanningScene> {
01670 static const char* value()
01671 {
01672 return "0a7b07718e4e5c5d35740c730509a151";
01673 }
01674
01675 static const char* value(const arm_navigation_msgs::GetPlanningScene&) { return value(); }
01676 };
01677
01678 template<>
01679 struct DataType<arm_navigation_msgs::GetPlanningScene> {
01680 static const char* value()
01681 {
01682 return "arm_navigation_msgs/GetPlanningScene";
01683 }
01684
01685 static const char* value(const arm_navigation_msgs::GetPlanningScene&) { return value(); }
01686 };
01687
01688 template<class ContainerAllocator>
01689 struct MD5Sum<arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > {
01690 static const char* value()
01691 {
01692 return "0a7b07718e4e5c5d35740c730509a151";
01693 }
01694
01695 static const char* value(const arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> &) { return value(); }
01696 };
01697
01698 template<class ContainerAllocator>
01699 struct DataType<arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> > {
01700 static const char* value()
01701 {
01702 return "arm_navigation_msgs/GetPlanningScene";
01703 }
01704
01705 static const char* value(const arm_navigation_msgs::GetPlanningSceneRequest_<ContainerAllocator> &) { return value(); }
01706 };
01707
01708 template<class ContainerAllocator>
01709 struct MD5Sum<arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > {
01710 static const char* value()
01711 {
01712 return "0a7b07718e4e5c5d35740c730509a151";
01713 }
01714
01715 static const char* value(const arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> &) { return value(); }
01716 };
01717
01718 template<class ContainerAllocator>
01719 struct DataType<arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> > {
01720 static const char* value()
01721 {
01722 return "arm_navigation_msgs/GetPlanningScene";
01723 }
01724
01725 static const char* value(const arm_navigation_msgs::GetPlanningSceneResponse_<ContainerAllocator> &) { return value(); }
01726 };
01727
01728 }
01729 }
01730
01731 #endif // ARM_NAVIGATION_MSGS_SERVICE_GETPLANNINGSCENE_H
01732