Go to the documentation of this file.00001
00002 #ifndef JSK_GUI_MSGS_MESSAGE_IMU_H
00003 #define JSK_GUI_MSGS_MESSAGE_IMU_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 "geometry_msgs/Quaternion.h"
00019 #include "geometry_msgs/Vector3.h"
00020 #include "geometry_msgs/Vector3.h"
00021
00022 namespace jsk_gui_msgs
00023 {
00024 template <class ContainerAllocator>
00025 struct Imu_ {
00026 typedef Imu_<ContainerAllocator> Type;
00027
00028 Imu_()
00029 : header()
00030 , orientation()
00031 , angular_velocity()
00032 , linear_acceleration()
00033 {
00034 }
00035
00036 Imu_(const ContainerAllocator& _alloc)
00037 : header(_alloc)
00038 , orientation(_alloc)
00039 , angular_velocity(_alloc)
00040 , linear_acceleration(_alloc)
00041 {
00042 }
00043
00044 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00045 ::std_msgs::Header_<ContainerAllocator> header;
00046
00047 typedef ::geometry_msgs::Quaternion_<ContainerAllocator> _orientation_type;
00048 ::geometry_msgs::Quaternion_<ContainerAllocator> orientation;
00049
00050 typedef ::geometry_msgs::Vector3_<ContainerAllocator> _angular_velocity_type;
00051 ::geometry_msgs::Vector3_<ContainerAllocator> angular_velocity;
00052
00053 typedef ::geometry_msgs::Vector3_<ContainerAllocator> _linear_acceleration_type;
00054 ::geometry_msgs::Vector3_<ContainerAllocator> linear_acceleration;
00055
00056
00057 typedef boost::shared_ptr< ::jsk_gui_msgs::Imu_<ContainerAllocator> > Ptr;
00058 typedef boost::shared_ptr< ::jsk_gui_msgs::Imu_<ContainerAllocator> const> ConstPtr;
00059 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00060 };
00061 typedef ::jsk_gui_msgs::Imu_<std::allocator<void> > Imu;
00062
00063 typedef boost::shared_ptr< ::jsk_gui_msgs::Imu> ImuPtr;
00064 typedef boost::shared_ptr< ::jsk_gui_msgs::Imu const> ImuConstPtr;
00065
00066
00067 template<typename ContainerAllocator>
00068 std::ostream& operator<<(std::ostream& s, const ::jsk_gui_msgs::Imu_<ContainerAllocator> & v)
00069 {
00070 ros::message_operations::Printer< ::jsk_gui_msgs::Imu_<ContainerAllocator> >::stream(s, "", v);
00071 return s;}
00072
00073 }
00074
00075 namespace ros
00076 {
00077 namespace message_traits
00078 {
00079 template<class ContainerAllocator> struct IsMessage< ::jsk_gui_msgs::Imu_<ContainerAllocator> > : public TrueType {};
00080 template<class ContainerAllocator> struct IsMessage< ::jsk_gui_msgs::Imu_<ContainerAllocator> const> : public TrueType {};
00081 template<class ContainerAllocator>
00082 struct MD5Sum< ::jsk_gui_msgs::Imu_<ContainerAllocator> > {
00083 static const char* value()
00084 {
00085 return "69f0756e896955a61f27c7dd4838f021";
00086 }
00087
00088 static const char* value(const ::jsk_gui_msgs::Imu_<ContainerAllocator> &) { return value(); }
00089 static const uint64_t static_value1 = 0x69f0756e896955a6ULL;
00090 static const uint64_t static_value2 = 0x1f27c7dd4838f021ULL;
00091 };
00092
00093 template<class ContainerAllocator>
00094 struct DataType< ::jsk_gui_msgs::Imu_<ContainerAllocator> > {
00095 static const char* value()
00096 {
00097 return "jsk_gui_msgs/Imu";
00098 }
00099
00100 static const char* value(const ::jsk_gui_msgs::Imu_<ContainerAllocator> &) { return value(); }
00101 };
00102
00103 template<class ContainerAllocator>
00104 struct Definition< ::jsk_gui_msgs::Imu_<ContainerAllocator> > {
00105 static const char* value()
00106 {
00107 return "# This is a message to hold data from an IMU (Inertial Measurement Unit)\n\
00108 #\n\
00109 # Accelerations should be in m/s^2 (not in g's), and rotational velocity should be in rad/sec\n\
00110 #\n\
00111 # If the covariance of the measurement is known, it should be filled in (if all you know is the variance of each measurement, e.g. from the datasheet, just put those along the diagonal)\n\
00112 # A covariance matrix of all zeros will be interpreted as \"covariance unknown\", and to use the data a covariance will have to be assumed or gotten from some other source\n\
00113 #\n\
00114 # If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation estimate), please set element 0 of the associated covariance matrix to -1\n\
00115 # If you are interpreting this message, please check for a value of -1 in the first element of each covariance matrix, and disregard the associated estimate.\n\
00116 \n\
00117 Header header\n\
00118 \n\
00119 geometry_msgs/Quaternion orientation\n\
00120 \n\
00121 \n\
00122 geometry_msgs/Vector3 angular_velocity\n\
00123 \n\
00124 \n\
00125 geometry_msgs/Vector3 linear_acceleration\n\
00126 ================================================================================\n\
00127 MSG: std_msgs/Header\n\
00128 # Standard metadata for higher-level stamped data types.\n\
00129 # This is generally used to communicate timestamped data \n\
00130 # in a particular coordinate frame.\n\
00131 # \n\
00132 # sequence ID: consecutively increasing ID \n\
00133 uint32 seq\n\
00134 #Two-integer timestamp that is expressed as:\n\
00135 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00136 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00137 # time-handling sugar is provided by the client library\n\
00138 time stamp\n\
00139 #Frame this data is associated with\n\
00140 # 0: no frame\n\
00141 # 1: global frame\n\
00142 string frame_id\n\
00143 \n\
00144 ================================================================================\n\
00145 MSG: geometry_msgs/Quaternion\n\
00146 # This represents an orientation in free space in quaternion form.\n\
00147 \n\
00148 float64 x\n\
00149 float64 y\n\
00150 float64 z\n\
00151 float64 w\n\
00152 \n\
00153 ================================================================================\n\
00154 MSG: geometry_msgs/Vector3\n\
00155 # This represents a vector in free space. \n\
00156 \n\
00157 float64 x\n\
00158 float64 y\n\
00159 float64 z\n\
00160 ";
00161 }
00162
00163 static const char* value(const ::jsk_gui_msgs::Imu_<ContainerAllocator> &) { return value(); }
00164 };
00165
00166 template<class ContainerAllocator> struct HasHeader< ::jsk_gui_msgs::Imu_<ContainerAllocator> > : public TrueType {};
00167 template<class ContainerAllocator> struct HasHeader< const ::jsk_gui_msgs::Imu_<ContainerAllocator> > : public TrueType {};
00168 }
00169 }
00170
00171 namespace ros
00172 {
00173 namespace serialization
00174 {
00175
00176 template<class ContainerAllocator> struct Serializer< ::jsk_gui_msgs::Imu_<ContainerAllocator> >
00177 {
00178 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00179 {
00180 stream.next(m.header);
00181 stream.next(m.orientation);
00182 stream.next(m.angular_velocity);
00183 stream.next(m.linear_acceleration);
00184 }
00185
00186 ROS_DECLARE_ALLINONE_SERIALIZER;
00187 };
00188 }
00189 }
00190
00191 namespace ros
00192 {
00193 namespace message_operations
00194 {
00195
00196 template<class ContainerAllocator>
00197 struct Printer< ::jsk_gui_msgs::Imu_<ContainerAllocator> >
00198 {
00199 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::jsk_gui_msgs::Imu_<ContainerAllocator> & v)
00200 {
00201 s << indent << "header: ";
00202 s << std::endl;
00203 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00204 s << indent << "orientation: ";
00205 s << std::endl;
00206 Printer< ::geometry_msgs::Quaternion_<ContainerAllocator> >::stream(s, indent + " ", v.orientation);
00207 s << indent << "angular_velocity: ";
00208 s << std::endl;
00209 Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.angular_velocity);
00210 s << indent << "linear_acceleration: ";
00211 s << std::endl;
00212 Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.linear_acceleration);
00213 }
00214 };
00215
00216
00217 }
00218 }
00219
00220 #endif // JSK_GUI_MSGS_MESSAGE_IMU_H
00221