<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>complementary_filter.cpp</name>
    <path>/tmp/ws/src/imu_tools/imu_complementary_filter/src/</path>
    <filename>complementary__filter_8cpp</filename>
    <includes id="complementary__filter_8h" name="complementary_filter.h" local="yes" imported="no">imu_complementary_filter/complementary_filter.h</includes>
    <namespace>imu_tools</namespace>
    <member kind="function">
      <type>void</type>
      <name>invertQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a4e41ce004549580a4f3d95df36673f55</anchor>
      <arglist>(double q0, double q1, double q2, double q3, double &amp;q0_inv, double &amp;q1_inv, double &amp;q2_inv, double &amp;q3_inv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a092b7b6ad6b4a8fcbdf3c64f1356e7d0</anchor>
      <arglist>(double &amp;q0, double &amp;q1, double &amp;q2, double &amp;q3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeVector</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a165aa8cd9675f0a7967c358e773aa24e</anchor>
      <arglist>(double &amp;x, double &amp;y, double &amp;z)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>quaternionMultiplication</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>af7d00d2b93101afebcf6b6c7c5c0e42e</anchor>
      <arglist>(double p0, double p1, double p2, double p3, double q0, double q1, double q2, double q3, double &amp;r0, double &amp;r1, double &amp;r2, double &amp;r3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotateVectorByQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a974f825fa69c31bf86961a50ca8a7f97</anchor>
      <arglist>(double x, double y, double z, double q0, double q1, double q2, double q3, double &amp;vx, double &amp;vy, double &amp;vz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>ad3c190cffd1814a456ecb42bbd236533</anchor>
      <arglist>(double gain, double &amp;dq0, double &amp;dq1, double &amp;dq2, double &amp;dq3)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>complementary_filter.h</name>
    <path>/tmp/ws/src/imu_tools/imu_complementary_filter/include/imu_complementary_filter/</path>
    <filename>complementary__filter_8h</filename>
    <class kind="class">imu_tools::ComplementaryFilter</class>
    <namespace>imu_tools</namespace>
    <member kind="function">
      <type>void</type>
      <name>invertQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a4e41ce004549580a4f3d95df36673f55</anchor>
      <arglist>(double q0, double q1, double q2, double q3, double &amp;q0_inv, double &amp;q1_inv, double &amp;q2_inv, double &amp;q3_inv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a092b7b6ad6b4a8fcbdf3c64f1356e7d0</anchor>
      <arglist>(double &amp;q0, double &amp;q1, double &amp;q2, double &amp;q3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeVector</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a165aa8cd9675f0a7967c358e773aa24e</anchor>
      <arglist>(double &amp;x, double &amp;y, double &amp;z)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>quaternionMultiplication</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>af7d00d2b93101afebcf6b6c7c5c0e42e</anchor>
      <arglist>(double p0, double p1, double p2, double p3, double q0, double q1, double q2, double q3, double &amp;r0, double &amp;r1, double &amp;r2, double &amp;r3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotateVectorByQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a974f825fa69c31bf86961a50ca8a7f97</anchor>
      <arglist>(double x, double y, double z, double q0, double q1, double q2, double q3, double &amp;vx, double &amp;vy, double &amp;vz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>ad3c190cffd1814a456ecb42bbd236533</anchor>
      <arglist>(double gain, double &amp;dq0, double &amp;dq1, double &amp;dq2, double &amp;dq3)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>complementary_filter_node.cpp</name>
    <path>/tmp/ws/src/imu_tools/imu_complementary_filter/src/</path>
    <filename>complementary__filter__node_8cpp</filename>
    <includes id="complementary__filter__ros_8h" name="complementary_filter_ros.h" local="yes" imported="no">imu_complementary_filter/complementary_filter_ros.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>complementary__filter__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>complementary_filter_ros.cpp</name>
    <path>/tmp/ws/src/imu_tools/imu_complementary_filter/src/</path>
    <filename>complementary__filter__ros_8cpp</filename>
    <includes id="complementary__filter__ros_8h" name="complementary_filter_ros.h" local="yes" imported="no">imu_complementary_filter/complementary_filter_ros.h</includes>
    <namespace>imu_tools</namespace>
  </compound>
  <compound kind="file">
    <name>complementary_filter_ros.h</name>
    <path>/tmp/ws/src/imu_tools/imu_complementary_filter/include/imu_complementary_filter/</path>
    <filename>complementary__filter__ros_8h</filename>
    <includes id="complementary__filter_8h" name="complementary_filter.h" local="yes" imported="no">imu_complementary_filter/complementary_filter.h</includes>
    <class kind="class">imu_tools::ComplementaryFilterROS</class>
    <namespace>imu_tools</namespace>
  </compound>
  <compound kind="namespace">
    <name>imu_tools</name>
    <filename>namespaceimu__tools.html</filename>
    <class kind="class">imu_tools::ComplementaryFilter</class>
    <class kind="class">imu_tools::ComplementaryFilterROS</class>
    <member kind="function">
      <type>void</type>
      <name>invertQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a4e41ce004549580a4f3d95df36673f55</anchor>
      <arglist>(double q0, double q1, double q2, double q3, double &amp;q0_inv, double &amp;q1_inv, double &amp;q2_inv, double &amp;q3_inv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a092b7b6ad6b4a8fcbdf3c64f1356e7d0</anchor>
      <arglist>(double &amp;q0, double &amp;q1, double &amp;q2, double &amp;q3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizeVector</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a165aa8cd9675f0a7967c358e773aa24e</anchor>
      <arglist>(double &amp;x, double &amp;y, double &amp;z)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>quaternionMultiplication</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>af7d00d2b93101afebcf6b6c7c5c0e42e</anchor>
      <arglist>(double p0, double p1, double p2, double p3, double q0, double q1, double q2, double q3, double &amp;r0, double &amp;r1, double &amp;r2, double &amp;r3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>rotateVectorByQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>a974f825fa69c31bf86961a50ca8a7f97</anchor>
      <arglist>(double x, double y, double z, double q0, double q1, double q2, double q3, double &amp;vx, double &amp;vy, double &amp;vz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleQuaternion</name>
      <anchorfile>namespaceimu__tools.html</anchorfile>
      <anchor>ad3c190cffd1814a456ecb42bbd236533</anchor>
      <arglist>(double gain, double &amp;dq0, double &amp;dq1, double &amp;dq2, double &amp;dq3)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>imu_tools::ComplementaryFilter</name>
    <filename>classimu__tools_1_1ComplementaryFilter.html</filename>
    <member kind="function">
      <type></type>
      <name>ComplementaryFilter</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>abaa82c082ff623dff27a7e2063776b77</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getAngularVelocityBiasX</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a55133a2ac6de8870c64fc0b3d38020cb</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getAngularVelocityBiasY</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>af087b9703bb8246246a40087275829d9</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getAngularVelocityBiasZ</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a27732d1bae7c55b47baf424f3df6df4c</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getBiasAlpha</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a986236c6a343b32ebad1e7a0cbfeb9d9</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getDoAdaptiveGain</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a3e1e085603458ca4d3f53ada6e092d29</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getDoBiasEstimation</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a985ba1328eff4ef19492c5616b226de2</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getGainAcc</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a9389665ce7761d77d0fb6e074e049dc2</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getGainMag</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a28ea3f3983741ec169adcb9f8eee966e</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getOrientation</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>aa6ccbac22db1eb91fc2a7f98cb41cd7b</anchor>
      <arglist>(double &amp;q0, double &amp;q1, double &amp;q2, double &amp;q3) const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getSteadyState</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a6ea0cbb1d397fe3843dd2c5b8a2730b6</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setBiasAlpha</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a1a1ba4e58071af508bd5396655636fcf</anchor>
      <arglist>(double bias_alpha)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDoAdaptiveGain</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a731834255e42261fe44a18ae373df472</anchor>
      <arglist>(bool do_adaptive_gain)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDoBiasEstimation</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a2fb9d0d37b98ae18e1cf8307f376232f</anchor>
      <arglist>(bool do_bias_estimation)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setGainAcc</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a996c09b6187d23b8b433fc60fb69b3db</anchor>
      <arglist>(double gain)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setGainMag</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>adb2ded51b9b9c27753f6d4fa40393ab5</anchor>
      <arglist>(double gain)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setOrientation</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>affc299edfe45123cb36bc072933eb258</anchor>
      <arglist>(double q0, double q1, double q2, double q3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a36217ffc004e01845d2e0a9bbc0e59a6</anchor>
      <arglist>(double ax, double ay, double az, double wx, double wy, double wz, double dt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a3e5e19b5a238440c5202bfa779dc5676</anchor>
      <arglist>(double ax, double ay, double az, double wx, double wy, double wz, double mx, double my, double mz, double dt)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ComplementaryFilter</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>ac9ea1f70b8b646fb56aec79f9fed967d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>checkState</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a1adb29885ab9a8eede693f5a8d660c4c</anchor>
      <arglist>(double ax, double ay, double az, double wx, double wy, double wz) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getAccCorrection</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>add4a368bd11fe96140cd1a3e9796c299</anchor>
      <arglist>(double ax, double ay, double az, double p0, double p1, double p2, double p3, double &amp;dq0, double &amp;dq1, double &amp;dq2, double &amp;dq3)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>getAdaptiveGain</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a1a64d943073a0a0ad7010c602d7d1ebf</anchor>
      <arglist>(double alpha, double ax, double ay, double az)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getMagCorrection</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>af7d0e97bea278bdf844188c22e1d105b</anchor>
      <arglist>(double mx, double my, double mz, double p0, double p1, double p2, double p3, double &amp;dq0, double &amp;dq1, double &amp;dq2, double &amp;dq3)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getMeasurement</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a5f2bbbd1511a9e2d508fd7c99f7a714a</anchor>
      <arglist>(double ax, double ay, double az, double &amp;q0_meas, double &amp;q1_meas, double &amp;q2_meas, double &amp;q3_meas)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getMeasurement</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a66abc42e191c2406af4b65ff78906f19</anchor>
      <arglist>(double ax, double ay, double az, double mx, double my, double mz, double &amp;q0_meas, double &amp;q1_meas, double &amp;q2_meas, double &amp;q3_meas)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getPrediction</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a357a047447f3e094c97033ee0d3fd27c</anchor>
      <arglist>(double wx, double wy, double wz, double dt, double &amp;q0_pred, double &amp;q1_pred, double &amp;q2_pred, double &amp;q3_pred) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>updateBiases</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>adee1af67ec2e06b564bccceb9750d9af</anchor>
      <arglist>(double ax, double ay, double az, double wx, double wy, double wz)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>bias_alpha_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>aa919fb2a2993aac28c142e4108421d09</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>do_adaptive_gain_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>ab4e9e729edcccfef0e9be6215d73c880</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>do_bias_estimation_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>ad8af47a3629c808c9fa4aea6099a3992</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>gain_acc_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a63605e8662ac8498a06108c4ef52e163</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>gain_mag_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a173cfc4d97bab3b6e150b466d181a92c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>initialized_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>aaf6154dd067037e5afd1649ba323330e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>q0_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a034871e3d7180dd621c76b86d1966396</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>q1_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a8b9d7b7fbd78371a2283027bef2c379c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>q2_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a77c74425d8a0f493ea011697dc59ae23</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>q3_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>af91ea7e2b3bce8a4958bf25a39bf6d7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>steady_state_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>ab2e89b3322a77be257f2ada8e270e14c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wx_bias_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a91f438b96a6291c29a5be2287b025719</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wx_prev_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>aa341acddd37a082bb862d5d3836e0649</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wy_bias_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>ad3372cd2a7c2b93d6594b70b5d9f93e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wy_prev_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a8ee27710e87a851367185a4512016494</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wz_bias_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a1762d0e32ca46ea408810774894e84ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wz_prev_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a0d5cb8d13e4c98b309a66bc584528c83</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const double</type>
      <name>gamma_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a21645f6edbef24e3b24de55e1cd598d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const double</type>
      <name>kAccelerationThreshold</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>aceaa09b643e5f872eb43aa2b896f2ebd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const double</type>
      <name>kAngularVelocityThreshold</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>aae10217b421317c3075e3ea2c1a2c16a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const double</type>
      <name>kDeltaAngularVelocityThreshold</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>a6ccc9ac2e2ed22b4b0f7ccbdbbaa47c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const double</type>
      <name>kGravity</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilter.html</anchorfile>
      <anchor>adea27be4691eb0bb9509ea54844cbbcf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>imu_tools::ComplementaryFilterROS</name>
    <filename>classimu__tools_1_1ComplementaryFilterROS.html</filename>
    <member kind="function">
      <type></type>
      <name>ComplementaryFilterROS</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>aeb6af382db1a67cd342df5888d933964</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, const ros::NodeHandle &amp;nh_private)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~ComplementaryFilterROS</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a43cea0b4c0ee95d66f9a18f87c9d1636</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>sensor_msgs::Imu</type>
      <name>ImuMsg</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a1e79f5d0987208b1d3eab1e96f52c7e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>message_filters::Subscriber&lt; ImuMsg &gt;</type>
      <name>ImuSubscriber</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a74d5ef7d02e3b699244e9abafcf82834</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>sensor_msgs::MagneticField</type>
      <name>MagMsg</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a706cc148f006a47deb1afaea340b6661</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>message_filters::Subscriber&lt; MagMsg &gt;</type>
      <name>MagSubscriber</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a91e85693b994fb8cfd1356a42eb95ea6</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>message_filters::sync_policies::ApproximateTime&lt; sensor_msgs::Imu, MagMsg &gt;</type>
      <name>MySyncPolicy</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>ad438744a0b73875443bc5701a9592b1f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>message_filters::Synchronizer&lt; SyncPolicy &gt;</type>
      <name>Synchronizer</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>ad9a18994a1b9ad445edb3b810ce15184</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>message_filters::sync_policies::ApproximateTime&lt; ImuMsg, MagMsg &gt;</type>
      <name>SyncPolicy</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a89d7296f37a5210f21f744540c6811b5</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>tf::Quaternion</type>
      <name>hamiltonToTFQuaternion</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>aecb3f41b2a5c3e9e02e7b68e4586df65</anchor>
      <arglist>(double q0, double q1, double q2, double q3) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>imuCallback</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>aa7f82c042e0f44d32601112f24e5fd2c</anchor>
      <arglist>(const ImuMsg::ConstPtr &amp;imu_msg_raw)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>imuMagCallback</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a18f11f8e1acbc60fd420a964a65275e0</anchor>
      <arglist>(const ImuMsg::ConstPtr &amp;imu_msg_raw, const MagMsg::ConstPtr &amp;mav_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>initializeParams</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a2a9c81caa0d14dd726e396deac37463a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publish</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a2225a3cd6bae69f6a094c643a0a9f820</anchor>
      <arglist>(const sensor_msgs::Imu::ConstPtr &amp;imu_msg_raw)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>constant_dt_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a14c1552c6b62b5b16e0b0302d8e82144</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ComplementaryFilter</type>
      <name>filter_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>ab4a4042f09bddf9d573f10bb960a7808</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>fixed_frame_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>aef056a2fe58089576f0351001f6508e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>imu_publisher_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a6a180ef9ce08b1767e499fb262278807</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; ImuSubscriber &gt;</type>
      <name>imu_subscriber_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a288973ff86c8f54a3cc008424d9f0f80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>initialized_filter_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>aef7873c511d57fc7a1c3f3abeb274505</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; MagSubscriber &gt;</type>
      <name>mag_subscriber_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a269819387854bccda7f7eaf9f97d138d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a59f2824ca9a37bdfa623b099f5212428</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_private_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>af71c1a6cba3a2ae7d0497c9f892ea05d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_debug_topics_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a798f1697fea8cdc0e915d973988c47dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>publish_tf_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>ac2b09045b2c6cfd7ec568cab90ee138f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>reverse_tf_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a5bcc4b4ee18bdd60bdeec6d94ad57801</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>rpy_publisher_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a9b1032a25c86f374ae984d523d909567</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>state_publisher_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a0234ce9a2c6c23f2c826d40dec807326</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; Synchronizer &gt;</type>
      <name>sync_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>acc66fdd600d77a76f6f9d8d0c250c9f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformBroadcaster</type>
      <name>tf_broadcaster_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a16d065ae0d6593510f5664dd5582a671</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>time_prev_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>ad88b6ef8f289112d29f5159b5061e9bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>use_mag_</name>
      <anchorfile>classimu__tools_1_1ComplementaryFilterROS.html</anchorfile>
      <anchor>a60b963ce28f9e39c69ca789caf3b0a1e</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
