Go to the documentation of this file.00001
00002 #ifndef COLLISION_PROXIMITY_PLANNER_SERVICE_GETFREEPATH_H
00003 #define COLLISION_PROXIMITY_PLANNER_SERVICE_GETFREEPATH_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "ros/service_traits.h"
00018
00019 #include "arm_navigation_msgs/RobotState.h"
00020
00021
00022 #include "arm_navigation_msgs/RobotTrajectory.h"
00023
00024 namespace collision_proximity_planner
00025 {
00026 template <class ContainerAllocator>
00027 struct GetFreePathRequest_ {
00028 typedef GetFreePathRequest_<ContainerAllocator> Type;
00029
00030 GetFreePathRequest_()
00031 : robot_state()
00032 {
00033 }
00034
00035 GetFreePathRequest_(const ContainerAllocator& _alloc)
00036 : robot_state(_alloc)
00037 {
00038 }
00039
00040 typedef ::arm_navigation_msgs::RobotState_<ContainerAllocator> _robot_state_type;
00041 ::arm_navigation_msgs::RobotState_<ContainerAllocator> robot_state;
00042
00043
00044 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > Ptr;
00045 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> const> ConstPtr;
00046 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00047 };
00048 typedef ::collision_proximity_planner::GetFreePathRequest_<std::allocator<void> > GetFreePathRequest;
00049
00050 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathRequest> GetFreePathRequestPtr;
00051 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathRequest const> GetFreePathRequestConstPtr;
00052
00053
00054 template <class ContainerAllocator>
00055 struct GetFreePathResponse_ {
00056 typedef GetFreePathResponse_<ContainerAllocator> Type;
00057
00058 GetFreePathResponse_()
00059 : robot_trajectory()
00060 {
00061 }
00062
00063 GetFreePathResponse_(const ContainerAllocator& _alloc)
00064 : robot_trajectory(_alloc)
00065 {
00066 }
00067
00068 typedef ::arm_navigation_msgs::RobotTrajectory_<ContainerAllocator> _robot_trajectory_type;
00069 ::arm_navigation_msgs::RobotTrajectory_<ContainerAllocator> robot_trajectory;
00070
00071
00072 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > Ptr;
00073 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> const> ConstPtr;
00074 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00075 };
00076 typedef ::collision_proximity_planner::GetFreePathResponse_<std::allocator<void> > GetFreePathResponse;
00077
00078 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathResponse> GetFreePathResponsePtr;
00079 typedef boost::shared_ptr< ::collision_proximity_planner::GetFreePathResponse const> GetFreePathResponseConstPtr;
00080
00081 struct GetFreePath
00082 {
00083
00084 typedef GetFreePathRequest Request;
00085 typedef GetFreePathResponse Response;
00086 Request request;
00087 Response response;
00088
00089 typedef Request RequestType;
00090 typedef Response ResponseType;
00091 };
00092 }
00093
00094 namespace ros
00095 {
00096 namespace message_traits
00097 {
00098 template<class ContainerAllocator> struct IsMessage< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > : public TrueType {};
00099 template<class ContainerAllocator> struct IsMessage< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> const> : public TrueType {};
00100 template<class ContainerAllocator>
00101 struct MD5Sum< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > {
00102 static const char* value()
00103 {
00104 return "23e0e254ce49bb298446221648a76af8";
00105 }
00106
00107 static const char* value(const ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> &) { return value(); }
00108 static const uint64_t static_value1 = 0x23e0e254ce49bb29ULL;
00109 static const uint64_t static_value2 = 0x8446221648a76af8ULL;
00110 };
00111
00112 template<class ContainerAllocator>
00113 struct DataType< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > {
00114 static const char* value()
00115 {
00116 return "collision_proximity_planner/GetFreePathRequest";
00117 }
00118
00119 static const char* value(const ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> &) { return value(); }
00120 };
00121
00122 template<class ContainerAllocator>
00123 struct Definition< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > {
00124 static const char* value()
00125 {
00126 return "\n\
00127 arm_navigation_msgs/RobotState robot_state\n\
00128 \n\
00129 ================================================================================\n\
00130 MSG: arm_navigation_msgs/RobotState\n\
00131 # This message contains information about the robot state, i.e. the positions of its joints and links\n\
00132 sensor_msgs/JointState joint_state\n\
00133 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state\n\
00134 \n\
00135 ================================================================================\n\
00136 MSG: sensor_msgs/JointState\n\
00137 # This is a message that holds data to describe the state of a set of torque controlled joints. \n\
00138 #\n\
00139 # The state of each joint (revolute or prismatic) is defined by:\n\
00140 # * the position of the joint (rad or m),\n\
00141 # * the velocity of the joint (rad/s or m/s) and \n\
00142 # * the effort that is applied in the joint (Nm or N).\n\
00143 #\n\
00144 # Each joint is uniquely identified by its name\n\
00145 # The header specifies the time at which the joint states were recorded. All the joint states\n\
00146 # in one message have to be recorded at the same time.\n\
00147 #\n\
00148 # This message consists of a multiple arrays, one for each part of the joint state. \n\
00149 # The goal is to make each of the fields optional. When e.g. your joints have no\n\
00150 # effort associated with them, you can leave the effort array empty. \n\
00151 #\n\
00152 # All arrays in this message should have the same size, or be empty.\n\
00153 # This is the only way to uniquely associate the joint name with the correct\n\
00154 # states.\n\
00155 \n\
00156 \n\
00157 Header header\n\
00158 \n\
00159 string[] name\n\
00160 float64[] position\n\
00161 float64[] velocity\n\
00162 float64[] effort\n\
00163 \n\
00164 ================================================================================\n\
00165 MSG: std_msgs/Header\n\
00166 # Standard metadata for higher-level stamped data types.\n\
00167 # This is generally used to communicate timestamped data \n\
00168 # in a particular coordinate frame.\n\
00169 # \n\
00170 # sequence ID: consecutively increasing ID \n\
00171 uint32 seq\n\
00172 #Two-integer timestamp that is expressed as:\n\
00173 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00174 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00175 # time-handling sugar is provided by the client library\n\
00176 time stamp\n\
00177 #Frame this data is associated with\n\
00178 # 0: no frame\n\
00179 # 1: global frame\n\
00180 string frame_id\n\
00181 \n\
00182 ================================================================================\n\
00183 MSG: arm_navigation_msgs/MultiDOFJointState\n\
00184 #A representation of a multi-dof joint state\n\
00185 time stamp\n\
00186 string[] joint_names\n\
00187 string[] frame_ids\n\
00188 string[] child_frame_ids\n\
00189 geometry_msgs/Pose[] poses\n\
00190 \n\
00191 ================================================================================\n\
00192 MSG: geometry_msgs/Pose\n\
00193 # A representation of pose in free space, composed of postion and orientation. \n\
00194 Point position\n\
00195 Quaternion orientation\n\
00196 \n\
00197 ================================================================================\n\
00198 MSG: geometry_msgs/Point\n\
00199 # This contains the position of a point in free space\n\
00200 float64 x\n\
00201 float64 y\n\
00202 float64 z\n\
00203 \n\
00204 ================================================================================\n\
00205 MSG: geometry_msgs/Quaternion\n\
00206 # This represents an orientation in free space in quaternion form.\n\
00207 \n\
00208 float64 x\n\
00209 float64 y\n\
00210 float64 z\n\
00211 float64 w\n\
00212 \n\
00213 ";
00214 }
00215
00216 static const char* value(const ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> &) { return value(); }
00217 };
00218
00219 }
00220 }
00221
00222
00223 namespace ros
00224 {
00225 namespace message_traits
00226 {
00227 template<class ContainerAllocator> struct IsMessage< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > : public TrueType {};
00228 template<class ContainerAllocator> struct IsMessage< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> const> : public TrueType {};
00229 template<class ContainerAllocator>
00230 struct MD5Sum< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > {
00231 static const char* value()
00232 {
00233 return "6366bd72f32fa5d9429f90aac9082227";
00234 }
00235
00236 static const char* value(const ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> &) { return value(); }
00237 static const uint64_t static_value1 = 0x6366bd72f32fa5d9ULL;
00238 static const uint64_t static_value2 = 0x429f90aac9082227ULL;
00239 };
00240
00241 template<class ContainerAllocator>
00242 struct DataType< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > {
00243 static const char* value()
00244 {
00245 return "collision_proximity_planner/GetFreePathResponse";
00246 }
00247
00248 static const char* value(const ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> &) { return value(); }
00249 };
00250
00251 template<class ContainerAllocator>
00252 struct Definition< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > {
00253 static const char* value()
00254 {
00255 return "arm_navigation_msgs/RobotTrajectory robot_trajectory\n\
00256 \n\
00257 \n\
00258 ================================================================================\n\
00259 MSG: arm_navigation_msgs/RobotTrajectory\n\
00260 trajectory_msgs/JointTrajectory joint_trajectory\n\
00261 arm_navigation_msgs/MultiDOFJointTrajectory multi_dof_joint_trajectory\n\
00262 \n\
00263 ================================================================================\n\
00264 MSG: trajectory_msgs/JointTrajectory\n\
00265 Header header\n\
00266 string[] joint_names\n\
00267 JointTrajectoryPoint[] points\n\
00268 ================================================================================\n\
00269 MSG: std_msgs/Header\n\
00270 # Standard metadata for higher-level stamped data types.\n\
00271 # This is generally used to communicate timestamped data \n\
00272 # in a particular coordinate frame.\n\
00273 # \n\
00274 # sequence ID: consecutively increasing ID \n\
00275 uint32 seq\n\
00276 #Two-integer timestamp that is expressed as:\n\
00277 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00278 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00279 # time-handling sugar is provided by the client library\n\
00280 time stamp\n\
00281 #Frame this data is associated with\n\
00282 # 0: no frame\n\
00283 # 1: global frame\n\
00284 string frame_id\n\
00285 \n\
00286 ================================================================================\n\
00287 MSG: trajectory_msgs/JointTrajectoryPoint\n\
00288 float64[] positions\n\
00289 float64[] velocities\n\
00290 float64[] accelerations\n\
00291 duration time_from_start\n\
00292 ================================================================================\n\
00293 MSG: arm_navigation_msgs/MultiDOFJointTrajectory\n\
00294 #A representation of a multi-dof joint trajectory\n\
00295 duration stamp\n\
00296 string[] joint_names\n\
00297 string[] frame_ids\n\
00298 string[] child_frame_ids\n\
00299 MultiDOFJointTrajectoryPoint[] points\n\
00300 \n\
00301 ================================================================================\n\
00302 MSG: arm_navigation_msgs/MultiDOFJointTrajectoryPoint\n\
00303 geometry_msgs/Pose[] poses\n\
00304 duration time_from_start\n\
00305 ================================================================================\n\
00306 MSG: geometry_msgs/Pose\n\
00307 # A representation of pose in free space, composed of postion and orientation. \n\
00308 Point position\n\
00309 Quaternion orientation\n\
00310 \n\
00311 ================================================================================\n\
00312 MSG: geometry_msgs/Point\n\
00313 # This contains the position of a point in free space\n\
00314 float64 x\n\
00315 float64 y\n\
00316 float64 z\n\
00317 \n\
00318 ================================================================================\n\
00319 MSG: geometry_msgs/Quaternion\n\
00320 # This represents an orientation in free space in quaternion form.\n\
00321 \n\
00322 float64 x\n\
00323 float64 y\n\
00324 float64 z\n\
00325 float64 w\n\
00326 \n\
00327 ";
00328 }
00329
00330 static const char* value(const ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> &) { return value(); }
00331 };
00332
00333 }
00334 }
00335
00336 namespace ros
00337 {
00338 namespace serialization
00339 {
00340
00341 template<class ContainerAllocator> struct Serializer< ::collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> >
00342 {
00343 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00344 {
00345 stream.next(m.robot_state);
00346 }
00347
00348 ROS_DECLARE_ALLINONE_SERIALIZER;
00349 };
00350 }
00351 }
00352
00353
00354 namespace ros
00355 {
00356 namespace serialization
00357 {
00358
00359 template<class ContainerAllocator> struct Serializer< ::collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> >
00360 {
00361 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00362 {
00363 stream.next(m.robot_trajectory);
00364 }
00365
00366 ROS_DECLARE_ALLINONE_SERIALIZER;
00367 };
00368 }
00369 }
00370
00371 namespace ros
00372 {
00373 namespace service_traits
00374 {
00375 template<>
00376 struct MD5Sum<collision_proximity_planner::GetFreePath> {
00377 static const char* value()
00378 {
00379 return "e5d8e6731173ba0b633eb5320faf8538";
00380 }
00381
00382 static const char* value(const collision_proximity_planner::GetFreePath&) { return value(); }
00383 };
00384
00385 template<>
00386 struct DataType<collision_proximity_planner::GetFreePath> {
00387 static const char* value()
00388 {
00389 return "collision_proximity_planner/GetFreePath";
00390 }
00391
00392 static const char* value(const collision_proximity_planner::GetFreePath&) { return value(); }
00393 };
00394
00395 template<class ContainerAllocator>
00396 struct MD5Sum<collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > {
00397 static const char* value()
00398 {
00399 return "e5d8e6731173ba0b633eb5320faf8538";
00400 }
00401
00402 static const char* value(const collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> &) { return value(); }
00403 };
00404
00405 template<class ContainerAllocator>
00406 struct DataType<collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> > {
00407 static const char* value()
00408 {
00409 return "collision_proximity_planner/GetFreePath";
00410 }
00411
00412 static const char* value(const collision_proximity_planner::GetFreePathRequest_<ContainerAllocator> &) { return value(); }
00413 };
00414
00415 template<class ContainerAllocator>
00416 struct MD5Sum<collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > {
00417 static const char* value()
00418 {
00419 return "e5d8e6731173ba0b633eb5320faf8538";
00420 }
00421
00422 static const char* value(const collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> &) { return value(); }
00423 };
00424
00425 template<class ContainerAllocator>
00426 struct DataType<collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> > {
00427 static const char* value()
00428 {
00429 return "collision_proximity_planner/GetFreePath";
00430 }
00431
00432 static const char* value(const collision_proximity_planner::GetFreePathResponse_<ContainerAllocator> &) { return value(); }
00433 };
00434
00435 }
00436 }
00437
00438 #endif // COLLISION_PROXIMITY_PLANNER_SERVICE_GETFREEPATH_H
00439