<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>dither.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/src/</path>
    <filename>dither_8cpp</filename>
    <includes id="dither_8h" name="dither.h" local="no" imported="no">control_toolbox/dither.h</includes>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>dither.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>dither_8h</filename>
    <class kind="class">control_toolbox::Dither</class>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>doc.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/</path>
    <filename>doc_8h</filename>
  </compound>
  <compound kind="file">
    <name>filters.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>filters_8h</filename>
    <namespace>filters</namespace>
    <member kind="function" static="yes">
      <type>static const T &amp;</type>
      <name>clamp</name>
      <anchorfile>namespacefilters.html</anchorfile>
      <anchor>ac558228b7f0e0dfa0f64dea5a9ad5fd5</anchor>
      <arglist>(const T &amp;a, const T &amp;b, const T &amp;c)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>exponentialSmoothing</name>
      <anchorfile>namespacefilters.html</anchorfile>
      <anchor>a40b9d9eea47f418d18914b8517a78c0d</anchor>
      <arglist>(double current_raw_value, double last_smoothed_value, double alpha)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>limited_proxy.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/src/</path>
    <filename>limited__proxy_8cpp</filename>
    <includes id="limited__proxy_8h" name="limited_proxy.h" local="no" imported="no">control_toolbox/limited_proxy.h</includes>
    <namespace>control_toolbox</namespace>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>calcDynamics1storder</name>
      <anchorfile>namespacecontrol__toolbox.html</anchorfile>
      <anchor>a8c89711b87d240ec8c6043453884a153</anchor>
      <arglist>(double &amp;a, double &amp;dadv, double v, double lam, double acon)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>calcDynamics2ndorder</name>
      <anchorfile>namespacecontrol__toolbox.html</anchorfile>
      <anchor>a747f96feedd6efed7a4e4de54516b620</anchor>
      <arglist>(double &amp;a, double &amp;dadp, double &amp;dadv, double p, double v, double lam, double acon)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>limited_proxy.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>limited__proxy_8h</filename>
    <class kind="class">control_toolbox::LimitedProxy</class>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>pid.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/src/</path>
    <filename>pid_8cpp</filename>
    <includes id="pid_8h" name="pid.h" local="no" imported="no">control_toolbox/pid.h</includes>
    <namespace>control_toolbox</namespace>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_NAMESPACE</name>
      <anchorfile>namespacecontrol__toolbox.html</anchorfile>
      <anchor>a62497285352e7f148ec335683b361b95</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pid.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>pid_8h</filename>
    <class kind="struct">control_toolbox::Pid::Gains</class>
    <class kind="class">control_toolbox::Pid</class>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>pid_gains_setter.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/src/</path>
    <filename>pid__gains__setter_8cpp</filename>
    <includes id="pid__gains__setter_8h" name="pid_gains_setter.h" local="yes" imported="no">control_toolbox/pid_gains_setter.h</includes>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>pid_gains_setter.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>pid__gains__setter_8h</filename>
    <includes id="pid_8h" name="pid.h" local="yes" imported="no">control_toolbox/pid.h</includes>
    <class kind="class">control_toolbox::PidGainsSetter</class>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>pid_tests.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/test/</path>
    <filename>pid__tests_8cpp</filename>
    <includes id="pid_8h" name="pid.h" local="no" imported="no">control_toolbox/pid.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>pid__tests_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>pid__tests_8cpp.html</anchorfile>
      <anchor>a42fe8ac9715ee4d5c0746b0944082341</anchor>
      <arglist>(ParameterTest, zeroITermBadIBoundsTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>pid__tests_8cpp.html</anchorfile>
      <anchor>af8ae024d6fa58ba90dfa5dae8ba6e22a</anchor>
      <arglist>(ParameterTest, integrationWindupTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>pid__tests_8cpp.html</anchorfile>
      <anchor>a94035826aa4ab56a9696b1f0c7434461</anchor>
      <arglist>(ParameterTest, integrationWindupZeroGainTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>pid__tests_8cpp.html</anchorfile>
      <anchor>ab77c6f0a4354877d8045b6238ef26a31</anchor>
      <arglist>(ParameterTest, gainSettingCopyPIDTest)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sine_sweep.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/src/</path>
    <filename>sine__sweep_8cpp</filename>
    <includes id="sine__sweep_8h" name="sine_sweep.h" local="no" imported="no">control_toolbox/sine_sweep.h</includes>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>sine_sweep.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>sine__sweep_8h</filename>
    <class kind="class">control_toolbox::SineSweep</class>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>sinusoid.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/src/</path>
    <filename>sinusoid_8cpp</filename>
    <includes id="sinusoid_8h" name="sinusoid.h" local="yes" imported="no">control_toolbox/sinusoid.h</includes>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>sinusoid.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/include/control_toolbox/</path>
    <filename>sinusoid_8h</filename>
    <class kind="class">control_toolbox::Sinusoid</class>
    <namespace>control_toolbox</namespace>
  </compound>
  <compound kind="file">
    <name>tune_pid.py</name>
    <path>/home/rosbuild/hudson/workspace/doc-hydro-control_toolbox/doc_stacks/2015-08-26_11-07-18.512338/control_toolbox/scripts/</path>
    <filename>tune__pid_8py</filename>
    <namespace>tune_pid</namespace>
    <member kind="function">
      <type>def</type>
      <name>main</name>
      <anchorfile>namespacetune__pid.html</anchorfile>
      <anchor>abff803a0c5abe4bb008b8aaa7778dfeb</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>print_usage</name>
      <anchorfile>namespacetune__pid.html</anchorfile>
      <anchor>afb34b3412a8dc2e5579904899cd33967</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>control_toolbox</name>
    <filename>namespacecontrol__toolbox.html</filename>
    <class kind="class">control_toolbox::Dither</class>
    <class kind="class">control_toolbox::LimitedProxy</class>
    <class kind="class">control_toolbox::Pid</class>
    <class kind="class">control_toolbox::PidGainsSetter</class>
    <class kind="class">control_toolbox::SineSweep</class>
    <class kind="class">control_toolbox::Sinusoid</class>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>calcDynamics1storder</name>
      <anchorfile>namespacecontrol__toolbox.html</anchorfile>
      <anchor>a8c89711b87d240ec8c6043453884a153</anchor>
      <arglist>(double &amp;a, double &amp;dadv, double v, double lam, double acon)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>calcDynamics2ndorder</name>
      <anchorfile>namespacecontrol__toolbox.html</anchorfile>
      <anchor>a747f96feedd6efed7a4e4de54516b620</anchor>
      <arglist>(double &amp;a, double &amp;dadp, double &amp;dadv, double p, double v, double lam, double acon)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_NAMESPACE</name>
      <anchorfile>namespacecontrol__toolbox.html</anchorfile>
      <anchor>a62497285352e7f148ec335683b361b95</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>control_toolbox::Dither</name>
    <filename>classcontrol__toolbox_1_1Dither.html</filename>
    <member kind="function">
      <type></type>
      <name>Dither</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>ac07a44359384b30f20f6bef3c20ec974</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>ab4ae13597f908073f39440c22f2f52ff</anchor>
      <arglist>(const double &amp;amplitude, const double &amp;seed)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>update</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a782f59e37dd7ab8219b3e24ddf17ed57</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Dither</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>ac3f5be050d23a37bb62ffb876ca8b51a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>amplitude_</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a182f503ad0ba8dcce746a80365269121</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>has_saved_value_</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a182728e8c95dda7f6a9899b5b63fb040</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>s_</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a5fccc7b3f9a5601b60e2fca9ff6a4222</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>saved_value_</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a1d3599b39eb0b3ddd692be5b5ff7e58c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned short</type>
      <name>seed_</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a6e8eebf0e7391d81325cefb2a2233bf7</anchor>
      <arglist>[3]</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>x_</name>
      <anchorfile>classcontrol__toolbox_1_1Dither.html</anchorfile>
      <anchor>a6052423b418e1a61fc4fd5df13aff332</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>control_toolbox::LimitedProxy</name>
    <filename>classcontrol__toolbox_1_1LimitedProxy.html</filename>
    <member kind="function">
      <type></type>
      <name>LimitedProxy</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a7b81a8fbfb0f25c4838164a8a73377f5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a6ae62d76967b9a9117653c3e39f1048e</anchor>
      <arglist>(double pos_act, double vel_act)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>update</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a62434d769b752b06ede420c514f0ec6b</anchor>
      <arglist>(double pos_des, double vel_des, double acc_des, double pos_act, double vel_act, double dt)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>acc_converge_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>ac2864d216dc9cafb0a545422b77a5ea4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>effort_limit_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>ae1565bc65562a69a8a98413f6ea1836c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ficl_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>af9623015d5807c225cf2f994b04c2ee1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a477eadf723c68624f0a08cab1dcc66d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a26af4eb37b8d0e2604a17dc34d225c87</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a4f8d2aa290539b3907b721055ef79c8e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lambda_proxy_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>aaf625b6ef9f370cc27cab4c6f60863d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>mass_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a618d59c9c9f65a6e8e0847660505b988</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>pos_lower_limit_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a4f02ba840cb23eec1ec797f0f950958c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>pos_upper_limit_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a5611fbbca81ce96bc6cee791182e2c43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>vel_limit_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>abb1ce3f702026a9c40717de3022d788e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>last_int_error_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>adb795e1b9f736e03cb17a1d3f6d3b9c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>last_pos_error_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>af714f0aaf0e39f730845b997b667160e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>last_proxy_acc_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a7a5b6b18b8e2f88041ed9e6c72ca6b82</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>last_proxy_pos_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>ae9e7a250f38573784cd4eca7617addde</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>last_proxy_vel_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a4438855f43ad8f345c4a07e074e55be9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>last_vel_error_</name>
      <anchorfile>classcontrol__toolbox_1_1LimitedProxy.html</anchorfile>
      <anchor>a21281ae1dfa6ac5dc474d359e3e4d651</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>control_toolbox::Pid</name>
    <filename>classcontrol__toolbox_1_1Pid.html</filename>
    <class kind="struct">control_toolbox::Pid::Gains</class>
    <member kind="function">
      <type>double</type>
      <name>computeCommand</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a8956ddfd932118d3010ee6ccbf53fb6e</anchor>
      <arglist>(double error, ros::Duration dt)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeCommand</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ab3659453dbdf1b4261cc56f4cb2f5bf1</anchor>
      <arglist>(double error, double error_dot, ros::Duration dt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dynamicReconfigCallback</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>aa8ed002ec129d03825eee9dbdc8c7965</anchor>
      <arglist>(control_toolbox::ParametersConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getCurrentCmd</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a78b3994058cd96de4c227a9893640b12</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getCurrentPIDErrors</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a71f8db012a3b70b4ada0e3d70ee851dc</anchor>
      <arglist>(double *pe, double *ie, double *de)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getGains</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a94168b013a704882750076ad0755210c</anchor>
      <arglist>(double &amp;p, double &amp;i, double &amp;d, double &amp;i_max, double &amp;i_min)</arglist>
    </member>
    <member kind="function">
      <type>Gains</type>
      <name>getGains</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a35c4bcfb5a7a3626c39529d3267a3b3d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a7ce13102646c5c4970e8c49493a9333f</anchor>
      <arglist>(const ros::NodeHandle &amp;n)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initDynamicReconfig</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a12f3d41225314f05ca04ae7bfe7c095a</anchor>
      <arglist>(ros::NodeHandle &amp;node)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>initParam</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ae5fbf409cf16f6c6937a6fb7bbbefe9c</anchor>
      <arglist>(const std::string &amp;prefix)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initPid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ac2feda3ef78f6cf7a655175da94c41a0</anchor>
      <arglist>(double p, double i, double d, double i_max, double i_min)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initPid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a888ec5a152fcaae36526d5825bdd2ebf</anchor>
      <arglist>(double p, double i, double d, double i_max, double i_min, const ros::NodeHandle &amp;node)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>initXml</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a96537c793c170bc8b835deee8848c749</anchor>
      <arglist>(TiXmlElement *config)</arglist>
    </member>
    <member kind="function">
      <type>Pid &amp;</type>
      <name>operator=</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>aceaf28e1f2566aa4fb3322bf36362431</anchor>
      <arglist>(const Pid &amp;source)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Pid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>af52fbb61551e352f5b2d4b8ba3640c32</anchor>
      <arglist>(double p=0.0, double i=0.0, double d=0.0, double i_max=0.0, double i_min=-0.0)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Pid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>aea22d87b039c2afd52c682ec60192605</anchor>
      <arglist>(const Pid &amp;source)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printValues</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a047a511eaa865c62e3e5dbfd8f3faa2b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a7205355ee01f4a66bc4237103d65674b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCurrentCmd</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a8e4d27c0616075f108fa6d71866f4337</anchor>
      <arglist>(double cmd)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setGains</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>afd1e01bb3655b34c8dec533f0fa9d275</anchor>
      <arglist>(double p, double i, double d, double i_max, double i_min)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setGains</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>abbe48927de0c406ec75cf8a22495e99e</anchor>
      <arglist>(const Gains &amp;gains)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDynamicReconfig</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>affaaebdb31d891e7c70f5a0d109a8b0d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDynamicReconfig</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ae04c43c33faad828b0c36a690ca05d92</anchor>
      <arglist>(Gains gains_config)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDynamicReconfig</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>aea12dba6be906bcd04c70215ddb3cfe0</anchor>
      <arglist>(control_toolbox::ParametersConfig config)</arglist>
    </member>
    <member kind="function">
      <type>ROS_DEPRECATED double</type>
      <name>updatePid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a3b67ef1db5948f1da331e54171c2667e</anchor>
      <arglist>(double p_error, ros::Duration dt)</arglist>
    </member>
    <member kind="function">
      <type>ROS_DEPRECATED double</type>
      <name>updatePid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a59a052f4d6bf02a742ed6046d24374cf</anchor>
      <arglist>(double error, double error_dot, ros::Duration dt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Pid</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a53f2167704f04158500919a72081c298</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>dynamic_reconfigure::Server&lt; control_toolbox::ParametersConfig &gt;</type>
      <name>DynamicReconfigServer</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ae31d47c0ec8dddecc6b2b5c5fa5b5a9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cmd_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ae00329b76bf056d39e9a85d9c67df531</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>d_error_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a9837edc9d20a2ec00e501935866dfbbc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>dynamic_reconfig_initialized_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a1f70b37c93b79eeda2baf3905231689e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>realtime_tools::RealtimeBuffer&lt; Gains &gt;</type>
      <name>gains_buffer_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>aba493ba9b9cdb3bd947bfffb3f37d54f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>i_term_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>aed58f10eac176fe579cf3b56b26c2324</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>p_error_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a6f0503cbf257d7d5ed77a212f2e52f70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>p_error_last_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a8c6519a93f8ed034b9167e502e5f8a4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>DynamicReconfigServer::CallbackType</type>
      <name>param_reconfig_callback_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a3b74750aa291cad3b8146140e6b76f70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::recursive_mutex</type>
      <name>param_reconfig_mutex_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>ae90daceb90c66d78a125bc2ff33bda3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; DynamicReconfigServer &gt;</type>
      <name>param_reconfig_server_</name>
      <anchorfile>classcontrol__toolbox_1_1Pid.html</anchorfile>
      <anchor>a08a8d743e09e22f5e64caabffe0ba4d3</anchor>
      <arglist></arglist>
    </member>
    <docanchor file="classcontrol__toolbox_1_1Pid">ROS</docanchor>
    <docanchor file="classcontrol__toolbox_1_1Pid">Usage</docanchor>
  </compound>
  <compound kind="struct">
    <name>control_toolbox::Pid::Gains</name>
    <filename>structcontrol__toolbox_1_1Pid_1_1Gains.html</filename>
    <member kind="function">
      <type></type>
      <name>Gains</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>aacc6fccf86be18ac186389c9f2ece52c</anchor>
      <arglist>(double p, double i, double d, double i_max, double i_min)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Gains</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>a2d2560045dbc14d67ee93f521664e735</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>d_gain_</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>a2003aa558f39fbba6a4658ec80402427</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>i_gain_</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>a5682fcd3a75dcfdf7f242522f702444b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>i_max_</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>aea997696600eb3bd5449724faa2c0502</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>i_min_</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>a26a4c582a7de6d94fc9c924a074d5423</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>p_gain_</name>
      <anchorfile>structcontrol__toolbox_1_1Pid_1_1Gains.html</anchorfile>
      <anchor>afeffd31867aca36a7437ab86bbdf579a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>control_toolbox::PidGainsSetter</name>
    <filename>classcontrol__toolbox_1_1PidGainsSetter.html</filename>
    <member kind="function">
      <type>PidGainsSetter &amp;</type>
      <name>add</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>ae523af2fe173cd93abfca63cfb5c6ba8</anchor>
      <arglist>(Pid *pid)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>advertise</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>abf3f47ec6d3afca0ff691a7ba0066e7d</anchor>
      <arglist>(const ros::NodeHandle &amp;n)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>advertise</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>a277880813ec52932a3e7b1da63296809</anchor>
      <arglist>(const std::string &amp;ns)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PidGainsSetter</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>a68bcafe5059d389d64b510199659cb8d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setGains</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>a990c6bad14285caa82b8d6683c2cd2d3</anchor>
      <arglist>(control_toolbox::SetPidGains::Request &amp;req, control_toolbox::SetPidGains::Response &amp;resp)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~PidGainsSetter</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>ab55dba3ac6ef74fcd7a6d58b1bb27fab</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>node_</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>af97f35ea0a07286032e35b2db70248e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; Pid * &gt;</type>
      <name>pids_</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>a7ae74a62a2c35b69320e7db0afc1527c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>serve_set_gains_</name>
      <anchorfile>classcontrol__toolbox_1_1PidGainsSetter.html</anchorfile>
      <anchor>a36f574be1d9109e3a63d9ecc5a0a26d4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>control_toolbox::SineSweep</name>
    <filename>classcontrol__toolbox_1_1SineSweep.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a6c5e5561f9d12ddba66de436ddb0aa51</anchor>
      <arglist>(double start_freq, double end_freq, double duration, double amplitude)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SineSweep</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a3bdcfd4423242318206bd29a312111f2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>update</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a2624773e71072a3c1e11c2fd7d67dd84</anchor>
      <arglist>(ros::Duration dt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~SineSweep</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a79e8b2ea3a13c24c1855305f0eb6e301</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>amplitude_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a496a183da48d7864d11b8da1cf16a852</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cmd_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>af893092f128adf807f8462acd0fe5f7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Duration</type>
      <name>duration_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>aa229557e815a302ce450ccf1ebbf9a76</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>end_angular_freq_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>aba1e4b38e0d06a62e921796be710eb36</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>K_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a128e37cfb0065933b5226fa836e89633</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>L_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>a02e8aeb15926167e7643cf5d6221b08c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>start_angular_freq_</name>
      <anchorfile>classcontrol__toolbox_1_1SineSweep.html</anchorfile>
      <anchor>aac8f60f855cce72784199b97aad146b4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>control_toolbox::Sinusoid</name>
    <filename>classcontrol__toolbox_1_1Sinusoid.html</filename>
    <member kind="function">
      <type>void</type>
      <name>debug</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>a42affe7c4e8314d287a229a94e4c7a29</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>initXml</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>aa56daa540087852b82dae54e2a42b32a</anchor>
      <arglist>(TiXmlElement *ti_xml_element)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sinusoid</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>acd8dd3d61d8e15b724322543d21efb9d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sinusoid</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>a43d81899ef9bd6299e5b13ba8fc87665</anchor>
      <arglist>(double offset, double amplitude, double frequency, double phase)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>update</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>a909f031955b95c78329f8587c359ff98</anchor>
      <arglist>(double time, double &amp;qd, double &amp;qdd)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Sinusoid</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>af1413fd7744d419519bf8290e19e02c8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>amplitude_</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>ab6e3cb9937039f1aa6d2398aaff26fa8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>frequency_</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>aa0827d0f5f96784079476989ce51882c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>offset_</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>a328d0ffb59a6754c23c07f65c6de7c0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>phase_</name>
      <anchorfile>classcontrol__toolbox_1_1Sinusoid.html</anchorfile>
      <anchor>a96223662b81c22fe707e571e0c9fd94b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>filters</name>
    <filename>namespacefilters.html</filename>
    <member kind="function" static="yes">
      <type>static const T &amp;</type>
      <name>clamp</name>
      <anchorfile>namespacefilters.html</anchorfile>
      <anchor>ac558228b7f0e0dfa0f64dea5a9ad5fd5</anchor>
      <arglist>(const T &amp;a, const T &amp;b, const T &amp;c)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>exponentialSmoothing</name>
      <anchorfile>namespacefilters.html</anchorfile>
      <anchor>a40b9d9eea47f418d18914b8517a78c0d</anchor>
      <arglist>(double current_raw_value, double last_smoothed_value, double alpha)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>ros</name>
    <filename>namespaceros.html</filename>
  </compound>
  <compound kind="namespace">
    <name>tune_pid</name>
    <filename>namespacetune__pid.html</filename>
    <member kind="function">
      <type>def</type>
      <name>main</name>
      <anchorfile>namespacetune__pid.html</anchorfile>
      <anchor>abff803a0c5abe4bb008b8aaa7778dfeb</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>print_usage</name>
      <anchorfile>namespacetune__pid.html</anchorfile>
      <anchor>afb34b3412a8dc2e5579904899cd33967</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title></title>
    <filename>index</filename>
  </compound>
</tagfile>
