$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-art_vehicle/doc_stacks/2013-03-01_14-08-11.497537/art_vehicle/art_msgs/msg/CarDriveStamped.msg */ 00002 #ifndef ART_MSGS_MESSAGE_CARDRIVESTAMPED_H 00003 #define ART_MSGS_MESSAGE_CARDRIVESTAMPED_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 "std_msgs/Header.h" 00018 #include "art_msgs/CarDrive.h" 00019 00020 namespace art_msgs 00021 { 00022 template <class ContainerAllocator> 00023 struct CarDriveStamped_ { 00024 typedef CarDriveStamped_<ContainerAllocator> Type; 00025 00026 CarDriveStamped_() 00027 : header() 00028 , control() 00029 { 00030 } 00031 00032 CarDriveStamped_(const ContainerAllocator& _alloc) 00033 : header(_alloc) 00034 , control(_alloc) 00035 { 00036 } 00037 00038 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00039 ::std_msgs::Header_<ContainerAllocator> header; 00040 00041 typedef ::art_msgs::CarDrive_<ContainerAllocator> _control_type; 00042 ::art_msgs::CarDrive_<ContainerAllocator> control; 00043 00044 00045 private: 00046 static const char* __s_getDataType_() { return "art_msgs/CarDriveStamped"; } 00047 public: 00048 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00049 00050 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00051 00052 private: 00053 static const char* __s_getMD5Sum_() { return "d243ac5e38754a52c8788d4d37db7a05"; } 00054 public: 00055 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00056 00057 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00058 00059 private: 00060 static const char* __s_getMessageDefinition_() { return "# CarDrive message with timestamp.\n\ 00061 # $Id: CarDriveStamped.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00062 \n\ 00063 Header header\n\ 00064 CarDrive control\n\ 00065 \n\ 00066 ================================================================================\n\ 00067 MSG: std_msgs/Header\n\ 00068 # Standard metadata for higher-level stamped data types.\n\ 00069 # This is generally used to communicate timestamped data \n\ 00070 # in a particular coordinate frame.\n\ 00071 # \n\ 00072 # sequence ID: consecutively increasing ID \n\ 00073 uint32 seq\n\ 00074 #Two-integer timestamp that is expressed as:\n\ 00075 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00076 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00077 # time-handling sugar is provided by the client library\n\ 00078 time stamp\n\ 00079 #Frame this data is associated with\n\ 00080 # 0: no frame\n\ 00081 # 1: global frame\n\ 00082 string frame_id\n\ 00083 \n\ 00084 ================================================================================\n\ 00085 MSG: art_msgs/CarDrive\n\ 00086 # Driving command for a car-like vehicle using Ackermann steering.\n\ 00087 # $Id: CarDrive.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00088 \n\ 00089 # Drive at requested speed, acceleration and jerk (the 1st, 2nd and\n\ 00090 # 3rd derivatives of position). All are non-negative scalars. \n\ 00091 #\n\ 00092 # Speed is defined as the scalar magnitude of the velocity\n\ 00093 # vector. Direction (forwards or backwards) is determined by the gear.\n\ 00094 #\n\ 00095 # Zero acceleration means change speed as quickly as\n\ 00096 # possible. Positive acceleration may include deceleration as needed\n\ 00097 # to match the desired speed. It represents a desired rate and also a\n\ 00098 # limit not to exceed.\n\ 00099 #\n\ 00100 # Zero jerk means change acceleration as quickly as possible. Positive\n\ 00101 # jerk describes the desired rate of acceleration change in both\n\ 00102 # directions (positive and negative).\n\ 00103 #\n\ 00104 float32 speed # magnitude of velocity vector (m/s)\n\ 00105 float32 acceleration # desired acceleration (m/s^2)\n\ 00106 float32 jerk # desired jerk (m/s^3)\n\ 00107 \n\ 00108 # Assumes Ackermann (front-wheel) steering. This angle is the average\n\ 00109 # yaw of the two front wheels in the vehicle frame of reference\n\ 00110 # (positive left), ignoring their slightly differing angles as if it\n\ 00111 # were a tricycle. This is *not* the angle of the steering wheel\n\ 00112 # inside the passenger compartment.\n\ 00113 #\n\ 00114 float32 steering_angle # steering angle (radians)\n\ 00115 \n\ 00116 Gear gear # requested gear (no change if Naught)\n\ 00117 PilotBehavior behavior # requested pilot behavior\n\ 00118 \n\ 00119 ================================================================================\n\ 00120 MSG: art_msgs/Gear\n\ 00121 # ART vehicle transmission gear numbers\n\ 00122 #\n\ 00123 # Used by several different messages.\n\ 00124 \n\ 00125 # $Id: Gear.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00126 \n\ 00127 # Gear numbers. \n\ 00128 #\n\ 00129 # Naught means: reset all Shifter relays; no change of CarDrive gear.\n\ 00130 uint8 Naught = 0\n\ 00131 uint8 Park = 1\n\ 00132 uint8 Reverse = 2\n\ 00133 uint8 Neutral = 3\n\ 00134 uint8 Drive = 4\n\ 00135 uint8 N_gears = 5\n\ 00136 \n\ 00137 uint8 value # requested or reported gear number\n\ 00138 \n\ 00139 ================================================================================\n\ 00140 MSG: art_msgs/PilotBehavior\n\ 00141 # ART autonomous vehicle pilot node behaviors.\n\ 00142 #\n\ 00143 # Normally, the pilot node does Run, continually sending commands to\n\ 00144 # the servo device actuators and monitoring their state. With Pause,\n\ 00145 # the pilot becomes passive, allowing a learning algorithm or human\n\ 00146 # controller direct access to those devices. In the Off state,\n\ 00147 # various devices are shut down: the transmission in Park, the brake\n\ 00148 # released, the throttle at idle. The engine is not turned off, but\n\ 00149 # it could be.\n\ 00150 \n\ 00151 # $Id: PilotBehavior.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00152 \n\ 00153 # Behavior value\n\ 00154 uint8 value\n\ 00155 \n\ 00156 # Behavior numbers:\n\ 00157 uint8 Run = 0 # normal driving\n\ 00158 uint8 Pause = 1 # stop issuing servo commands\n\ 00159 uint8 Off = 2 # turn off devices\n\ 00160 uint8 N_behaviors = 3\n\ 00161 \n\ 00162 "; } 00163 public: 00164 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00165 00166 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00167 00168 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00169 { 00170 ros::serialization::OStream stream(write_ptr, 1000000000); 00171 ros::serialization::serialize(stream, header); 00172 ros::serialization::serialize(stream, control); 00173 return stream.getData(); 00174 } 00175 00176 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00177 { 00178 ros::serialization::IStream stream(read_ptr, 1000000000); 00179 ros::serialization::deserialize(stream, header); 00180 ros::serialization::deserialize(stream, control); 00181 return stream.getData(); 00182 } 00183 00184 ROS_DEPRECATED virtual uint32_t serializationLength() const 00185 { 00186 uint32_t size = 0; 00187 size += ros::serialization::serializationLength(header); 00188 size += ros::serialization::serializationLength(control); 00189 return size; 00190 } 00191 00192 typedef boost::shared_ptr< ::art_msgs::CarDriveStamped_<ContainerAllocator> > Ptr; 00193 typedef boost::shared_ptr< ::art_msgs::CarDriveStamped_<ContainerAllocator> const> ConstPtr; 00194 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00195 }; // struct CarDriveStamped 00196 typedef ::art_msgs::CarDriveStamped_<std::allocator<void> > CarDriveStamped; 00197 00198 typedef boost::shared_ptr< ::art_msgs::CarDriveStamped> CarDriveStampedPtr; 00199 typedef boost::shared_ptr< ::art_msgs::CarDriveStamped const> CarDriveStampedConstPtr; 00200 00201 00202 template<typename ContainerAllocator> 00203 std::ostream& operator<<(std::ostream& s, const ::art_msgs::CarDriveStamped_<ContainerAllocator> & v) 00204 { 00205 ros::message_operations::Printer< ::art_msgs::CarDriveStamped_<ContainerAllocator> >::stream(s, "", v); 00206 return s;} 00207 00208 } // namespace art_msgs 00209 00210 namespace ros 00211 { 00212 namespace message_traits 00213 { 00214 template<class ContainerAllocator> struct IsMessage< ::art_msgs::CarDriveStamped_<ContainerAllocator> > : public TrueType {}; 00215 template<class ContainerAllocator> struct IsMessage< ::art_msgs::CarDriveStamped_<ContainerAllocator> const> : public TrueType {}; 00216 template<class ContainerAllocator> 00217 struct MD5Sum< ::art_msgs::CarDriveStamped_<ContainerAllocator> > { 00218 static const char* value() 00219 { 00220 return "d243ac5e38754a52c8788d4d37db7a05"; 00221 } 00222 00223 static const char* value(const ::art_msgs::CarDriveStamped_<ContainerAllocator> &) { return value(); } 00224 static const uint64_t static_value1 = 0xd243ac5e38754a52ULL; 00225 static const uint64_t static_value2 = 0xc8788d4d37db7a05ULL; 00226 }; 00227 00228 template<class ContainerAllocator> 00229 struct DataType< ::art_msgs::CarDriveStamped_<ContainerAllocator> > { 00230 static const char* value() 00231 { 00232 return "art_msgs/CarDriveStamped"; 00233 } 00234 00235 static const char* value(const ::art_msgs::CarDriveStamped_<ContainerAllocator> &) { return value(); } 00236 }; 00237 00238 template<class ContainerAllocator> 00239 struct Definition< ::art_msgs::CarDriveStamped_<ContainerAllocator> > { 00240 static const char* value() 00241 { 00242 return "# CarDrive message with timestamp.\n\ 00243 # $Id: CarDriveStamped.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00244 \n\ 00245 Header header\n\ 00246 CarDrive control\n\ 00247 \n\ 00248 ================================================================================\n\ 00249 MSG: std_msgs/Header\n\ 00250 # Standard metadata for higher-level stamped data types.\n\ 00251 # This is generally used to communicate timestamped data \n\ 00252 # in a particular coordinate frame.\n\ 00253 # \n\ 00254 # sequence ID: consecutively increasing ID \n\ 00255 uint32 seq\n\ 00256 #Two-integer timestamp that is expressed as:\n\ 00257 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00258 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00259 # time-handling sugar is provided by the client library\n\ 00260 time stamp\n\ 00261 #Frame this data is associated with\n\ 00262 # 0: no frame\n\ 00263 # 1: global frame\n\ 00264 string frame_id\n\ 00265 \n\ 00266 ================================================================================\n\ 00267 MSG: art_msgs/CarDrive\n\ 00268 # Driving command for a car-like vehicle using Ackermann steering.\n\ 00269 # $Id: CarDrive.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00270 \n\ 00271 # Drive at requested speed, acceleration and jerk (the 1st, 2nd and\n\ 00272 # 3rd derivatives of position). All are non-negative scalars. \n\ 00273 #\n\ 00274 # Speed is defined as the scalar magnitude of the velocity\n\ 00275 # vector. Direction (forwards or backwards) is determined by the gear.\n\ 00276 #\n\ 00277 # Zero acceleration means change speed as quickly as\n\ 00278 # possible. Positive acceleration may include deceleration as needed\n\ 00279 # to match the desired speed. It represents a desired rate and also a\n\ 00280 # limit not to exceed.\n\ 00281 #\n\ 00282 # Zero jerk means change acceleration as quickly as possible. Positive\n\ 00283 # jerk describes the desired rate of acceleration change in both\n\ 00284 # directions (positive and negative).\n\ 00285 #\n\ 00286 float32 speed # magnitude of velocity vector (m/s)\n\ 00287 float32 acceleration # desired acceleration (m/s^2)\n\ 00288 float32 jerk # desired jerk (m/s^3)\n\ 00289 \n\ 00290 # Assumes Ackermann (front-wheel) steering. This angle is the average\n\ 00291 # yaw of the two front wheels in the vehicle frame of reference\n\ 00292 # (positive left), ignoring their slightly differing angles as if it\n\ 00293 # were a tricycle. This is *not* the angle of the steering wheel\n\ 00294 # inside the passenger compartment.\n\ 00295 #\n\ 00296 float32 steering_angle # steering angle (radians)\n\ 00297 \n\ 00298 Gear gear # requested gear (no change if Naught)\n\ 00299 PilotBehavior behavior # requested pilot behavior\n\ 00300 \n\ 00301 ================================================================================\n\ 00302 MSG: art_msgs/Gear\n\ 00303 # ART vehicle transmission gear numbers\n\ 00304 #\n\ 00305 # Used by several different messages.\n\ 00306 \n\ 00307 # $Id: Gear.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00308 \n\ 00309 # Gear numbers. \n\ 00310 #\n\ 00311 # Naught means: reset all Shifter relays; no change of CarDrive gear.\n\ 00312 uint8 Naught = 0\n\ 00313 uint8 Park = 1\n\ 00314 uint8 Reverse = 2\n\ 00315 uint8 Neutral = 3\n\ 00316 uint8 Drive = 4\n\ 00317 uint8 N_gears = 5\n\ 00318 \n\ 00319 uint8 value # requested or reported gear number\n\ 00320 \n\ 00321 ================================================================================\n\ 00322 MSG: art_msgs/PilotBehavior\n\ 00323 # ART autonomous vehicle pilot node behaviors.\n\ 00324 #\n\ 00325 # Normally, the pilot node does Run, continually sending commands to\n\ 00326 # the servo device actuators and monitoring their state. With Pause,\n\ 00327 # the pilot becomes passive, allowing a learning algorithm or human\n\ 00328 # controller direct access to those devices. In the Off state,\n\ 00329 # various devices are shut down: the transmission in Park, the brake\n\ 00330 # released, the throttle at idle. The engine is not turned off, but\n\ 00331 # it could be.\n\ 00332 \n\ 00333 # $Id: PilotBehavior.msg 1539 2011-05-09 04:09:20Z jack.oquin $\n\ 00334 \n\ 00335 # Behavior value\n\ 00336 uint8 value\n\ 00337 \n\ 00338 # Behavior numbers:\n\ 00339 uint8 Run = 0 # normal driving\n\ 00340 uint8 Pause = 1 # stop issuing servo commands\n\ 00341 uint8 Off = 2 # turn off devices\n\ 00342 uint8 N_behaviors = 3\n\ 00343 \n\ 00344 "; 00345 } 00346 00347 static const char* value(const ::art_msgs::CarDriveStamped_<ContainerAllocator> &) { return value(); } 00348 }; 00349 00350 template<class ContainerAllocator> struct HasHeader< ::art_msgs::CarDriveStamped_<ContainerAllocator> > : public TrueType {}; 00351 template<class ContainerAllocator> struct HasHeader< const ::art_msgs::CarDriveStamped_<ContainerAllocator> > : public TrueType {}; 00352 } // namespace message_traits 00353 } // namespace ros 00354 00355 namespace ros 00356 { 00357 namespace serialization 00358 { 00359 00360 template<class ContainerAllocator> struct Serializer< ::art_msgs::CarDriveStamped_<ContainerAllocator> > 00361 { 00362 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00363 { 00364 stream.next(m.header); 00365 stream.next(m.control); 00366 } 00367 00368 ROS_DECLARE_ALLINONE_SERIALIZER; 00369 }; // struct CarDriveStamped_ 00370 } // namespace serialization 00371 } // namespace ros 00372 00373 namespace ros 00374 { 00375 namespace message_operations 00376 { 00377 00378 template<class ContainerAllocator> 00379 struct Printer< ::art_msgs::CarDriveStamped_<ContainerAllocator> > 00380 { 00381 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::art_msgs::CarDriveStamped_<ContainerAllocator> & v) 00382 { 00383 s << indent << "header: "; 00384 s << std::endl; 00385 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00386 s << indent << "control: "; 00387 s << std::endl; 00388 Printer< ::art_msgs::CarDrive_<ContainerAllocator> >::stream(s, indent + " ", v.control); 00389 } 00390 }; 00391 00392 00393 } // namespace message_operations 00394 } // namespace ros 00395 00396 #endif // ART_MSGS_MESSAGE_CARDRIVESTAMPED_H 00397