$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-asctec_drivers/doc_stacks/2013-03-05_11-30-36.379198/asctec_drivers/asctec_msgs/msg/IMUCalcData.msg */ 00002 #ifndef ASCTEC_MSGS_MESSAGE_IMUCALCDATA_H 00003 #define ASCTEC_MSGS_MESSAGE_IMUCALCDATA_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 00019 namespace asctec_msgs 00020 { 00021 template <class ContainerAllocator> 00022 struct IMUCalcData_ { 00023 typedef IMUCalcData_<ContainerAllocator> Type; 00024 00025 IMUCalcData_() 00026 : header() 00027 , angle_nick(0) 00028 , angle_roll(0) 00029 , angle_yaw(0) 00030 , angvel_nick(0) 00031 , angvel_roll(0) 00032 , angvel_yaw(0) 00033 , acc_x_calib(0) 00034 , acc_y_calib(0) 00035 , acc_z_calib(0) 00036 , acc_x(0) 00037 , acc_y(0) 00038 , acc_z(0) 00039 , acc_angle_nick(0) 00040 , acc_angle_roll(0) 00041 , acc_absolute_value(0) 00042 , Hx(0) 00043 , Hy(0) 00044 , Hz(0) 00045 , mag_heading(0) 00046 , speed_x(0) 00047 , speed_y(0) 00048 , speed_z(0) 00049 , height(0) 00050 , dheight(0) 00051 , dheight_reference(0) 00052 , height_reference(0) 00053 { 00054 } 00055 00056 IMUCalcData_(const ContainerAllocator& _alloc) 00057 : header(_alloc) 00058 , angle_nick(0) 00059 , angle_roll(0) 00060 , angle_yaw(0) 00061 , angvel_nick(0) 00062 , angvel_roll(0) 00063 , angvel_yaw(0) 00064 , acc_x_calib(0) 00065 , acc_y_calib(0) 00066 , acc_z_calib(0) 00067 , acc_x(0) 00068 , acc_y(0) 00069 , acc_z(0) 00070 , acc_angle_nick(0) 00071 , acc_angle_roll(0) 00072 , acc_absolute_value(0) 00073 , Hx(0) 00074 , Hy(0) 00075 , Hz(0) 00076 , mag_heading(0) 00077 , speed_x(0) 00078 , speed_y(0) 00079 , speed_z(0) 00080 , height(0) 00081 , dheight(0) 00082 , dheight_reference(0) 00083 , height_reference(0) 00084 { 00085 } 00086 00087 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00088 ::std_msgs::Header_<ContainerAllocator> header; 00089 00090 typedef int32_t _angle_nick_type; 00091 int32_t angle_nick; 00092 00093 typedef int32_t _angle_roll_type; 00094 int32_t angle_roll; 00095 00096 typedef int32_t _angle_yaw_type; 00097 int32_t angle_yaw; 00098 00099 typedef int32_t _angvel_nick_type; 00100 int32_t angvel_nick; 00101 00102 typedef int32_t _angvel_roll_type; 00103 int32_t angvel_roll; 00104 00105 typedef int32_t _angvel_yaw_type; 00106 int32_t angvel_yaw; 00107 00108 typedef int16_t _acc_x_calib_type; 00109 int16_t acc_x_calib; 00110 00111 typedef int16_t _acc_y_calib_type; 00112 int16_t acc_y_calib; 00113 00114 typedef int16_t _acc_z_calib_type; 00115 int16_t acc_z_calib; 00116 00117 typedef int16_t _acc_x_type; 00118 int16_t acc_x; 00119 00120 typedef int16_t _acc_y_type; 00121 int16_t acc_y; 00122 00123 typedef int16_t _acc_z_type; 00124 int16_t acc_z; 00125 00126 typedef int32_t _acc_angle_nick_type; 00127 int32_t acc_angle_nick; 00128 00129 typedef int32_t _acc_angle_roll_type; 00130 int32_t acc_angle_roll; 00131 00132 typedef int32_t _acc_absolute_value_type; 00133 int32_t acc_absolute_value; 00134 00135 typedef int32_t _Hx_type; 00136 int32_t Hx; 00137 00138 typedef int32_t _Hy_type; 00139 int32_t Hy; 00140 00141 typedef int32_t _Hz_type; 00142 int32_t Hz; 00143 00144 typedef int32_t _mag_heading_type; 00145 int32_t mag_heading; 00146 00147 typedef int32_t _speed_x_type; 00148 int32_t speed_x; 00149 00150 typedef int32_t _speed_y_type; 00151 int32_t speed_y; 00152 00153 typedef int32_t _speed_z_type; 00154 int32_t speed_z; 00155 00156 typedef int32_t _height_type; 00157 int32_t height; 00158 00159 typedef int32_t _dheight_type; 00160 int32_t dheight; 00161 00162 typedef int32_t _dheight_reference_type; 00163 int32_t dheight_reference; 00164 00165 typedef int32_t _height_reference_type; 00166 int32_t height_reference; 00167 00168 00169 private: 00170 static const char* __s_getDataType_() { return "asctec_msgs/IMUCalcData"; } 00171 public: 00172 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00173 00174 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00175 00176 private: 00177 static const char* __s_getMD5Sum_() { return "69fa9ec7b73af705eabe7dcbfd39ac85"; } 00178 public: 00179 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00180 00181 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00182 00183 private: 00184 static const char* __s_getMessageDefinition_() { return "# Software License Agreement (BSD License)\n\ 00185 #\n\ 00186 # Copyright (c) 2010\n\ 00187 # William Morris <morris@ee.ccny.cuny.edu>\n\ 00188 # Ivan Dryanovski <ivan.dryanovski@gmail.com>\n\ 00189 # All rights reserved.\n\ 00190 #\n\ 00191 # Redistribution and use in source and binary forms, with or without\n\ 00192 # modification, are permitted provided that the following conditions\n\ 00193 # are met:\n\ 00194 #\n\ 00195 # * Redistributions of source code must retain the above copyright\n\ 00196 # notice, this list of conditions and the following disclaimer.\n\ 00197 # * Redistributions in binary form must reproduce the above\n\ 00198 # copyright notice, this list of conditions and the following\n\ 00199 # disclaimer in the documentation and/or other materials provided\n\ 00200 # with the distribution.\n\ 00201 # * Neither the name of CCNY Robotics Lab nor the names of its\n\ 00202 # contributors may be used to endorse or promote products derived\n\ 00203 # from this software without specific prior written permission.\n\ 00204 #\n\ 00205 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\ 00206 # \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\ 00207 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n\ 00208 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n\ 00209 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n\ 00210 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n\ 00211 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\ 00212 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n\ 00213 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\ 00214 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n\ 00215 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n\ 00216 # POSSIBILITY OF SUCH DAMAGE.\n\ 00217 \n\ 00218 Header header\n\ 00219 # angles derived by integration of gyro_outputs, drift compensated by data fusion;\n\ 00220 #-90000..+90000 pitch(nick) and roll, 0..360000 yaw; 1000 = 1 degree\n\ 00221 \n\ 00222 int32 angle_nick\n\ 00223 int32 angle_roll\n\ 00224 int32 angle_yaw\n\ 00225 \n\ 00226 # angular velocities, raw values [16 bit], bias free, in 0.0154 degree/s (=> 64.8 = 1 degree/s)\n\ 00227 \n\ 00228 int32 angvel_nick\n\ 00229 int32 angvel_roll\n\ 00230 int32 angvel_yaw\n\ 00231 \n\ 00232 # acc-sensor outputs, calibrated: -10000..+10000 = -1g..+1g\n\ 00233 \n\ 00234 int16 acc_x_calib\n\ 00235 int16 acc_y_calib\n\ 00236 int16 acc_z_calib\n\ 00237 \n\ 00238 # horizontal / vertical accelerations: -10000..+10000 = -1g..+1g\n\ 00239 \n\ 00240 int16 acc_x\n\ 00241 int16 acc_y\n\ 00242 int16 acc_z\n\ 00243 \n\ 00244 # reference angles derived by accelerations only: -90000..+90000; 1000 = 1 degree\n\ 00245 \n\ 00246 int32 acc_angle_nick\n\ 00247 int32 acc_angle_roll\n\ 00248 \n\ 00249 # total acceleration measured (10000 = 1g)\n\ 00250 \n\ 00251 int32 acc_absolute_value\n\ 00252 \n\ 00253 # magnetic field sensors output, offset free and scaled; units not determined, \n\ 00254 # as only the direction of the field vector is taken into account\n\ 00255 \n\ 00256 int32 Hx\n\ 00257 int32 Hy\n\ 00258 int32 Hz\n\ 00259 \n\ 00260 # compass reading: angle reference for angle_yaw: 0..360000; 1000 = 1 degree\n\ 00261 \n\ 00262 int32 mag_heading\n\ 00263 \n\ 00264 # pseudo speed measurements: integrated accelerations, pulled towards zero; units unknown;\n\ 00265 # used for short-term position stabilization\n\ 00266 \n\ 00267 int32 speed_x\n\ 00268 int32 speed_y\n\ 00269 int32 speed_z\n\ 00270 \n\ 00271 # height in mm (after data fusion)\n\ 00272 \n\ 00273 int32 height\n\ 00274 \n\ 00275 # diff. height in mm/s (after data fusion)\n\ 00276 \n\ 00277 int32 dheight\n\ 00278 \n\ 00279 # diff. height measured by the pressure sensor [mm/s]\n\ 00280 \n\ 00281 int32 dheight_reference\n\ 00282 \n\ 00283 # height measured by the pressure sensor [mm]\n\ 00284 \n\ 00285 int32 height_reference\n\ 00286 \n\ 00287 \n\ 00288 ================================================================================\n\ 00289 MSG: std_msgs/Header\n\ 00290 # Standard metadata for higher-level stamped data types.\n\ 00291 # This is generally used to communicate timestamped data \n\ 00292 # in a particular coordinate frame.\n\ 00293 # \n\ 00294 # sequence ID: consecutively increasing ID \n\ 00295 uint32 seq\n\ 00296 #Two-integer timestamp that is expressed as:\n\ 00297 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00298 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00299 # time-handling sugar is provided by the client library\n\ 00300 time stamp\n\ 00301 #Frame this data is associated with\n\ 00302 # 0: no frame\n\ 00303 # 1: global frame\n\ 00304 string frame_id\n\ 00305 \n\ 00306 "; } 00307 public: 00308 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00309 00310 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00311 00312 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00313 { 00314 ros::serialization::OStream stream(write_ptr, 1000000000); 00315 ros::serialization::serialize(stream, header); 00316 ros::serialization::serialize(stream, angle_nick); 00317 ros::serialization::serialize(stream, angle_roll); 00318 ros::serialization::serialize(stream, angle_yaw); 00319 ros::serialization::serialize(stream, angvel_nick); 00320 ros::serialization::serialize(stream, angvel_roll); 00321 ros::serialization::serialize(stream, angvel_yaw); 00322 ros::serialization::serialize(stream, acc_x_calib); 00323 ros::serialization::serialize(stream, acc_y_calib); 00324 ros::serialization::serialize(stream, acc_z_calib); 00325 ros::serialization::serialize(stream, acc_x); 00326 ros::serialization::serialize(stream, acc_y); 00327 ros::serialization::serialize(stream, acc_z); 00328 ros::serialization::serialize(stream, acc_angle_nick); 00329 ros::serialization::serialize(stream, acc_angle_roll); 00330 ros::serialization::serialize(stream, acc_absolute_value); 00331 ros::serialization::serialize(stream, Hx); 00332 ros::serialization::serialize(stream, Hy); 00333 ros::serialization::serialize(stream, Hz); 00334 ros::serialization::serialize(stream, mag_heading); 00335 ros::serialization::serialize(stream, speed_x); 00336 ros::serialization::serialize(stream, speed_y); 00337 ros::serialization::serialize(stream, speed_z); 00338 ros::serialization::serialize(stream, height); 00339 ros::serialization::serialize(stream, dheight); 00340 ros::serialization::serialize(stream, dheight_reference); 00341 ros::serialization::serialize(stream, height_reference); 00342 return stream.getData(); 00343 } 00344 00345 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00346 { 00347 ros::serialization::IStream stream(read_ptr, 1000000000); 00348 ros::serialization::deserialize(stream, header); 00349 ros::serialization::deserialize(stream, angle_nick); 00350 ros::serialization::deserialize(stream, angle_roll); 00351 ros::serialization::deserialize(stream, angle_yaw); 00352 ros::serialization::deserialize(stream, angvel_nick); 00353 ros::serialization::deserialize(stream, angvel_roll); 00354 ros::serialization::deserialize(stream, angvel_yaw); 00355 ros::serialization::deserialize(stream, acc_x_calib); 00356 ros::serialization::deserialize(stream, acc_y_calib); 00357 ros::serialization::deserialize(stream, acc_z_calib); 00358 ros::serialization::deserialize(stream, acc_x); 00359 ros::serialization::deserialize(stream, acc_y); 00360 ros::serialization::deserialize(stream, acc_z); 00361 ros::serialization::deserialize(stream, acc_angle_nick); 00362 ros::serialization::deserialize(stream, acc_angle_roll); 00363 ros::serialization::deserialize(stream, acc_absolute_value); 00364 ros::serialization::deserialize(stream, Hx); 00365 ros::serialization::deserialize(stream, Hy); 00366 ros::serialization::deserialize(stream, Hz); 00367 ros::serialization::deserialize(stream, mag_heading); 00368 ros::serialization::deserialize(stream, speed_x); 00369 ros::serialization::deserialize(stream, speed_y); 00370 ros::serialization::deserialize(stream, speed_z); 00371 ros::serialization::deserialize(stream, height); 00372 ros::serialization::deserialize(stream, dheight); 00373 ros::serialization::deserialize(stream, dheight_reference); 00374 ros::serialization::deserialize(stream, height_reference); 00375 return stream.getData(); 00376 } 00377 00378 ROS_DEPRECATED virtual uint32_t serializationLength() const 00379 { 00380 uint32_t size = 0; 00381 size += ros::serialization::serializationLength(header); 00382 size += ros::serialization::serializationLength(angle_nick); 00383 size += ros::serialization::serializationLength(angle_roll); 00384 size += ros::serialization::serializationLength(angle_yaw); 00385 size += ros::serialization::serializationLength(angvel_nick); 00386 size += ros::serialization::serializationLength(angvel_roll); 00387 size += ros::serialization::serializationLength(angvel_yaw); 00388 size += ros::serialization::serializationLength(acc_x_calib); 00389 size += ros::serialization::serializationLength(acc_y_calib); 00390 size += ros::serialization::serializationLength(acc_z_calib); 00391 size += ros::serialization::serializationLength(acc_x); 00392 size += ros::serialization::serializationLength(acc_y); 00393 size += ros::serialization::serializationLength(acc_z); 00394 size += ros::serialization::serializationLength(acc_angle_nick); 00395 size += ros::serialization::serializationLength(acc_angle_roll); 00396 size += ros::serialization::serializationLength(acc_absolute_value); 00397 size += ros::serialization::serializationLength(Hx); 00398 size += ros::serialization::serializationLength(Hy); 00399 size += ros::serialization::serializationLength(Hz); 00400 size += ros::serialization::serializationLength(mag_heading); 00401 size += ros::serialization::serializationLength(speed_x); 00402 size += ros::serialization::serializationLength(speed_y); 00403 size += ros::serialization::serializationLength(speed_z); 00404 size += ros::serialization::serializationLength(height); 00405 size += ros::serialization::serializationLength(dheight); 00406 size += ros::serialization::serializationLength(dheight_reference); 00407 size += ros::serialization::serializationLength(height_reference); 00408 return size; 00409 } 00410 00411 typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > Ptr; 00412 typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData_<ContainerAllocator> const> ConstPtr; 00413 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00414 }; // struct IMUCalcData 00415 typedef ::asctec_msgs::IMUCalcData_<std::allocator<void> > IMUCalcData; 00416 00417 typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData> IMUCalcDataPtr; 00418 typedef boost::shared_ptr< ::asctec_msgs::IMUCalcData const> IMUCalcDataConstPtr; 00419 00420 00421 template<typename ContainerAllocator> 00422 std::ostream& operator<<(std::ostream& s, const ::asctec_msgs::IMUCalcData_<ContainerAllocator> & v) 00423 { 00424 ros::message_operations::Printer< ::asctec_msgs::IMUCalcData_<ContainerAllocator> >::stream(s, "", v); 00425 return s;} 00426 00427 } // namespace asctec_msgs 00428 00429 namespace ros 00430 { 00431 namespace message_traits 00432 { 00433 template<class ContainerAllocator> struct IsMessage< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > : public TrueType {}; 00434 template<class ContainerAllocator> struct IsMessage< ::asctec_msgs::IMUCalcData_<ContainerAllocator> const> : public TrueType {}; 00435 template<class ContainerAllocator> 00436 struct MD5Sum< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > { 00437 static const char* value() 00438 { 00439 return "69fa9ec7b73af705eabe7dcbfd39ac85"; 00440 } 00441 00442 static const char* value(const ::asctec_msgs::IMUCalcData_<ContainerAllocator> &) { return value(); } 00443 static const uint64_t static_value1 = 0x69fa9ec7b73af705ULL; 00444 static const uint64_t static_value2 = 0xeabe7dcbfd39ac85ULL; 00445 }; 00446 00447 template<class ContainerAllocator> 00448 struct DataType< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > { 00449 static const char* value() 00450 { 00451 return "asctec_msgs/IMUCalcData"; 00452 } 00453 00454 static const char* value(const ::asctec_msgs::IMUCalcData_<ContainerAllocator> &) { return value(); } 00455 }; 00456 00457 template<class ContainerAllocator> 00458 struct Definition< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > { 00459 static const char* value() 00460 { 00461 return "# Software License Agreement (BSD License)\n\ 00462 #\n\ 00463 # Copyright (c) 2010\n\ 00464 # William Morris <morris@ee.ccny.cuny.edu>\n\ 00465 # Ivan Dryanovski <ivan.dryanovski@gmail.com>\n\ 00466 # All rights reserved.\n\ 00467 #\n\ 00468 # Redistribution and use in source and binary forms, with or without\n\ 00469 # modification, are permitted provided that the following conditions\n\ 00470 # are met:\n\ 00471 #\n\ 00472 # * Redistributions of source code must retain the above copyright\n\ 00473 # notice, this list of conditions and the following disclaimer.\n\ 00474 # * Redistributions in binary form must reproduce the above\n\ 00475 # copyright notice, this list of conditions and the following\n\ 00476 # disclaimer in the documentation and/or other materials provided\n\ 00477 # with the distribution.\n\ 00478 # * Neither the name of CCNY Robotics Lab nor the names of its\n\ 00479 # contributors may be used to endorse or promote products derived\n\ 00480 # from this software without specific prior written permission.\n\ 00481 #\n\ 00482 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\ 00483 # \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\ 00484 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n\ 00485 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n\ 00486 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n\ 00487 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n\ 00488 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\ 00489 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n\ 00490 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\ 00491 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n\ 00492 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n\ 00493 # POSSIBILITY OF SUCH DAMAGE.\n\ 00494 \n\ 00495 Header header\n\ 00496 # angles derived by integration of gyro_outputs, drift compensated by data fusion;\n\ 00497 #-90000..+90000 pitch(nick) and roll, 0..360000 yaw; 1000 = 1 degree\n\ 00498 \n\ 00499 int32 angle_nick\n\ 00500 int32 angle_roll\n\ 00501 int32 angle_yaw\n\ 00502 \n\ 00503 # angular velocities, raw values [16 bit], bias free, in 0.0154 degree/s (=> 64.8 = 1 degree/s)\n\ 00504 \n\ 00505 int32 angvel_nick\n\ 00506 int32 angvel_roll\n\ 00507 int32 angvel_yaw\n\ 00508 \n\ 00509 # acc-sensor outputs, calibrated: -10000..+10000 = -1g..+1g\n\ 00510 \n\ 00511 int16 acc_x_calib\n\ 00512 int16 acc_y_calib\n\ 00513 int16 acc_z_calib\n\ 00514 \n\ 00515 # horizontal / vertical accelerations: -10000..+10000 = -1g..+1g\n\ 00516 \n\ 00517 int16 acc_x\n\ 00518 int16 acc_y\n\ 00519 int16 acc_z\n\ 00520 \n\ 00521 # reference angles derived by accelerations only: -90000..+90000; 1000 = 1 degree\n\ 00522 \n\ 00523 int32 acc_angle_nick\n\ 00524 int32 acc_angle_roll\n\ 00525 \n\ 00526 # total acceleration measured (10000 = 1g)\n\ 00527 \n\ 00528 int32 acc_absolute_value\n\ 00529 \n\ 00530 # magnetic field sensors output, offset free and scaled; units not determined, \n\ 00531 # as only the direction of the field vector is taken into account\n\ 00532 \n\ 00533 int32 Hx\n\ 00534 int32 Hy\n\ 00535 int32 Hz\n\ 00536 \n\ 00537 # compass reading: angle reference for angle_yaw: 0..360000; 1000 = 1 degree\n\ 00538 \n\ 00539 int32 mag_heading\n\ 00540 \n\ 00541 # pseudo speed measurements: integrated accelerations, pulled towards zero; units unknown;\n\ 00542 # used for short-term position stabilization\n\ 00543 \n\ 00544 int32 speed_x\n\ 00545 int32 speed_y\n\ 00546 int32 speed_z\n\ 00547 \n\ 00548 # height in mm (after data fusion)\n\ 00549 \n\ 00550 int32 height\n\ 00551 \n\ 00552 # diff. height in mm/s (after data fusion)\n\ 00553 \n\ 00554 int32 dheight\n\ 00555 \n\ 00556 # diff. height measured by the pressure sensor [mm/s]\n\ 00557 \n\ 00558 int32 dheight_reference\n\ 00559 \n\ 00560 # height measured by the pressure sensor [mm]\n\ 00561 \n\ 00562 int32 height_reference\n\ 00563 \n\ 00564 \n\ 00565 ================================================================================\n\ 00566 MSG: std_msgs/Header\n\ 00567 # Standard metadata for higher-level stamped data types.\n\ 00568 # This is generally used to communicate timestamped data \n\ 00569 # in a particular coordinate frame.\n\ 00570 # \n\ 00571 # sequence ID: consecutively increasing ID \n\ 00572 uint32 seq\n\ 00573 #Two-integer timestamp that is expressed as:\n\ 00574 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00575 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00576 # time-handling sugar is provided by the client library\n\ 00577 time stamp\n\ 00578 #Frame this data is associated with\n\ 00579 # 0: no frame\n\ 00580 # 1: global frame\n\ 00581 string frame_id\n\ 00582 \n\ 00583 "; 00584 } 00585 00586 static const char* value(const ::asctec_msgs::IMUCalcData_<ContainerAllocator> &) { return value(); } 00587 }; 00588 00589 template<class ContainerAllocator> struct HasHeader< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > : public TrueType {}; 00590 template<class ContainerAllocator> struct HasHeader< const ::asctec_msgs::IMUCalcData_<ContainerAllocator> > : public TrueType {}; 00591 } // namespace message_traits 00592 } // namespace ros 00593 00594 namespace ros 00595 { 00596 namespace serialization 00597 { 00598 00599 template<class ContainerAllocator> struct Serializer< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > 00600 { 00601 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00602 { 00603 stream.next(m.header); 00604 stream.next(m.angle_nick); 00605 stream.next(m.angle_roll); 00606 stream.next(m.angle_yaw); 00607 stream.next(m.angvel_nick); 00608 stream.next(m.angvel_roll); 00609 stream.next(m.angvel_yaw); 00610 stream.next(m.acc_x_calib); 00611 stream.next(m.acc_y_calib); 00612 stream.next(m.acc_z_calib); 00613 stream.next(m.acc_x); 00614 stream.next(m.acc_y); 00615 stream.next(m.acc_z); 00616 stream.next(m.acc_angle_nick); 00617 stream.next(m.acc_angle_roll); 00618 stream.next(m.acc_absolute_value); 00619 stream.next(m.Hx); 00620 stream.next(m.Hy); 00621 stream.next(m.Hz); 00622 stream.next(m.mag_heading); 00623 stream.next(m.speed_x); 00624 stream.next(m.speed_y); 00625 stream.next(m.speed_z); 00626 stream.next(m.height); 00627 stream.next(m.dheight); 00628 stream.next(m.dheight_reference); 00629 stream.next(m.height_reference); 00630 } 00631 00632 ROS_DECLARE_ALLINONE_SERIALIZER; 00633 }; // struct IMUCalcData_ 00634 } // namespace serialization 00635 } // namespace ros 00636 00637 namespace ros 00638 { 00639 namespace message_operations 00640 { 00641 00642 template<class ContainerAllocator> 00643 struct Printer< ::asctec_msgs::IMUCalcData_<ContainerAllocator> > 00644 { 00645 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::asctec_msgs::IMUCalcData_<ContainerAllocator> & v) 00646 { 00647 s << indent << "header: "; 00648 s << std::endl; 00649 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00650 s << indent << "angle_nick: "; 00651 Printer<int32_t>::stream(s, indent + " ", v.angle_nick); 00652 s << indent << "angle_roll: "; 00653 Printer<int32_t>::stream(s, indent + " ", v.angle_roll); 00654 s << indent << "angle_yaw: "; 00655 Printer<int32_t>::stream(s, indent + " ", v.angle_yaw); 00656 s << indent << "angvel_nick: "; 00657 Printer<int32_t>::stream(s, indent + " ", v.angvel_nick); 00658 s << indent << "angvel_roll: "; 00659 Printer<int32_t>::stream(s, indent + " ", v.angvel_roll); 00660 s << indent << "angvel_yaw: "; 00661 Printer<int32_t>::stream(s, indent + " ", v.angvel_yaw); 00662 s << indent << "acc_x_calib: "; 00663 Printer<int16_t>::stream(s, indent + " ", v.acc_x_calib); 00664 s << indent << "acc_y_calib: "; 00665 Printer<int16_t>::stream(s, indent + " ", v.acc_y_calib); 00666 s << indent << "acc_z_calib: "; 00667 Printer<int16_t>::stream(s, indent + " ", v.acc_z_calib); 00668 s << indent << "acc_x: "; 00669 Printer<int16_t>::stream(s, indent + " ", v.acc_x); 00670 s << indent << "acc_y: "; 00671 Printer<int16_t>::stream(s, indent + " ", v.acc_y); 00672 s << indent << "acc_z: "; 00673 Printer<int16_t>::stream(s, indent + " ", v.acc_z); 00674 s << indent << "acc_angle_nick: "; 00675 Printer<int32_t>::stream(s, indent + " ", v.acc_angle_nick); 00676 s << indent << "acc_angle_roll: "; 00677 Printer<int32_t>::stream(s, indent + " ", v.acc_angle_roll); 00678 s << indent << "acc_absolute_value: "; 00679 Printer<int32_t>::stream(s, indent + " ", v.acc_absolute_value); 00680 s << indent << "Hx: "; 00681 Printer<int32_t>::stream(s, indent + " ", v.Hx); 00682 s << indent << "Hy: "; 00683 Printer<int32_t>::stream(s, indent + " ", v.Hy); 00684 s << indent << "Hz: "; 00685 Printer<int32_t>::stream(s, indent + " ", v.Hz); 00686 s << indent << "mag_heading: "; 00687 Printer<int32_t>::stream(s, indent + " ", v.mag_heading); 00688 s << indent << "speed_x: "; 00689 Printer<int32_t>::stream(s, indent + " ", v.speed_x); 00690 s << indent << "speed_y: "; 00691 Printer<int32_t>::stream(s, indent + " ", v.speed_y); 00692 s << indent << "speed_z: "; 00693 Printer<int32_t>::stream(s, indent + " ", v.speed_z); 00694 s << indent << "height: "; 00695 Printer<int32_t>::stream(s, indent + " ", v.height); 00696 s << indent << "dheight: "; 00697 Printer<int32_t>::stream(s, indent + " ", v.dheight); 00698 s << indent << "dheight_reference: "; 00699 Printer<int32_t>::stream(s, indent + " ", v.dheight_reference); 00700 s << indent << "height_reference: "; 00701 Printer<int32_t>::stream(s, indent + " ", v.height_reference); 00702 } 00703 }; 00704 00705 00706 } // namespace message_operations 00707 } // namespace ros 00708 00709 #endif // ASCTEC_MSGS_MESSAGE_IMUCALCDATA_H 00710