$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_mechanism/doc_stacks/2013-03-01_16-59-32.624252/pr2_mechanism/pr2_mechanism_msgs/msg/JointStatistics.msg */ 00002 #ifndef PR2_MECHANISM_MSGS_MESSAGE_JOINTSTATISTICS_H 00003 #define PR2_MECHANISM_MSGS_MESSAGE_JOINTSTATISTICS_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 00018 namespace pr2_mechanism_msgs 00019 { 00020 template <class ContainerAllocator> 00021 struct JointStatistics_ { 00022 typedef JointStatistics_<ContainerAllocator> Type; 00023 00024 JointStatistics_() 00025 : name() 00026 , timestamp() 00027 , position(0.0) 00028 , velocity(0.0) 00029 , measured_effort(0.0) 00030 , commanded_effort(0.0) 00031 , is_calibrated(false) 00032 , violated_limits(false) 00033 , odometer(0.0) 00034 , min_position(0.0) 00035 , max_position(0.0) 00036 , max_abs_velocity(0.0) 00037 , max_abs_effort(0.0) 00038 { 00039 } 00040 00041 JointStatistics_(const ContainerAllocator& _alloc) 00042 : name(_alloc) 00043 , timestamp() 00044 , position(0.0) 00045 , velocity(0.0) 00046 , measured_effort(0.0) 00047 , commanded_effort(0.0) 00048 , is_calibrated(false) 00049 , violated_limits(false) 00050 , odometer(0.0) 00051 , min_position(0.0) 00052 , max_position(0.0) 00053 , max_abs_velocity(0.0) 00054 , max_abs_effort(0.0) 00055 { 00056 } 00057 00058 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type; 00059 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > name; 00060 00061 typedef ros::Time _timestamp_type; 00062 ros::Time timestamp; 00063 00064 typedef double _position_type; 00065 double position; 00066 00067 typedef double _velocity_type; 00068 double velocity; 00069 00070 typedef double _measured_effort_type; 00071 double measured_effort; 00072 00073 typedef double _commanded_effort_type; 00074 double commanded_effort; 00075 00076 typedef uint8_t _is_calibrated_type; 00077 uint8_t is_calibrated; 00078 00079 typedef uint8_t _violated_limits_type; 00080 uint8_t violated_limits; 00081 00082 typedef double _odometer_type; 00083 double odometer; 00084 00085 typedef double _min_position_type; 00086 double min_position; 00087 00088 typedef double _max_position_type; 00089 double max_position; 00090 00091 typedef double _max_abs_velocity_type; 00092 double max_abs_velocity; 00093 00094 typedef double _max_abs_effort_type; 00095 double max_abs_effort; 00096 00097 00098 private: 00099 static const char* __s_getDataType_() { return "pr2_mechanism_msgs/JointStatistics"; } 00100 public: 00101 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00102 00103 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00104 00105 private: 00106 static const char* __s_getMD5Sum_() { return "90fdc8acbce5bc783d8b4aec49af6590"; } 00107 public: 00108 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00109 00110 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00111 00112 private: 00113 static const char* __s_getMessageDefinition_() { return "# This message contains the state of one joint of the pr2 robot.\n\ 00114 # This message is specificly designed for the pr2 robot. \n\ 00115 # A generic joint state message can be found in sensor_msgs::JointState\n\ 00116 \n\ 00117 # the name of the joint\n\ 00118 string name\n\ 00119 \n\ 00120 # the time at which these joint statistics were measured\n\ 00121 time timestamp\n\ 00122 \n\ 00123 # the position of the joint in radians\n\ 00124 float64 position\n\ 00125 \n\ 00126 # the velocity of the joint in radians per second\n\ 00127 float64 velocity\n\ 00128 \n\ 00129 # the measured joint effort \n\ 00130 float64 measured_effort\n\ 00131 \n\ 00132 # the effort that was commanded to the joint.\n\ 00133 # the actual applied effort might be different\n\ 00134 # because the safety code can limit the effort\n\ 00135 # a joint can apply\n\ 00136 float64 commanded_effort\n\ 00137 \n\ 00138 # a flag indicating if the joint is calibrated or not\n\ 00139 bool is_calibrated\n\ 00140 \n\ 00141 # a flag inidcating if the joint violated one of its position/velocity/effort limits\n\ 00142 # in the last publish cycle\n\ 00143 bool violated_limits\n\ 00144 \n\ 00145 # the total distance travelled by the joint, measured in radians.\n\ 00146 float64 odometer\n\ 00147 \n\ 00148 # the lowest position reached by the joint in the last publish cycle\n\ 00149 float64 min_position\n\ 00150 \n\ 00151 # the highest position reached by the joint in the last publish cycle\n\ 00152 float64 max_position\n\ 00153 \n\ 00154 # the maximum absolute velocity reached by the joint in the last publish cycle\n\ 00155 float64 max_abs_velocity\n\ 00156 \n\ 00157 # the maximum absolute effort applied by the joint in the last publish cycle\n\ 00158 float64 max_abs_effort\n\ 00159 \n\ 00160 "; } 00161 public: 00162 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00163 00164 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00165 00166 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00167 { 00168 ros::serialization::OStream stream(write_ptr, 1000000000); 00169 ros::serialization::serialize(stream, name); 00170 ros::serialization::serialize(stream, timestamp); 00171 ros::serialization::serialize(stream, position); 00172 ros::serialization::serialize(stream, velocity); 00173 ros::serialization::serialize(stream, measured_effort); 00174 ros::serialization::serialize(stream, commanded_effort); 00175 ros::serialization::serialize(stream, is_calibrated); 00176 ros::serialization::serialize(stream, violated_limits); 00177 ros::serialization::serialize(stream, odometer); 00178 ros::serialization::serialize(stream, min_position); 00179 ros::serialization::serialize(stream, max_position); 00180 ros::serialization::serialize(stream, max_abs_velocity); 00181 ros::serialization::serialize(stream, max_abs_effort); 00182 return stream.getData(); 00183 } 00184 00185 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00186 { 00187 ros::serialization::IStream stream(read_ptr, 1000000000); 00188 ros::serialization::deserialize(stream, name); 00189 ros::serialization::deserialize(stream, timestamp); 00190 ros::serialization::deserialize(stream, position); 00191 ros::serialization::deserialize(stream, velocity); 00192 ros::serialization::deserialize(stream, measured_effort); 00193 ros::serialization::deserialize(stream, commanded_effort); 00194 ros::serialization::deserialize(stream, is_calibrated); 00195 ros::serialization::deserialize(stream, violated_limits); 00196 ros::serialization::deserialize(stream, odometer); 00197 ros::serialization::deserialize(stream, min_position); 00198 ros::serialization::deserialize(stream, max_position); 00199 ros::serialization::deserialize(stream, max_abs_velocity); 00200 ros::serialization::deserialize(stream, max_abs_effort); 00201 return stream.getData(); 00202 } 00203 00204 ROS_DEPRECATED virtual uint32_t serializationLength() const 00205 { 00206 uint32_t size = 0; 00207 size += ros::serialization::serializationLength(name); 00208 size += ros::serialization::serializationLength(timestamp); 00209 size += ros::serialization::serializationLength(position); 00210 size += ros::serialization::serializationLength(velocity); 00211 size += ros::serialization::serializationLength(measured_effort); 00212 size += ros::serialization::serializationLength(commanded_effort); 00213 size += ros::serialization::serializationLength(is_calibrated); 00214 size += ros::serialization::serializationLength(violated_limits); 00215 size += ros::serialization::serializationLength(odometer); 00216 size += ros::serialization::serializationLength(min_position); 00217 size += ros::serialization::serializationLength(max_position); 00218 size += ros::serialization::serializationLength(max_abs_velocity); 00219 size += ros::serialization::serializationLength(max_abs_effort); 00220 return size; 00221 } 00222 00223 typedef boost::shared_ptr< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > Ptr; 00224 typedef boost::shared_ptr< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> const> ConstPtr; 00225 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00226 }; // struct JointStatistics 00227 typedef ::pr2_mechanism_msgs::JointStatistics_<std::allocator<void> > JointStatistics; 00228 00229 typedef boost::shared_ptr< ::pr2_mechanism_msgs::JointStatistics> JointStatisticsPtr; 00230 typedef boost::shared_ptr< ::pr2_mechanism_msgs::JointStatistics const> JointStatisticsConstPtr; 00231 00232 00233 template<typename ContainerAllocator> 00234 std::ostream& operator<<(std::ostream& s, const ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> & v) 00235 { 00236 ros::message_operations::Printer< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> >::stream(s, "", v); 00237 return s;} 00238 00239 } // namespace pr2_mechanism_msgs 00240 00241 namespace ros 00242 { 00243 namespace message_traits 00244 { 00245 template<class ContainerAllocator> struct IsMessage< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > : public TrueType {}; 00246 template<class ContainerAllocator> struct IsMessage< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> const> : public TrueType {}; 00247 template<class ContainerAllocator> 00248 struct MD5Sum< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > { 00249 static const char* value() 00250 { 00251 return "90fdc8acbce5bc783d8b4aec49af6590"; 00252 } 00253 00254 static const char* value(const ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> &) { return value(); } 00255 static const uint64_t static_value1 = 0x90fdc8acbce5bc78ULL; 00256 static const uint64_t static_value2 = 0x3d8b4aec49af6590ULL; 00257 }; 00258 00259 template<class ContainerAllocator> 00260 struct DataType< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > { 00261 static const char* value() 00262 { 00263 return "pr2_mechanism_msgs/JointStatistics"; 00264 } 00265 00266 static const char* value(const ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> &) { return value(); } 00267 }; 00268 00269 template<class ContainerAllocator> 00270 struct Definition< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > { 00271 static const char* value() 00272 { 00273 return "# This message contains the state of one joint of the pr2 robot.\n\ 00274 # This message is specificly designed for the pr2 robot. \n\ 00275 # A generic joint state message can be found in sensor_msgs::JointState\n\ 00276 \n\ 00277 # the name of the joint\n\ 00278 string name\n\ 00279 \n\ 00280 # the time at which these joint statistics were measured\n\ 00281 time timestamp\n\ 00282 \n\ 00283 # the position of the joint in radians\n\ 00284 float64 position\n\ 00285 \n\ 00286 # the velocity of the joint in radians per second\n\ 00287 float64 velocity\n\ 00288 \n\ 00289 # the measured joint effort \n\ 00290 float64 measured_effort\n\ 00291 \n\ 00292 # the effort that was commanded to the joint.\n\ 00293 # the actual applied effort might be different\n\ 00294 # because the safety code can limit the effort\n\ 00295 # a joint can apply\n\ 00296 float64 commanded_effort\n\ 00297 \n\ 00298 # a flag indicating if the joint is calibrated or not\n\ 00299 bool is_calibrated\n\ 00300 \n\ 00301 # a flag inidcating if the joint violated one of its position/velocity/effort limits\n\ 00302 # in the last publish cycle\n\ 00303 bool violated_limits\n\ 00304 \n\ 00305 # the total distance travelled by the joint, measured in radians.\n\ 00306 float64 odometer\n\ 00307 \n\ 00308 # the lowest position reached by the joint in the last publish cycle\n\ 00309 float64 min_position\n\ 00310 \n\ 00311 # the highest position reached by the joint in the last publish cycle\n\ 00312 float64 max_position\n\ 00313 \n\ 00314 # the maximum absolute velocity reached by the joint in the last publish cycle\n\ 00315 float64 max_abs_velocity\n\ 00316 \n\ 00317 # the maximum absolute effort applied by the joint in the last publish cycle\n\ 00318 float64 max_abs_effort\n\ 00319 \n\ 00320 "; 00321 } 00322 00323 static const char* value(const ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> &) { return value(); } 00324 }; 00325 00326 } // namespace message_traits 00327 } // namespace ros 00328 00329 namespace ros 00330 { 00331 namespace serialization 00332 { 00333 00334 template<class ContainerAllocator> struct Serializer< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > 00335 { 00336 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00337 { 00338 stream.next(m.name); 00339 stream.next(m.timestamp); 00340 stream.next(m.position); 00341 stream.next(m.velocity); 00342 stream.next(m.measured_effort); 00343 stream.next(m.commanded_effort); 00344 stream.next(m.is_calibrated); 00345 stream.next(m.violated_limits); 00346 stream.next(m.odometer); 00347 stream.next(m.min_position); 00348 stream.next(m.max_position); 00349 stream.next(m.max_abs_velocity); 00350 stream.next(m.max_abs_effort); 00351 } 00352 00353 ROS_DECLARE_ALLINONE_SERIALIZER; 00354 }; // struct JointStatistics_ 00355 } // namespace serialization 00356 } // namespace ros 00357 00358 namespace ros 00359 { 00360 namespace message_operations 00361 { 00362 00363 template<class ContainerAllocator> 00364 struct Printer< ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> > 00365 { 00366 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pr2_mechanism_msgs::JointStatistics_<ContainerAllocator> & v) 00367 { 00368 s << indent << "name: "; 00369 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name); 00370 s << indent << "timestamp: "; 00371 Printer<ros::Time>::stream(s, indent + " ", v.timestamp); 00372 s << indent << "position: "; 00373 Printer<double>::stream(s, indent + " ", v.position); 00374 s << indent << "velocity: "; 00375 Printer<double>::stream(s, indent + " ", v.velocity); 00376 s << indent << "measured_effort: "; 00377 Printer<double>::stream(s, indent + " ", v.measured_effort); 00378 s << indent << "commanded_effort: "; 00379 Printer<double>::stream(s, indent + " ", v.commanded_effort); 00380 s << indent << "is_calibrated: "; 00381 Printer<uint8_t>::stream(s, indent + " ", v.is_calibrated); 00382 s << indent << "violated_limits: "; 00383 Printer<uint8_t>::stream(s, indent + " ", v.violated_limits); 00384 s << indent << "odometer: "; 00385 Printer<double>::stream(s, indent + " ", v.odometer); 00386 s << indent << "min_position: "; 00387 Printer<double>::stream(s, indent + " ", v.min_position); 00388 s << indent << "max_position: "; 00389 Printer<double>::stream(s, indent + " ", v.max_position); 00390 s << indent << "max_abs_velocity: "; 00391 Printer<double>::stream(s, indent + " ", v.max_abs_velocity); 00392 s << indent << "max_abs_effort: "; 00393 Printer<double>::stream(s, indent + " ", v.max_abs_effort); 00394 } 00395 }; 00396 00397 00398 } // namespace message_operations 00399 } // namespace ros 00400 00401 #endif // PR2_MECHANISM_MSGS_MESSAGE_JOINTSTATISTICS_H 00402