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