GetConstraintAwarePositionIK.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-groovy-arm_navigation/doc_stacks/2013-12-02_12-23-34.850326/arm_navigation/kinematics_msgs/srv/GetConstraintAwarePositionIK.srv */
00002 #ifndef KINEMATICS_MSGS_SERVICE_GETCONSTRAINTAWAREPOSITIONIK_H
00003 #define KINEMATICS_MSGS_SERVICE_GETCONSTRAINTAWAREPOSITIONIK_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 #include "arm_navigation_msgs/Constraints.h"
00021 
00022 
00023 #include "arm_navigation_msgs/RobotState.h"
00024 #include "arm_navigation_msgs/ArmNavigationErrorCodes.h"
00025 
00026 namespace kinematics_msgs
00027 {
00028 template <class ContainerAllocator>
00029 struct GetConstraintAwarePositionIKRequest_ {
00030   typedef GetConstraintAwarePositionIKRequest_<ContainerAllocator> Type;
00031 
00032   GetConstraintAwarePositionIKRequest_()
00033   : ik_request()
00034   , constraints()
00035   , timeout()
00036   {
00037   }
00038 
00039   GetConstraintAwarePositionIKRequest_(const ContainerAllocator& _alloc)
00040   : ik_request(_alloc)
00041   , constraints(_alloc)
00042   , timeout()
00043   {
00044   }
00045 
00046   typedef  ::kinematics_msgs::PositionIKRequest_<ContainerAllocator>  _ik_request_type;
00047    ::kinematics_msgs::PositionIKRequest_<ContainerAllocator>  ik_request;
00048 
00049   typedef  ::arm_navigation_msgs::Constraints_<ContainerAllocator>  _constraints_type;
00050    ::arm_navigation_msgs::Constraints_<ContainerAllocator>  constraints;
00051 
00052   typedef ros::Duration _timeout_type;
00053   ros::Duration timeout;
00054 
00055 
00056   typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > Ptr;
00057   typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator>  const> ConstPtr;
00058   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00059 }; // struct GetConstraintAwarePositionIKRequest
00060 typedef  ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<std::allocator<void> > GetConstraintAwarePositionIKRequest;
00061 
00062 typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKRequest> GetConstraintAwarePositionIKRequestPtr;
00063 typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKRequest const> GetConstraintAwarePositionIKRequestConstPtr;
00064 
00065 
00066 
00067 template <class ContainerAllocator>
00068 struct GetConstraintAwarePositionIKResponse_ {
00069   typedef GetConstraintAwarePositionIKResponse_<ContainerAllocator> Type;
00070 
00071   GetConstraintAwarePositionIKResponse_()
00072   : solution()
00073   , error_code()
00074   {
00075   }
00076 
00077   GetConstraintAwarePositionIKResponse_(const ContainerAllocator& _alloc)
00078   : solution(_alloc)
00079   , error_code(_alloc)
00080   {
00081   }
00082 
00083   typedef  ::arm_navigation_msgs::RobotState_<ContainerAllocator>  _solution_type;
00084    ::arm_navigation_msgs::RobotState_<ContainerAllocator>  solution;
00085 
00086   typedef  ::arm_navigation_msgs::ArmNavigationErrorCodes_<ContainerAllocator>  _error_code_type;
00087    ::arm_navigation_msgs::ArmNavigationErrorCodes_<ContainerAllocator>  error_code;
00088 
00089 
00090   typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > Ptr;
00091   typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator>  const> ConstPtr;
00092   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00093 }; // struct GetConstraintAwarePositionIKResponse
00094 typedef  ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<std::allocator<void> > GetConstraintAwarePositionIKResponse;
00095 
00096 typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKResponse> GetConstraintAwarePositionIKResponsePtr;
00097 typedef boost::shared_ptr< ::kinematics_msgs::GetConstraintAwarePositionIKResponse const> GetConstraintAwarePositionIKResponseConstPtr;
00098 
00099 
00100 struct GetConstraintAwarePositionIK
00101 {
00102 
00103 typedef GetConstraintAwarePositionIKRequest Request;
00104 typedef GetConstraintAwarePositionIKResponse Response;
00105 Request request;
00106 Response response;
00107 
00108 typedef Request RequestType;
00109 typedef Response ResponseType;
00110 }; // struct GetConstraintAwarePositionIK
00111 } // namespace kinematics_msgs
00112 
00113 namespace ros
00114 {
00115 namespace message_traits
00116 {
00117 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > : public TrueType {};
00118 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator>  const> : public TrueType {};
00119 template<class ContainerAllocator>
00120 struct MD5Sum< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > {
00121   static const char* value() 
00122   {
00123     return "3772a29c71f9b0627ec5c37e3ab80920";
00124   }
00125 
00126   static const char* value(const  ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> &) { return value(); } 
00127   static const uint64_t static_value1 = 0x3772a29c71f9b062ULL;
00128   static const uint64_t static_value2 = 0x7ec5c37e3ab80920ULL;
00129 };
00130 
00131 template<class ContainerAllocator>
00132 struct DataType< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > {
00133   static const char* value() 
00134   {
00135     return "kinematics_msgs/GetConstraintAwarePositionIKRequest";
00136   }
00137 
00138   static const char* value(const  ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> &) { return value(); } 
00139 };
00140 
00141 template<class ContainerAllocator>
00142 struct Definition< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > {
00143   static const char* value() 
00144   {
00145     return "\n\
00146 \n\
00147 kinematics_msgs/PositionIKRequest ik_request\n\
00148 \n\
00149 arm_navigation_msgs/Constraints constraints\n\
00150 \n\
00151 duration timeout\n\
00152 \n\
00153 ================================================================================\n\
00154 MSG: kinematics_msgs/PositionIKRequest\n\
00155 # A Position IK request message\n\
00156 # The name of the link for which we are computing IK\n\
00157 string ik_link_name\n\
00158 \n\
00159 # The (stamped) pose of the link\n\
00160 geometry_msgs/PoseStamped pose_stamped\n\
00161 \n\
00162 # A RobotState consisting of hint/seed positions for the IK computation. \n\
00163 # These may be used to seed the IK search. \n\
00164 # The seed state MUST contain state for all joints to be used by the IK solver\n\
00165 # to compute IK. The list of joints that the IK solver deals with can be found using\n\
00166 # the kinematics_msgs/GetKinematicSolverInfo\n\
00167 arm_navigation_msgs/RobotState ik_seed_state\n\
00168 \n\
00169 # Additional state information can be provided here to specify the starting positions \n\
00170 # of other joints/links on the robot.\n\
00171 arm_navigation_msgs/RobotState robot_state\n\
00172 \n\
00173 ================================================================================\n\
00174 MSG: geometry_msgs/PoseStamped\n\
00175 # A Pose with reference coordinate frame and timestamp\n\
00176 Header header\n\
00177 Pose pose\n\
00178 \n\
00179 ================================================================================\n\
00180 MSG: std_msgs/Header\n\
00181 # Standard metadata for higher-level stamped data types.\n\
00182 # This is generally used to communicate timestamped data \n\
00183 # in a particular coordinate frame.\n\
00184 # \n\
00185 # sequence ID: consecutively increasing ID \n\
00186 uint32 seq\n\
00187 #Two-integer timestamp that is expressed as:\n\
00188 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00189 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00190 # time-handling sugar is provided by the client library\n\
00191 time stamp\n\
00192 #Frame this data is associated with\n\
00193 # 0: no frame\n\
00194 # 1: global frame\n\
00195 string frame_id\n\
00196 \n\
00197 ================================================================================\n\
00198 MSG: geometry_msgs/Pose\n\
00199 # A representation of pose in free space, composed of postion and orientation. \n\
00200 Point position\n\
00201 Quaternion orientation\n\
00202 \n\
00203 ================================================================================\n\
00204 MSG: geometry_msgs/Point\n\
00205 # This contains the position of a point in free space\n\
00206 float64 x\n\
00207 float64 y\n\
00208 float64 z\n\
00209 \n\
00210 ================================================================================\n\
00211 MSG: geometry_msgs/Quaternion\n\
00212 # This represents an orientation in free space in quaternion form.\n\
00213 \n\
00214 float64 x\n\
00215 float64 y\n\
00216 float64 z\n\
00217 float64 w\n\
00218 \n\
00219 ================================================================================\n\
00220 MSG: arm_navigation_msgs/RobotState\n\
00221 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00222 sensor_msgs/JointState joint_state\n\
00223 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00224 \n\
00225 ================================================================================\n\
00226 MSG: sensor_msgs/JointState\n\
00227 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00228 #\n\
00229 # The state of each joint (revolute or prismatic) is defined by:\n\
00230 #  * the position of the joint (rad or m),\n\
00231 #  * the velocity of the joint (rad/s or m/s) and \n\
00232 #  * the effort that is applied in the joint (Nm or N).\n\
00233 #\n\
00234 # Each joint is uniquely identified by its name\n\
00235 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00236 # in one message have to be recorded at the same time.\n\
00237 #\n\
00238 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00239 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00240 # effort associated with them, you can leave the effort array empty. \n\
00241 #\n\
00242 # All arrays in this message should have the same size, or be empty.\n\
00243 # This is the only way to uniquely associate the joint name with the correct\n\
00244 # states.\n\
00245 \n\
00246 \n\
00247 Header header\n\
00248 \n\
00249 string[] name\n\
00250 float64[] position\n\
00251 float64[] velocity\n\
00252 float64[] effort\n\
00253 \n\
00254 ================================================================================\n\
00255 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00256 #A representation of a multi-dof joint state\n\
00257 time stamp\n\
00258 string[] joint_names\n\
00259 string[] frame_ids\n\
00260 string[] child_frame_ids\n\
00261 geometry_msgs/Pose[] poses\n\
00262 \n\
00263 ================================================================================\n\
00264 MSG: arm_navigation_msgs/Constraints\n\
00265 # This message contains a list of motion planning constraints.\n\
00266 \n\
00267 arm_navigation_msgs/JointConstraint[] joint_constraints\n\
00268 arm_navigation_msgs/PositionConstraint[] position_constraints\n\
00269 arm_navigation_msgs/OrientationConstraint[] orientation_constraints\n\
00270 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints\n\
00271 \n\
00272 ================================================================================\n\
00273 MSG: arm_navigation_msgs/JointConstraint\n\
00274 # Constrain the position of a joint to be within a certain bound\n\
00275 string joint_name\n\
00276 \n\
00277 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]\n\
00278 float64 position\n\
00279 float64 tolerance_above\n\
00280 float64 tolerance_below\n\
00281 \n\
00282 # A weighting factor for this constraint\n\
00283 float64 weight\n\
00284 ================================================================================\n\
00285 MSG: arm_navigation_msgs/PositionConstraint\n\
00286 # This message contains the definition of a position constraint.\n\
00287 Header header\n\
00288 \n\
00289 # The robot link this constraint refers to\n\
00290 string link_name\n\
00291 \n\
00292 # The offset (in the link frame) for the target point on the link we are planning for\n\
00293 geometry_msgs/Point target_point_offset\n\
00294 \n\
00295 # The nominal/target position for the point we are planning for\n\
00296 geometry_msgs/Point position\n\
00297 \n\
00298 # The shape of the bounded region that constrains the position of the end-effector\n\
00299 # This region is always centered at the position defined above\n\
00300 arm_navigation_msgs/Shape constraint_region_shape\n\
00301 \n\
00302 # The orientation of the bounded region that constrains the position of the end-effector. \n\
00303 # This allows the specification of non-axis aligned constraints\n\
00304 geometry_msgs/Quaternion constraint_region_orientation\n\
00305 \n\
00306 # Constraint weighting factor - a weight for this constraint\n\
00307 float64 weight\n\
00308 \n\
00309 ================================================================================\n\
00310 MSG: arm_navigation_msgs/Shape\n\
00311 byte SPHERE=0\n\
00312 byte BOX=1\n\
00313 byte CYLINDER=2\n\
00314 byte MESH=3\n\
00315 \n\
00316 byte type\n\
00317 \n\
00318 \n\
00319 #### define sphere, box, cylinder ####\n\
00320 # the origin of each shape is considered at the shape's center\n\
00321 \n\
00322 # for sphere\n\
00323 # radius := dimensions[0]\n\
00324 \n\
00325 # for cylinder\n\
00326 # radius := dimensions[0]\n\
00327 # length := dimensions[1]\n\
00328 # the length is along the Z axis\n\
00329 \n\
00330 # for box\n\
00331 # size_x := dimensions[0]\n\
00332 # size_y := dimensions[1]\n\
00333 # size_z := dimensions[2]\n\
00334 float64[] dimensions\n\
00335 \n\
00336 \n\
00337 #### define mesh ####\n\
00338 \n\
00339 # list of triangles; triangle k is defined by tre vertices located\n\
00340 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00341 int32[] triangles\n\
00342 geometry_msgs/Point[] vertices\n\
00343 \n\
00344 ================================================================================\n\
00345 MSG: arm_navigation_msgs/OrientationConstraint\n\
00346 # This message contains the definition of an orientation constraint.\n\
00347 Header header\n\
00348 \n\
00349 # The robot link this constraint refers to\n\
00350 string link_name\n\
00351 \n\
00352 # The type of the constraint\n\
00353 int32 type\n\
00354 int32 LINK_FRAME=0\n\
00355 int32 HEADER_FRAME=1\n\
00356 \n\
00357 # The desired orientation of the robot link specified as a quaternion\n\
00358 geometry_msgs/Quaternion orientation\n\
00359 \n\
00360 # optional RPY error tolerances specified if \n\
00361 float64 absolute_roll_tolerance\n\
00362 float64 absolute_pitch_tolerance\n\
00363 float64 absolute_yaw_tolerance\n\
00364 \n\
00365 # Constraint weighting factor - a weight for this constraint\n\
00366 float64 weight\n\
00367 \n\
00368 ================================================================================\n\
00369 MSG: arm_navigation_msgs/VisibilityConstraint\n\
00370 # This message contains the definition of a visibility constraint.\n\
00371 Header header\n\
00372 \n\
00373 # The point stamped target that needs to be kept within view of the sensor\n\
00374 geometry_msgs/PointStamped target\n\
00375 \n\
00376 # The local pose of the frame in which visibility is to be maintained\n\
00377 # The frame id should represent the robot link to which the sensor is attached\n\
00378 # The visual axis of the sensor is assumed to be along the X axis of this frame\n\
00379 geometry_msgs/PoseStamped sensor_pose\n\
00380 \n\
00381 # The deviation (in radians) that will be tolerated\n\
00382 # Constraint error will be measured as the solid angle between the \n\
00383 # X axis of the frame defined above and the vector between the origin \n\
00384 # of the frame defined above and the target location\n\
00385 float64 absolute_tolerance\n\
00386 \n\
00387 \n\
00388 ================================================================================\n\
00389 MSG: geometry_msgs/PointStamped\n\
00390 # This represents a Point with reference coordinate frame and timestamp\n\
00391 Header header\n\
00392 Point point\n\
00393 \n\
00394 ";
00395   }
00396 
00397   static const char* value(const  ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> &) { return value(); } 
00398 };
00399 
00400 } // namespace message_traits
00401 } // namespace ros
00402 
00403 
00404 namespace ros
00405 {
00406 namespace message_traits
00407 {
00408 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > : public TrueType {};
00409 template<class ContainerAllocator> struct IsMessage< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator>  const> : public TrueType {};
00410 template<class ContainerAllocator>
00411 struct MD5Sum< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > {
00412   static const char* value() 
00413   {
00414     return "5a8bbc4eb2775fe00cbd09858fd3dc65";
00415   }
00416 
00417   static const char* value(const  ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> &) { return value(); } 
00418   static const uint64_t static_value1 = 0x5a8bbc4eb2775fe0ULL;
00419   static const uint64_t static_value2 = 0x0cbd09858fd3dc65ULL;
00420 };
00421 
00422 template<class ContainerAllocator>
00423 struct DataType< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > {
00424   static const char* value() 
00425   {
00426     return "kinematics_msgs/GetConstraintAwarePositionIKResponse";
00427   }
00428 
00429   static const char* value(const  ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> &) { return value(); } 
00430 };
00431 
00432 template<class ContainerAllocator>
00433 struct Definition< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > {
00434   static const char* value() 
00435   {
00436     return "\n\
00437 arm_navigation_msgs/RobotState solution\n\
00438 arm_navigation_msgs/ArmNavigationErrorCodes error_code\n\
00439 \n\
00440 \n\
00441 ================================================================================\n\
00442 MSG: arm_navigation_msgs/RobotState\n\
00443 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00444 sensor_msgs/JointState joint_state\n\
00445 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00446 \n\
00447 ================================================================================\n\
00448 MSG: sensor_msgs/JointState\n\
00449 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00450 #\n\
00451 # The state of each joint (revolute or prismatic) is defined by:\n\
00452 #  * the position of the joint (rad or m),\n\
00453 #  * the velocity of the joint (rad/s or m/s) and \n\
00454 #  * the effort that is applied in the joint (Nm or N).\n\
00455 #\n\
00456 # Each joint is uniquely identified by its name\n\
00457 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00458 # in one message have to be recorded at the same time.\n\
00459 #\n\
00460 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00461 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00462 # effort associated with them, you can leave the effort array empty. \n\
00463 #\n\
00464 # All arrays in this message should have the same size, or be empty.\n\
00465 # This is the only way to uniquely associate the joint name with the correct\n\
00466 # states.\n\
00467 \n\
00468 \n\
00469 Header header\n\
00470 \n\
00471 string[] name\n\
00472 float64[] position\n\
00473 float64[] velocity\n\
00474 float64[] effort\n\
00475 \n\
00476 ================================================================================\n\
00477 MSG: std_msgs/Header\n\
00478 # Standard metadata for higher-level stamped data types.\n\
00479 # This is generally used to communicate timestamped data \n\
00480 # in a particular coordinate frame.\n\
00481 # \n\
00482 # sequence ID: consecutively increasing ID \n\
00483 uint32 seq\n\
00484 #Two-integer timestamp that is expressed as:\n\
00485 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00486 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00487 # time-handling sugar is provided by the client library\n\
00488 time stamp\n\
00489 #Frame this data is associated with\n\
00490 # 0: no frame\n\
00491 # 1: global frame\n\
00492 string frame_id\n\
00493 \n\
00494 ================================================================================\n\
00495 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00496 #A representation of a multi-dof joint state\n\
00497 time stamp\n\
00498 string[] joint_names\n\
00499 string[] frame_ids\n\
00500 string[] child_frame_ids\n\
00501 geometry_msgs/Pose[] poses\n\
00502 \n\
00503 ================================================================================\n\
00504 MSG: geometry_msgs/Pose\n\
00505 # A representation of pose in free space, composed of postion and orientation. \n\
00506 Point position\n\
00507 Quaternion orientation\n\
00508 \n\
00509 ================================================================================\n\
00510 MSG: geometry_msgs/Point\n\
00511 # This contains the position of a point in free space\n\
00512 float64 x\n\
00513 float64 y\n\
00514 float64 z\n\
00515 \n\
00516 ================================================================================\n\
00517 MSG: geometry_msgs/Quaternion\n\
00518 # This represents an orientation in free space in quaternion form.\n\
00519 \n\
00520 float64 x\n\
00521 float64 y\n\
00522 float64 z\n\
00523 float64 w\n\
00524 \n\
00525 ================================================================================\n\
00526 MSG: arm_navigation_msgs/ArmNavigationErrorCodes\n\
00527 int32 val\n\
00528 \n\
00529 # overall behavior\n\
00530 int32 PLANNING_FAILED=-1\n\
00531 int32 SUCCESS=1\n\
00532 int32 TIMED_OUT=-2\n\
00533 \n\
00534 # start state errors\n\
00535 int32 START_STATE_IN_COLLISION=-3\n\
00536 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4\n\
00537 \n\
00538 # goal errors\n\
00539 int32 GOAL_IN_COLLISION=-5\n\
00540 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6\n\
00541 \n\
00542 # robot state\n\
00543 int32 INVALID_ROBOT_STATE=-7\n\
00544 int32 INCOMPLETE_ROBOT_STATE=-8\n\
00545 \n\
00546 # planning request errors\n\
00547 int32 INVALID_PLANNER_ID=-9\n\
00548 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10\n\
00549 int32 INVALID_ALLOWED_PLANNING_TIME=-11\n\
00550 int32 INVALID_GROUP_NAME=-12\n\
00551 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13\n\
00552 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14\n\
00553 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15\n\
00554 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16\n\
00555 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17\n\
00556 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18\n\
00557 \n\
00558 # state/trajectory monitor errors\n\
00559 int32 INVALID_TRAJECTORY=-19\n\
00560 int32 INVALID_INDEX=-20\n\
00561 int32 JOINT_LIMITS_VIOLATED=-21\n\
00562 int32 PATH_CONSTRAINTS_VIOLATED=-22\n\
00563 int32 COLLISION_CONSTRAINTS_VIOLATED=-23\n\
00564 int32 GOAL_CONSTRAINTS_VIOLATED=-24\n\
00565 int32 JOINTS_NOT_MOVING=-25\n\
00566 int32 TRAJECTORY_CONTROLLER_FAILED=-26\n\
00567 \n\
00568 # system errors\n\
00569 int32 FRAME_TRANSFORM_FAILURE=-27\n\
00570 int32 COLLISION_CHECKING_UNAVAILABLE=-28\n\
00571 int32 ROBOT_STATE_STALE=-29\n\
00572 int32 SENSOR_INFO_STALE=-30\n\
00573 \n\
00574 # kinematics errors\n\
00575 int32 NO_IK_SOLUTION=-31\n\
00576 int32 INVALID_LINK_NAME=-32\n\
00577 int32 IK_LINK_IN_COLLISION=-33\n\
00578 int32 NO_FK_SOLUTION=-34\n\
00579 int32 KINEMATICS_STATE_IN_COLLISION=-35\n\
00580 \n\
00581 # general errors\n\
00582 int32 INVALID_TIMEOUT=-36\n\
00583 \n\
00584 \n\
00585 ";
00586   }
00587 
00588   static const char* value(const  ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> &) { return value(); } 
00589 };
00590 
00591 } // namespace message_traits
00592 } // namespace ros
00593 
00594 namespace ros
00595 {
00596 namespace serialization
00597 {
00598 
00599 template<class ContainerAllocator> struct Serializer< ::kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> >
00600 {
00601   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00602   {
00603     stream.next(m.ik_request);
00604     stream.next(m.constraints);
00605     stream.next(m.timeout);
00606   }
00607 
00608   ROS_DECLARE_ALLINONE_SERIALIZER;
00609 }; // struct GetConstraintAwarePositionIKRequest_
00610 } // namespace serialization
00611 } // namespace ros
00612 
00613 
00614 namespace ros
00615 {
00616 namespace serialization
00617 {
00618 
00619 template<class ContainerAllocator> struct Serializer< ::kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> >
00620 {
00621   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00622   {
00623     stream.next(m.solution);
00624     stream.next(m.error_code);
00625   }
00626 
00627   ROS_DECLARE_ALLINONE_SERIALIZER;
00628 }; // struct GetConstraintAwarePositionIKResponse_
00629 } // namespace serialization
00630 } // namespace ros
00631 
00632 namespace ros
00633 {
00634 namespace service_traits
00635 {
00636 template<>
00637 struct MD5Sum<kinematics_msgs::GetConstraintAwarePositionIK> {
00638   static const char* value() 
00639   {
00640     return "76b178dd7f9e5aa0c4c559bc733d0d81";
00641   }
00642 
00643   static const char* value(const kinematics_msgs::GetConstraintAwarePositionIK&) { return value(); } 
00644 };
00645 
00646 template<>
00647 struct DataType<kinematics_msgs::GetConstraintAwarePositionIK> {
00648   static const char* value() 
00649   {
00650     return "kinematics_msgs/GetConstraintAwarePositionIK";
00651   }
00652 
00653   static const char* value(const kinematics_msgs::GetConstraintAwarePositionIK&) { return value(); } 
00654 };
00655 
00656 template<class ContainerAllocator>
00657 struct MD5Sum<kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > {
00658   static const char* value() 
00659   {
00660     return "76b178dd7f9e5aa0c4c559bc733d0d81";
00661   }
00662 
00663   static const char* value(const kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> &) { return value(); } 
00664 };
00665 
00666 template<class ContainerAllocator>
00667 struct DataType<kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> > {
00668   static const char* value() 
00669   {
00670     return "kinematics_msgs/GetConstraintAwarePositionIK";
00671   }
00672 
00673   static const char* value(const kinematics_msgs::GetConstraintAwarePositionIKRequest_<ContainerAllocator> &) { return value(); } 
00674 };
00675 
00676 template<class ContainerAllocator>
00677 struct MD5Sum<kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > {
00678   static const char* value() 
00679   {
00680     return "76b178dd7f9e5aa0c4c559bc733d0d81";
00681   }
00682 
00683   static const char* value(const kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> &) { return value(); } 
00684 };
00685 
00686 template<class ContainerAllocator>
00687 struct DataType<kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> > {
00688   static const char* value() 
00689   {
00690     return "kinematics_msgs/GetConstraintAwarePositionIK";
00691   }
00692 
00693   static const char* value(const kinematics_msgs::GetConstraintAwarePositionIKResponse_<ContainerAllocator> &) { return value(); } 
00694 };
00695 
00696 } // namespace service_traits
00697 } // namespace ros
00698 
00699 #endif // KINEMATICS_MSGS_SERVICE_GETCONSTRAINTAWAREPOSITIONIK_H
00700 


kinematics_msgs
Author(s): Sachin Chitta
autogenerated on Mon Dec 2 2013 12:32:53