$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-arm_navigation/doc_stacks/2013-03-01_14-05-03.553953/arm_navigation/kinematics_msgs/srv/GetPositionIK.srv */ 00002 #ifndef KINEMATICS_MSGS_SERVICE_GETPOSITIONIK_H 00003 #define KINEMATICS_MSGS_SERVICE_GETPOSITIONIK_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 "kinematics_msgs/PositionIKRequest.h" 00020 00021 00022 #include "arm_navigation_msgs/RobotState.h" 00023 #include "arm_navigation_msgs/ArmNavigationErrorCodes.h" 00024 00025 namespace kinematics_msgs 00026 { 00027 template <class ContainerAllocator> 00028 struct GetPositionIKRequest_ { 00029 typedef GetPositionIKRequest_<ContainerAllocator> Type; 00030 00031 GetPositionIKRequest_() 00032 : ik_request() 00033 , timeout() 00034 { 00035 } 00036 00037 GetPositionIKRequest_(const ContainerAllocator& _alloc) 00038 : ik_request(_alloc) 00039 , timeout() 00040 { 00041 } 00042 00043 typedef ::kinematics_msgs::PositionIKRequest_<ContainerAllocator> _ik_request_type; 00044 ::kinematics_msgs::PositionIKRequest_<ContainerAllocator> ik_request; 00045 00046 typedef ros::Duration _timeout_type; 00047 ros::Duration timeout; 00048 00049 00050 private: 00051 static const char* __s_getDataType_() { return "kinematics_msgs/GetPositionIKRequest"; } 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 "bf9ee33930d9eaff390b8af4a213ba62"; } 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 "6d82fcb918d48c6d8a708bc55e34ace2"; } 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 kinematics_msgs/PositionIKRequest ik_request\n\ 00075 \n\ 00076 duration timeout\n\ 00077 \n\ 00078 ================================================================================\n\ 00079 MSG: kinematics_msgs/PositionIKRequest\n\ 00080 # A Position IK request message\n\ 00081 # The name of the link for which we are computing IK\n\ 00082 string ik_link_name\n\ 00083 \n\ 00084 # The (stamped) pose of the link\n\ 00085 geometry_msgs/PoseStamped pose_stamped\n\ 00086 \n\ 00087 # A RobotState consisting of hint/seed positions for the IK computation. \n\ 00088 # These may be used to seed the IK search. \n\ 00089 # The seed state MUST contain state for all joints to be used by the IK solver\n\ 00090 # to compute IK. The list of joints that the IK solver deals with can be found using\n\ 00091 # the kinematics_msgs/GetKinematicSolverInfo\n\ 00092 arm_navigation_msgs/RobotState ik_seed_state\n\ 00093 \n\ 00094 # Additional state information can be provided here to specify the starting positions \n\ 00095 # of other joints/links on the robot.\n\ 00096 arm_navigation_msgs/RobotState robot_state\n\ 00097 \n\ 00098 ================================================================================\n\ 00099 MSG: geometry_msgs/PoseStamped\n\ 00100 # A Pose with reference coordinate frame and timestamp\n\ 00101 Header header\n\ 00102 Pose pose\n\ 00103 \n\ 00104 ================================================================================\n\ 00105 MSG: std_msgs/Header\n\ 00106 # Standard metadata for higher-level stamped data types.\n\ 00107 # This is generally used to communicate timestamped data \n\ 00108 # in a particular coordinate frame.\n\ 00109 # \n\ 00110 # sequence ID: consecutively increasing ID \n\ 00111 uint32 seq\n\ 00112 #Two-integer timestamp that is expressed as:\n\ 00113 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00114 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00115 # time-handling sugar is provided by the client library\n\ 00116 time stamp\n\ 00117 #Frame this data is associated with\n\ 00118 # 0: no frame\n\ 00119 # 1: global frame\n\ 00120 string frame_id\n\ 00121 \n\ 00122 ================================================================================\n\ 00123 MSG: geometry_msgs/Pose\n\ 00124 # A representation of pose in free space, composed of postion and orientation. \n\ 00125 Point position\n\ 00126 Quaternion orientation\n\ 00127 \n\ 00128 ================================================================================\n\ 00129 MSG: geometry_msgs/Point\n\ 00130 # This contains the position of a point in free space\n\ 00131 float64 x\n\ 00132 float64 y\n\ 00133 float64 z\n\ 00134 \n\ 00135 ================================================================================\n\ 00136 MSG: geometry_msgs/Quaternion\n\ 00137 # This represents an orientation in free space in quaternion form.\n\ 00138 \n\ 00139 float64 x\n\ 00140 float64 y\n\ 00141 float64 z\n\ 00142 float64 w\n\ 00143 \n\ 00144 ================================================================================\n\ 00145 MSG: arm_navigation_msgs/RobotState\n\ 00146 # This message contains information about the robot state, i.e. the positions of its joints and links\n\ 00147 sensor_msgs/JointState joint_state\n\ 00148 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\ 00149 \n\ 00150 ================================================================================\n\ 00151 MSG: sensor_msgs/JointState\n\ 00152 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 00153 #\n\ 00154 # The state of each joint (revolute or prismatic) is defined by:\n\ 00155 # * the position of the joint (rad or m),\n\ 00156 # * the velocity of the joint (rad/s or m/s) and \n\ 00157 # * the effort that is applied in the joint (Nm or N).\n\ 00158 #\n\ 00159 # Each joint is uniquely identified by its name\n\ 00160 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 00161 # in one message have to be recorded at the same time.\n\ 00162 #\n\ 00163 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 00164 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 00165 # effort associated with them, you can leave the effort array empty. \n\ 00166 #\n\ 00167 # All arrays in this message should have the same size, or be empty.\n\ 00168 # This is the only way to uniquely associate the joint name with the correct\n\ 00169 # states.\n\ 00170 \n\ 00171 \n\ 00172 Header header\n\ 00173 \n\ 00174 string[] name\n\ 00175 float64[] position\n\ 00176 float64[] velocity\n\ 00177 float64[] effort\n\ 00178 \n\ 00179 ================================================================================\n\ 00180 MSG: arm_navigation_msgs/MultiDOFJointState\n\ 00181 #A representation of a multi-dof joint state\n\ 00182 time stamp\n\ 00183 string[] joint_names\n\ 00184 string[] frame_ids\n\ 00185 string[] child_frame_ids\n\ 00186 geometry_msgs/Pose[] poses\n\ 00187 \n\ 00188 "; } 00189 public: 00190 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00191 00192 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00193 00194 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00195 { 00196 ros::serialization::OStream stream(write_ptr, 1000000000); 00197 ros::serialization::serialize(stream, ik_request); 00198 ros::serialization::serialize(stream, timeout); 00199 return stream.getData(); 00200 } 00201 00202 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00203 { 00204 ros::serialization::IStream stream(read_ptr, 1000000000); 00205 ros::serialization::deserialize(stream, ik_request); 00206 ros::serialization::deserialize(stream, timeout); 00207 return stream.getData(); 00208 } 00209 00210 ROS_DEPRECATED virtual uint32_t serializationLength() const 00211 { 00212 uint32_t size = 0; 00213 size += ros::serialization::serializationLength(ik_request); 00214 size += ros::serialization::serializationLength(timeout); 00215 return size; 00216 } 00217 00218 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > Ptr; 00219 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> const> ConstPtr; 00220 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00221 }; // struct GetPositionIKRequest 00222 typedef ::kinematics_msgs::GetPositionIKRequest_<std::allocator<void> > GetPositionIKRequest; 00223 00224 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKRequest> GetPositionIKRequestPtr; 00225 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKRequest const> GetPositionIKRequestConstPtr; 00226 00227 00228 template <class ContainerAllocator> 00229 struct GetPositionIKResponse_ { 00230 typedef GetPositionIKResponse_<ContainerAllocator> Type; 00231 00232 GetPositionIKResponse_() 00233 : solution() 00234 , error_code() 00235 { 00236 } 00237 00238 GetPositionIKResponse_(const ContainerAllocator& _alloc) 00239 : solution(_alloc) 00240 , error_code(_alloc) 00241 { 00242 } 00243 00244 typedef ::arm_navigation_msgs::RobotState_<ContainerAllocator> _solution_type; 00245 ::arm_navigation_msgs::RobotState_<ContainerAllocator> solution; 00246 00247 typedef ::arm_navigation_msgs::ArmNavigationErrorCodes_<ContainerAllocator> _error_code_type; 00248 ::arm_navigation_msgs::ArmNavigationErrorCodes_<ContainerAllocator> error_code; 00249 00250 00251 private: 00252 static const char* __s_getDataType_() { return "kinematics_msgs/GetPositionIKResponse"; } 00253 public: 00254 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00255 00256 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00257 00258 private: 00259 static const char* __s_getMD5Sum_() { return "5a8bbc4eb2775fe00cbd09858fd3dc65"; } 00260 public: 00261 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00262 00263 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00264 00265 private: 00266 static const char* __s_getServerMD5Sum_() { return "6d82fcb918d48c6d8a708bc55e34ace2"; } 00267 public: 00268 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00269 00270 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00271 00272 private: 00273 static const char* __s_getMessageDefinition_() { return "\n\ 00274 \n\ 00275 arm_navigation_msgs/RobotState solution\n\ 00276 \n\ 00277 arm_navigation_msgs/ArmNavigationErrorCodes error_code\n\ 00278 \n\ 00279 \n\ 00280 \n\ 00281 ================================================================================\n\ 00282 MSG: arm_navigation_msgs/RobotState\n\ 00283 # This message contains information about the robot state, i.e. the positions of its joints and links\n\ 00284 sensor_msgs/JointState joint_state\n\ 00285 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\ 00286 \n\ 00287 ================================================================================\n\ 00288 MSG: sensor_msgs/JointState\n\ 00289 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 00290 #\n\ 00291 # The state of each joint (revolute or prismatic) is defined by:\n\ 00292 # * the position of the joint (rad or m),\n\ 00293 # * the velocity of the joint (rad/s or m/s) and \n\ 00294 # * the effort that is applied in the joint (Nm or N).\n\ 00295 #\n\ 00296 # Each joint is uniquely identified by its name\n\ 00297 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 00298 # in one message have to be recorded at the same time.\n\ 00299 #\n\ 00300 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 00301 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 00302 # effort associated with them, you can leave the effort array empty. \n\ 00303 #\n\ 00304 # All arrays in this message should have the same size, or be empty.\n\ 00305 # This is the only way to uniquely associate the joint name with the correct\n\ 00306 # states.\n\ 00307 \n\ 00308 \n\ 00309 Header header\n\ 00310 \n\ 00311 string[] name\n\ 00312 float64[] position\n\ 00313 float64[] velocity\n\ 00314 float64[] effort\n\ 00315 \n\ 00316 ================================================================================\n\ 00317 MSG: std_msgs/Header\n\ 00318 # Standard metadata for higher-level stamped data types.\n\ 00319 # This is generally used to communicate timestamped data \n\ 00320 # in a particular coordinate frame.\n\ 00321 # \n\ 00322 # sequence ID: consecutively increasing ID \n\ 00323 uint32 seq\n\ 00324 #Two-integer timestamp that is expressed as:\n\ 00325 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00326 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00327 # time-handling sugar is provided by the client library\n\ 00328 time stamp\n\ 00329 #Frame this data is associated with\n\ 00330 # 0: no frame\n\ 00331 # 1: global frame\n\ 00332 string frame_id\n\ 00333 \n\ 00334 ================================================================================\n\ 00335 MSG: arm_navigation_msgs/MultiDOFJointState\n\ 00336 #A representation of a multi-dof joint state\n\ 00337 time stamp\n\ 00338 string[] joint_names\n\ 00339 string[] frame_ids\n\ 00340 string[] child_frame_ids\n\ 00341 geometry_msgs/Pose[] poses\n\ 00342 \n\ 00343 ================================================================================\n\ 00344 MSG: geometry_msgs/Pose\n\ 00345 # A representation of pose in free space, composed of postion and orientation. \n\ 00346 Point position\n\ 00347 Quaternion orientation\n\ 00348 \n\ 00349 ================================================================================\n\ 00350 MSG: geometry_msgs/Point\n\ 00351 # This contains the position of a point in free space\n\ 00352 float64 x\n\ 00353 float64 y\n\ 00354 float64 z\n\ 00355 \n\ 00356 ================================================================================\n\ 00357 MSG: geometry_msgs/Quaternion\n\ 00358 # This represents an orientation in free space in quaternion form.\n\ 00359 \n\ 00360 float64 x\n\ 00361 float64 y\n\ 00362 float64 z\n\ 00363 float64 w\n\ 00364 \n\ 00365 ================================================================================\n\ 00366 MSG: arm_navigation_msgs/ArmNavigationErrorCodes\n\ 00367 int32 val\n\ 00368 \n\ 00369 # overall behavior\n\ 00370 int32 PLANNING_FAILED=-1\n\ 00371 int32 SUCCESS=1\n\ 00372 int32 TIMED_OUT=-2\n\ 00373 \n\ 00374 # start state errors\n\ 00375 int32 START_STATE_IN_COLLISION=-3\n\ 00376 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4\n\ 00377 \n\ 00378 # goal errors\n\ 00379 int32 GOAL_IN_COLLISION=-5\n\ 00380 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6\n\ 00381 \n\ 00382 # robot state\n\ 00383 int32 INVALID_ROBOT_STATE=-7\n\ 00384 int32 INCOMPLETE_ROBOT_STATE=-8\n\ 00385 \n\ 00386 # planning request errors\n\ 00387 int32 INVALID_PLANNER_ID=-9\n\ 00388 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10\n\ 00389 int32 INVALID_ALLOWED_PLANNING_TIME=-11\n\ 00390 int32 INVALID_GROUP_NAME=-12\n\ 00391 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13\n\ 00392 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14\n\ 00393 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15\n\ 00394 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16\n\ 00395 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17\n\ 00396 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18\n\ 00397 \n\ 00398 # state/trajectory monitor errors\n\ 00399 int32 INVALID_TRAJECTORY=-19\n\ 00400 int32 INVALID_INDEX=-20\n\ 00401 int32 JOINT_LIMITS_VIOLATED=-21\n\ 00402 int32 PATH_CONSTRAINTS_VIOLATED=-22\n\ 00403 int32 COLLISION_CONSTRAINTS_VIOLATED=-23\n\ 00404 int32 GOAL_CONSTRAINTS_VIOLATED=-24\n\ 00405 int32 JOINTS_NOT_MOVING=-25\n\ 00406 int32 TRAJECTORY_CONTROLLER_FAILED=-26\n\ 00407 \n\ 00408 # system errors\n\ 00409 int32 FRAME_TRANSFORM_FAILURE=-27\n\ 00410 int32 COLLISION_CHECKING_UNAVAILABLE=-28\n\ 00411 int32 ROBOT_STATE_STALE=-29\n\ 00412 int32 SENSOR_INFO_STALE=-30\n\ 00413 \n\ 00414 # kinematics errors\n\ 00415 int32 NO_IK_SOLUTION=-31\n\ 00416 int32 INVALID_LINK_NAME=-32\n\ 00417 int32 IK_LINK_IN_COLLISION=-33\n\ 00418 int32 NO_FK_SOLUTION=-34\n\ 00419 int32 KINEMATICS_STATE_IN_COLLISION=-35\n\ 00420 \n\ 00421 # general errors\n\ 00422 int32 INVALID_TIMEOUT=-36\n\ 00423 \n\ 00424 \n\ 00425 "; } 00426 public: 00427 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00428 00429 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00430 00431 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00432 { 00433 ros::serialization::OStream stream(write_ptr, 1000000000); 00434 ros::serialization::serialize(stream, solution); 00435 ros::serialization::serialize(stream, error_code); 00436 return stream.getData(); 00437 } 00438 00439 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00440 { 00441 ros::serialization::IStream stream(read_ptr, 1000000000); 00442 ros::serialization::deserialize(stream, solution); 00443 ros::serialization::deserialize(stream, error_code); 00444 return stream.getData(); 00445 } 00446 00447 ROS_DEPRECATED virtual uint32_t serializationLength() const 00448 { 00449 uint32_t size = 0; 00450 size += ros::serialization::serializationLength(solution); 00451 size += ros::serialization::serializationLength(error_code); 00452 return size; 00453 } 00454 00455 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > Ptr; 00456 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> const> ConstPtr; 00457 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00458 }; // struct GetPositionIKResponse 00459 typedef ::kinematics_msgs::GetPositionIKResponse_<std::allocator<void> > GetPositionIKResponse; 00460 00461 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKResponse> GetPositionIKResponsePtr; 00462 typedef boost::shared_ptr< ::kinematics_msgs::GetPositionIKResponse const> GetPositionIKResponseConstPtr; 00463 00464 struct GetPositionIK 00465 { 00466 00467 typedef GetPositionIKRequest Request; 00468 typedef GetPositionIKResponse Response; 00469 Request request; 00470 Response response; 00471 00472 typedef Request RequestType; 00473 typedef Response ResponseType; 00474 }; // struct GetPositionIK 00475 } // namespace kinematics_msgs 00476 00477 namespace ros 00478 { 00479 namespace message_traits 00480 { 00481 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > : public TrueType {}; 00482 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> const> : public TrueType {}; 00483 template<class ContainerAllocator> 00484 struct MD5Sum< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > { 00485 static const char* value() 00486 { 00487 return "bf9ee33930d9eaff390b8af4a213ba62"; 00488 } 00489 00490 static const char* value(const ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> &) { return value(); } 00491 static const uint64_t static_value1 = 0xbf9ee33930d9eaffULL; 00492 static const uint64_t static_value2 = 0x390b8af4a213ba62ULL; 00493 }; 00494 00495 template<class ContainerAllocator> 00496 struct DataType< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > { 00497 static const char* value() 00498 { 00499 return "kinematics_msgs/GetPositionIKRequest"; 00500 } 00501 00502 static const char* value(const ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> &) { return value(); } 00503 }; 00504 00505 template<class ContainerAllocator> 00506 struct Definition< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > { 00507 static const char* value() 00508 { 00509 return "\n\ 00510 \n\ 00511 kinematics_msgs/PositionIKRequest ik_request\n\ 00512 \n\ 00513 duration timeout\n\ 00514 \n\ 00515 ================================================================================\n\ 00516 MSG: kinematics_msgs/PositionIKRequest\n\ 00517 # A Position IK request message\n\ 00518 # The name of the link for which we are computing IK\n\ 00519 string ik_link_name\n\ 00520 \n\ 00521 # The (stamped) pose of the link\n\ 00522 geometry_msgs/PoseStamped pose_stamped\n\ 00523 \n\ 00524 # A RobotState consisting of hint/seed positions for the IK computation. \n\ 00525 # These may be used to seed the IK search. \n\ 00526 # The seed state MUST contain state for all joints to be used by the IK solver\n\ 00527 # to compute IK. The list of joints that the IK solver deals with can be found using\n\ 00528 # the kinematics_msgs/GetKinematicSolverInfo\n\ 00529 arm_navigation_msgs/RobotState ik_seed_state\n\ 00530 \n\ 00531 # Additional state information can be provided here to specify the starting positions \n\ 00532 # of other joints/links on the robot.\n\ 00533 arm_navigation_msgs/RobotState robot_state\n\ 00534 \n\ 00535 ================================================================================\n\ 00536 MSG: geometry_msgs/PoseStamped\n\ 00537 # A Pose with reference coordinate frame and timestamp\n\ 00538 Header header\n\ 00539 Pose pose\n\ 00540 \n\ 00541 ================================================================================\n\ 00542 MSG: std_msgs/Header\n\ 00543 # Standard metadata for higher-level stamped data types.\n\ 00544 # This is generally used to communicate timestamped data \n\ 00545 # in a particular coordinate frame.\n\ 00546 # \n\ 00547 # sequence ID: consecutively increasing ID \n\ 00548 uint32 seq\n\ 00549 #Two-integer timestamp that is expressed as:\n\ 00550 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00551 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00552 # time-handling sugar is provided by the client library\n\ 00553 time stamp\n\ 00554 #Frame this data is associated with\n\ 00555 # 0: no frame\n\ 00556 # 1: global frame\n\ 00557 string frame_id\n\ 00558 \n\ 00559 ================================================================================\n\ 00560 MSG: geometry_msgs/Pose\n\ 00561 # A representation of pose in free space, composed of postion and orientation. \n\ 00562 Point position\n\ 00563 Quaternion orientation\n\ 00564 \n\ 00565 ================================================================================\n\ 00566 MSG: geometry_msgs/Point\n\ 00567 # This contains the position of a point in free space\n\ 00568 float64 x\n\ 00569 float64 y\n\ 00570 float64 z\n\ 00571 \n\ 00572 ================================================================================\n\ 00573 MSG: geometry_msgs/Quaternion\n\ 00574 # This represents an orientation in free space in quaternion form.\n\ 00575 \n\ 00576 float64 x\n\ 00577 float64 y\n\ 00578 float64 z\n\ 00579 float64 w\n\ 00580 \n\ 00581 ================================================================================\n\ 00582 MSG: arm_navigation_msgs/RobotState\n\ 00583 # This message contains information about the robot state, i.e. the positions of its joints and links\n\ 00584 sensor_msgs/JointState joint_state\n\ 00585 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\ 00586 \n\ 00587 ================================================================================\n\ 00588 MSG: sensor_msgs/JointState\n\ 00589 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 00590 #\n\ 00591 # The state of each joint (revolute or prismatic) is defined by:\n\ 00592 # * the position of the joint (rad or m),\n\ 00593 # * the velocity of the joint (rad/s or m/s) and \n\ 00594 # * the effort that is applied in the joint (Nm or N).\n\ 00595 #\n\ 00596 # Each joint is uniquely identified by its name\n\ 00597 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 00598 # in one message have to be recorded at the same time.\n\ 00599 #\n\ 00600 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 00601 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 00602 # effort associated with them, you can leave the effort array empty. \n\ 00603 #\n\ 00604 # All arrays in this message should have the same size, or be empty.\n\ 00605 # This is the only way to uniquely associate the joint name with the correct\n\ 00606 # states.\n\ 00607 \n\ 00608 \n\ 00609 Header header\n\ 00610 \n\ 00611 string[] name\n\ 00612 float64[] position\n\ 00613 float64[] velocity\n\ 00614 float64[] effort\n\ 00615 \n\ 00616 ================================================================================\n\ 00617 MSG: arm_navigation_msgs/MultiDOFJointState\n\ 00618 #A representation of a multi-dof joint state\n\ 00619 time stamp\n\ 00620 string[] joint_names\n\ 00621 string[] frame_ids\n\ 00622 string[] child_frame_ids\n\ 00623 geometry_msgs/Pose[] poses\n\ 00624 \n\ 00625 "; 00626 } 00627 00628 static const char* value(const ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> &) { return value(); } 00629 }; 00630 00631 } // namespace message_traits 00632 } // namespace ros 00633 00634 00635 namespace ros 00636 { 00637 namespace message_traits 00638 { 00639 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > : public TrueType {}; 00640 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> const> : public TrueType {}; 00641 template<class ContainerAllocator> 00642 struct MD5Sum< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > { 00643 static const char* value() 00644 { 00645 return "5a8bbc4eb2775fe00cbd09858fd3dc65"; 00646 } 00647 00648 static const char* value(const ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> &) { return value(); } 00649 static const uint64_t static_value1 = 0x5a8bbc4eb2775fe0ULL; 00650 static const uint64_t static_value2 = 0x0cbd09858fd3dc65ULL; 00651 }; 00652 00653 template<class ContainerAllocator> 00654 struct DataType< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > { 00655 static const char* value() 00656 { 00657 return "kinematics_msgs/GetPositionIKResponse"; 00658 } 00659 00660 static const char* value(const ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> &) { return value(); } 00661 }; 00662 00663 template<class ContainerAllocator> 00664 struct Definition< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > { 00665 static const char* value() 00666 { 00667 return "\n\ 00668 \n\ 00669 arm_navigation_msgs/RobotState solution\n\ 00670 \n\ 00671 arm_navigation_msgs/ArmNavigationErrorCodes error_code\n\ 00672 \n\ 00673 \n\ 00674 \n\ 00675 ================================================================================\n\ 00676 MSG: arm_navigation_msgs/RobotState\n\ 00677 # This message contains information about the robot state, i.e. the positions of its joints and links\n\ 00678 sensor_msgs/JointState joint_state\n\ 00679 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\ 00680 \n\ 00681 ================================================================================\n\ 00682 MSG: sensor_msgs/JointState\n\ 00683 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 00684 #\n\ 00685 # The state of each joint (revolute or prismatic) is defined by:\n\ 00686 # * the position of the joint (rad or m),\n\ 00687 # * the velocity of the joint (rad/s or m/s) and \n\ 00688 # * the effort that is applied in the joint (Nm or N).\n\ 00689 #\n\ 00690 # Each joint is uniquely identified by its name\n\ 00691 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 00692 # in one message have to be recorded at the same time.\n\ 00693 #\n\ 00694 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 00695 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 00696 # effort associated with them, you can leave the effort array empty. \n\ 00697 #\n\ 00698 # All arrays in this message should have the same size, or be empty.\n\ 00699 # This is the only way to uniquely associate the joint name with the correct\n\ 00700 # states.\n\ 00701 \n\ 00702 \n\ 00703 Header header\n\ 00704 \n\ 00705 string[] name\n\ 00706 float64[] position\n\ 00707 float64[] velocity\n\ 00708 float64[] effort\n\ 00709 \n\ 00710 ================================================================================\n\ 00711 MSG: std_msgs/Header\n\ 00712 # Standard metadata for higher-level stamped data types.\n\ 00713 # This is generally used to communicate timestamped data \n\ 00714 # in a particular coordinate frame.\n\ 00715 # \n\ 00716 # sequence ID: consecutively increasing ID \n\ 00717 uint32 seq\n\ 00718 #Two-integer timestamp that is expressed as:\n\ 00719 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00720 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00721 # time-handling sugar is provided by the client library\n\ 00722 time stamp\n\ 00723 #Frame this data is associated with\n\ 00724 # 0: no frame\n\ 00725 # 1: global frame\n\ 00726 string frame_id\n\ 00727 \n\ 00728 ================================================================================\n\ 00729 MSG: arm_navigation_msgs/MultiDOFJointState\n\ 00730 #A representation of a multi-dof joint state\n\ 00731 time stamp\n\ 00732 string[] joint_names\n\ 00733 string[] frame_ids\n\ 00734 string[] child_frame_ids\n\ 00735 geometry_msgs/Pose[] poses\n\ 00736 \n\ 00737 ================================================================================\n\ 00738 MSG: geometry_msgs/Pose\n\ 00739 # A representation of pose in free space, composed of postion and orientation. \n\ 00740 Point position\n\ 00741 Quaternion orientation\n\ 00742 \n\ 00743 ================================================================================\n\ 00744 MSG: geometry_msgs/Point\n\ 00745 # This contains the position of a point in free space\n\ 00746 float64 x\n\ 00747 float64 y\n\ 00748 float64 z\n\ 00749 \n\ 00750 ================================================================================\n\ 00751 MSG: geometry_msgs/Quaternion\n\ 00752 # This represents an orientation in free space in quaternion form.\n\ 00753 \n\ 00754 float64 x\n\ 00755 float64 y\n\ 00756 float64 z\n\ 00757 float64 w\n\ 00758 \n\ 00759 ================================================================================\n\ 00760 MSG: arm_navigation_msgs/ArmNavigationErrorCodes\n\ 00761 int32 val\n\ 00762 \n\ 00763 # overall behavior\n\ 00764 int32 PLANNING_FAILED=-1\n\ 00765 int32 SUCCESS=1\n\ 00766 int32 TIMED_OUT=-2\n\ 00767 \n\ 00768 # start state errors\n\ 00769 int32 START_STATE_IN_COLLISION=-3\n\ 00770 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4\n\ 00771 \n\ 00772 # goal errors\n\ 00773 int32 GOAL_IN_COLLISION=-5\n\ 00774 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6\n\ 00775 \n\ 00776 # robot state\n\ 00777 int32 INVALID_ROBOT_STATE=-7\n\ 00778 int32 INCOMPLETE_ROBOT_STATE=-8\n\ 00779 \n\ 00780 # planning request errors\n\ 00781 int32 INVALID_PLANNER_ID=-9\n\ 00782 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10\n\ 00783 int32 INVALID_ALLOWED_PLANNING_TIME=-11\n\ 00784 int32 INVALID_GROUP_NAME=-12\n\ 00785 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13\n\ 00786 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14\n\ 00787 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15\n\ 00788 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16\n\ 00789 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17\n\ 00790 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18\n\ 00791 \n\ 00792 # state/trajectory monitor errors\n\ 00793 int32 INVALID_TRAJECTORY=-19\n\ 00794 int32 INVALID_INDEX=-20\n\ 00795 int32 JOINT_LIMITS_VIOLATED=-21\n\ 00796 int32 PATH_CONSTRAINTS_VIOLATED=-22\n\ 00797 int32 COLLISION_CONSTRAINTS_VIOLATED=-23\n\ 00798 int32 GOAL_CONSTRAINTS_VIOLATED=-24\n\ 00799 int32 JOINTS_NOT_MOVING=-25\n\ 00800 int32 TRAJECTORY_CONTROLLER_FAILED=-26\n\ 00801 \n\ 00802 # system errors\n\ 00803 int32 FRAME_TRANSFORM_FAILURE=-27\n\ 00804 int32 COLLISION_CHECKING_UNAVAILABLE=-28\n\ 00805 int32 ROBOT_STATE_STALE=-29\n\ 00806 int32 SENSOR_INFO_STALE=-30\n\ 00807 \n\ 00808 # kinematics errors\n\ 00809 int32 NO_IK_SOLUTION=-31\n\ 00810 int32 INVALID_LINK_NAME=-32\n\ 00811 int32 IK_LINK_IN_COLLISION=-33\n\ 00812 int32 NO_FK_SOLUTION=-34\n\ 00813 int32 KINEMATICS_STATE_IN_COLLISION=-35\n\ 00814 \n\ 00815 # general errors\n\ 00816 int32 INVALID_TIMEOUT=-36\n\ 00817 \n\ 00818 \n\ 00819 "; 00820 } 00821 00822 static const char* value(const ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> &) { return value(); } 00823 }; 00824 00825 } // namespace message_traits 00826 } // namespace ros 00827 00828 namespace ros 00829 { 00830 namespace serialization 00831 { 00832 00833 template<class ContainerAllocator> struct Serializer< ::kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > 00834 { 00835 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00836 { 00837 stream.next(m.ik_request); 00838 stream.next(m.timeout); 00839 } 00840 00841 ROS_DECLARE_ALLINONE_SERIALIZER; 00842 }; // struct GetPositionIKRequest_ 00843 } // namespace serialization 00844 } // namespace ros 00845 00846 00847 namespace ros 00848 { 00849 namespace serialization 00850 { 00851 00852 template<class ContainerAllocator> struct Serializer< ::kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > 00853 { 00854 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00855 { 00856 stream.next(m.solution); 00857 stream.next(m.error_code); 00858 } 00859 00860 ROS_DECLARE_ALLINONE_SERIALIZER; 00861 }; // struct GetPositionIKResponse_ 00862 } // namespace serialization 00863 } // namespace ros 00864 00865 namespace ros 00866 { 00867 namespace service_traits 00868 { 00869 template<> 00870 struct MD5Sum<kinematics_msgs::GetPositionIK> { 00871 static const char* value() 00872 { 00873 return "6d82fcb918d48c6d8a708bc55e34ace2"; 00874 } 00875 00876 static const char* value(const kinematics_msgs::GetPositionIK&) { return value(); } 00877 }; 00878 00879 template<> 00880 struct DataType<kinematics_msgs::GetPositionIK> { 00881 static const char* value() 00882 { 00883 return "kinematics_msgs/GetPositionIK"; 00884 } 00885 00886 static const char* value(const kinematics_msgs::GetPositionIK&) { return value(); } 00887 }; 00888 00889 template<class ContainerAllocator> 00890 struct MD5Sum<kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > { 00891 static const char* value() 00892 { 00893 return "6d82fcb918d48c6d8a708bc55e34ace2"; 00894 } 00895 00896 static const char* value(const kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> &) { return value(); } 00897 }; 00898 00899 template<class ContainerAllocator> 00900 struct DataType<kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> > { 00901 static const char* value() 00902 { 00903 return "kinematics_msgs/GetPositionIK"; 00904 } 00905 00906 static const char* value(const kinematics_msgs::GetPositionIKRequest_<ContainerAllocator> &) { return value(); } 00907 }; 00908 00909 template<class ContainerAllocator> 00910 struct MD5Sum<kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > { 00911 static const char* value() 00912 { 00913 return "6d82fcb918d48c6d8a708bc55e34ace2"; 00914 } 00915 00916 static const char* value(const kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> &) { return value(); } 00917 }; 00918 00919 template<class ContainerAllocator> 00920 struct DataType<kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> > { 00921 static const char* value() 00922 { 00923 return "kinematics_msgs/GetPositionIK"; 00924 } 00925 00926 static const char* value(const kinematics_msgs::GetPositionIKResponse_<ContainerAllocator> &) { return value(); } 00927 }; 00928 00929 } // namespace service_traits 00930 } // namespace ros 00931 00932 #endif // KINEMATICS_MSGS_SERVICE_GETPOSITIONIK_H 00933