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