<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>autotune.cpp</name>
    <path>/tmp/ws/src/pid/src/</path>
    <filename>autotune_8cpp.html</filename>
    <namespace>autotune</namespace>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>autotune_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>oscillation_times</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a5322f3123267a3105f40c8b1c7565cd5</anchor>
      <arglist>(3)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFinalParams</name>
      <anchorfile>autotune_8cpp.html</anchorfile>
      <anchor>aea4df360b1e70e3a7308f1d73f8f3713</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setKiKdToZero</name>
      <anchorfile>autotune_8cpp.html</anchorfile>
      <anchor>ab54fea428f6e4808aa2663d644280736</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setKp</name>
      <anchorfile>autotune_8cpp.html</anchorfile>
      <anchor>af49d12eb28b524d52df1c381fddca0dc</anchor>
      <arglist>(double Kp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setpointCallback</name>
      <anchorfile>autotune_8cpp.html</anchorfile>
      <anchor>ab3f87a7be4d73d97ce1aa4bcb288c683</anchor>
      <arglist>(const std_msgs::Float64 &amp;setpoint_msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stateCallback</name>
      <anchorfile>autotune_8cpp.html</anchorfile>
      <anchor>a122a525d159454c8d2e7cd70b9ff1754</anchor>
      <arglist>(const std_msgs::Float64 &amp;state_msg)</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>found_Ku</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>ad3dd7a29dc40e0ddf76bf8abb654d142</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>initial_error</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a2ae75c912b393ceab1824bee64b6f2d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd_ZN</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a76471e73a9fe86e8d4fdef0ac6fef492</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki_ZN</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a9b4020791ceb5146f5edf6602885e0ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp_ZN</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>aea3bb6ee0c85be17d7c964eb15eb816d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ku</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a47a6e4f971d27f30fb309206c835a824</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>ns</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a5ae2f787944e202de686f362d4aa804b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>num_loops</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>ae0c0ecff231737eb3300ce5d6711d221</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>oscillation_count</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>aa1d72ffff1509d8f0b8079197859229f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>setpoint</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a5e83f46a70dfdb99e27198668da2499a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>state</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a631bd74fd1f452ccc9cc2932461e22ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Tu</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a7bac9c6825dc9b07b789c4c126665681</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>controller.cpp</name>
    <path>/tmp/ws/src/pid/src/</path>
    <filename>controller_8cpp.html</filename>
    <includes id="pid_8h" name="pid.h" local="no" imported="no">pid/pid.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>controller_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>controller.h</name>
    <path>/tmp/ws/src/pid/include/pid/</path>
    <filename>controller_8h.html</filename>
    <class kind="class">pid_ns::PidObject</class>
    <namespace>pid_ns</namespace>
    <docanchor file="sim__time_8cpp.html" title="License (BSD-3)">license</docanchor>
  </compound>
  <compound kind="file">
    <name>pid.cpp</name>
    <path>/tmp/ws/src/pid/src/</path>
    <filename>pid_8cpp.html</filename>
    <includes id="pid_8h" name="pid.h" local="no" imported="no">pid/pid.h</includes>
  </compound>
  <compound kind="file">
    <name>pid.h</name>
    <path>/tmp/ws/src/pid/include/pid/</path>
    <filename>pid_8h.html</filename>
    <includes id="PidConfig_8h" name="PidConfig.h" local="no" imported="no">pid/PidConfig.h</includes>
    <class kind="class">pid_ns::PidObject</class>
    <namespace>pid_ns</namespace>
  </compound>
  <compound kind="file">
    <name>PidConfig.h</name>
    <path>/tmp/ws/src/pid/include/pid/</path>
    <filename>PidConfig_8h.html</filename>
    <class kind="class">pid::PidConfig::AbstractGroupDescription</class>
    <class kind="class">pid::PidConfig::AbstractParamDescription</class>
    <class kind="class">pid::PidConfig::DEFAULT</class>
    <class kind="class">pid::PidConfig::GroupDescription</class>
    <class kind="class">pid::PidConfig::ParamDescription</class>
    <class kind="class">pid::PidConfig</class>
    <class kind="class">pid::PidConfigStatics</class>
    <namespace>pid</namespace>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_hundred</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>a9064e61f07ac80ba4fbb0b905c026c3b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_ten</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>a3df162c359b50790d5f7ec3ece007d07</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_tenth</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>ac0bcba349352b756c86e239be195d720</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_unity</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>a8bc7cdcf219def59556a9fe95e52d63f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>plant_sim.cpp</name>
    <path>/tmp/ws/src/pid/src/</path>
    <filename>plant__sim_8cpp.html</filename>
    <namespace>plant_sim</namespace>
    <member kind="function">
      <type>void</type>
      <name>controlEffortCallback</name>
      <anchorfile>plant__sim_8cpp.html</anchorfile>
      <anchor>a6e49b7d226e06bd7bb920692d2b21147</anchor>
      <arglist>(const std_msgs::Float64 &amp;control_effort_input)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>plant__sim_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static double</type>
      <name>control_effort</name>
      <anchorfile>namespaceplant__sim.html</anchorfile>
      <anchor>a54ea0a68fb9e7418f7421f28d536aad4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>reverse_acting</name>
      <anchorfile>namespaceplant__sim.html</anchorfile>
      <anchor>af05d5a9ed3624e775b0747fd55c158ee</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>setpoint_node.cpp</name>
    <path>/tmp/ws/src/pid/src/</path>
    <filename>setpoint__node_8cpp.html</filename>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>setpoint__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sim_time.cpp</name>
    <path>/tmp/ws/src/pid/src/</path>
    <filename>sim__time_8cpp.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>SIM_TIME_INCREMENT_US</name>
      <anchorfile>sim__time_8cpp.html</anchorfile>
      <anchor>aa4fd2d16e81f76d4d4ba308d64e6ad29</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>sim__time_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfig::AbstractGroupDescription</name>
    <filename>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</filename>
    <member kind="function">
      <type></type>
      <name>AbstractGroupDescription</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>ab8eeab2db721d7edb6a60612ddac3609</anchor>
      <arglist>(std::string n, std::string t, int p, int i, bool s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>convertParams</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>a0c3e1faa6fe3255083721a6c9ecc43e6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>fromMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>ad99b7110b91e30c7336c829a3793b06c</anchor>
      <arglist>(const dynamic_reconfigure::Config &amp;msg, boost::any &amp;config) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>setInitialState</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>ae0159a18a1455ca87b1794da7e8946cd</anchor>
      <arglist>(boost::any &amp;cfg) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>toMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>ad9f40f1b61051b67fe2a8428d919ce40</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg, const boost::any &amp;config) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>updateParams</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>a2fdb42f34697171bee2c22d25bea2a5a</anchor>
      <arglist>(boost::any &amp;cfg, PidConfig &amp;top) const =0</arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; AbstractParamDescriptionConstPtr &gt;</type>
      <name>abstract_parameters</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>a55b69a0d64fe4e0c48e6e103e7e183b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>state</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractGroupDescription.html</anchorfile>
      <anchor>a68a731ee4faa306bae9ecf20d8043df1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfig::AbstractParamDescription</name>
    <filename>classpid_1_1PidConfig_1_1AbstractParamDescription.html</filename>
    <member kind="function">
      <type></type>
      <name>AbstractParamDescription</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>a40036506f21d6831b8e5d3c600ddaaaf</anchor>
      <arglist>(std::string n, std::string t, uint32_t l, std::string d, std::string e)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>calcLevel</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>a98d8019b71b0c9e1d0291392f5ab909e</anchor>
      <arglist>(uint32_t &amp;level, const PidConfig &amp;config1, const PidConfig &amp;config2) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>clamp</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>a45e848e6a568b480a7325ab9c839da51</anchor>
      <arglist>(PidConfig &amp;config, const PidConfig &amp;max, const PidConfig &amp;min) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>fromMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>ab00d51085b47dae08a4580d94a4fc599</anchor>
      <arglist>(const dynamic_reconfigure::Config &amp;msg, PidConfig &amp;config) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>fromServer</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>a3d08628c2af65d214ebecfa854166c70</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, PidConfig &amp;config) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>getValue</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>ab2013d30c0ffb61af17e3a5d61a273c9</anchor>
      <arglist>(const PidConfig &amp;config, boost::any &amp;val) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>toMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>a19620c164840000b6670d6d646698820</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg, const PidConfig &amp;config) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>toServer</name>
      <anchorfile>classpid_1_1PidConfig_1_1AbstractParamDescription.html</anchorfile>
      <anchor>ad18fbb2ca19af69db7dbacb94dd958fb</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, const PidConfig &amp;config) const =0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfig::DEFAULT</name>
    <filename>classpid_1_1PidConfig_1_1DEFAULT.html</filename>
    <member kind="function">
      <type></type>
      <name>DEFAULT</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a89dca7c16715cdf6f8397d34aa683989</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setParams</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a23d493e36bfc3be80211b6a2683837d2</anchor>
      <arglist>(PidConfig &amp;config, const std::vector&lt; AbstractParamDescriptionConstPtr &gt; params)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a8d75aae5e01dfb0cea0c62402954a973</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd_scale</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a35e1acddbb086913ee65a28cd10c31cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a5f9fe5d35b09109dea8b5b94bd8ec1a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki_scale</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>ab83c180f3007eeb6d3b5a45c267d2560</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>abe735e99d4250ef21d21b1c8941412b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp_scale</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>af9fca8f10cf33f32b23b975f4b653ccc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>name</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a89d5c967d72b043ef8c0e9a08c569f67</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>state</name>
      <anchorfile>classpid_1_1PidConfig_1_1DEFAULT.html</anchorfile>
      <anchor>a0d979bedef3ea0900dceceb6460fb9eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfig::GroupDescription</name>
    <filename>classpid_1_1PidConfig_1_1GroupDescription.html</filename>
    <templarg></templarg>
    <templarg></templarg>
    <base>pid::PidConfig::AbstractGroupDescription</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>fromMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>a43f5f34a1a4b9a0779487bcc486be343</anchor>
      <arglist>(const dynamic_reconfigure::Config &amp;msg, boost::any &amp;cfg) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GroupDescription</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>ab9352740522184f2b21a6bd0ac9db4c4</anchor>
      <arglist>(const GroupDescription&lt; T, PT &gt; &amp;g)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GroupDescription</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>a38a00bd84a8abb72c87203c317d2427f</anchor>
      <arglist>(std::string name, std::string type, int parent, int id, bool s, T PT::*f)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>setInitialState</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>a25755814bdb4e66e1bfd8fad5467ee78</anchor>
      <arglist>(boost::any &amp;cfg) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>toMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>ad3389cde55e3ee2cc29a6d19a47e0f5c</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg, const boost::any &amp;cfg) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>updateParams</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>ad5650fecc424a2d010b34e0890ab99a8</anchor>
      <arglist>(boost::any &amp;cfg, PidConfig &amp;top) const</arglist>
    </member>
    <member kind="variable">
      <type>TPT::*</type>
      <name>field</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>a9954d8ec1b4cd04d3d4a84461376fe18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; PidConfig::AbstractGroupDescriptionConstPtr &gt;</type>
      <name>groups</name>
      <anchorfile>classpid_1_1PidConfig_1_1GroupDescription.html</anchorfile>
      <anchor>a8c7f68d99a72c4c0931263c13946b05e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfig::ParamDescription</name>
    <filename>classpid_1_1PidConfig_1_1ParamDescription.html</filename>
    <templarg></templarg>
    <base>pid::PidConfig::AbstractParamDescription</base>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>calcLevel</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>a1fa6838e38b04c0b8d436cba80e11e4e</anchor>
      <arglist>(uint32_t &amp;comb_level, const PidConfig &amp;config1, const PidConfig &amp;config2) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>clamp</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>aa0c0f49eddb7e348ce41409a690a0d2a</anchor>
      <arglist>(PidConfig &amp;config, const PidConfig &amp;max, const PidConfig &amp;min) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clamp</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>a991710a16fb63adc0cf433c92be343d7</anchor>
      <arglist>(PidConfig &amp;config, const PidConfig &amp;max, const PidConfig &amp;min) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>fromMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>ad4b9b1b278f66afa18904f7fc1d0be94</anchor>
      <arglist>(const dynamic_reconfigure::Config &amp;msg, PidConfig &amp;config) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>fromServer</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>a1642caab1fcf0ee68960aa1e751c7986</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, PidConfig &amp;config) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>getValue</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>adf2e4f91d2b856998f99049ad5febcb3</anchor>
      <arglist>(const PidConfig &amp;config, boost::any &amp;val) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ParamDescription</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>ac4908a477f990ae92769d7caf4c828cc</anchor>
      <arglist>(std::string name, std::string type, uint32_t level, std::string description, std::string edit_method, T PidConfig::*f)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>toMessage</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>aeeae4920e372348a11eaa244268915bf</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg, const PidConfig &amp;config) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>toServer</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>a3d417a7948a108f81de491c7e82942e9</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, const PidConfig &amp;config) const</arglist>
    </member>
    <member kind="variable">
      <type>TPidConfig::*</type>
      <name>field</name>
      <anchorfile>classpid_1_1PidConfig_1_1ParamDescription.html</anchorfile>
      <anchor>a065c513d0bb0225b35a3d840fff7279f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfig</name>
    <filename>classpid_1_1PidConfig.html</filename>
    <class kind="class">pid::PidConfig::AbstractGroupDescription</class>
    <class kind="class">pid::PidConfig::AbstractParamDescription</class>
    <class kind="class">pid::PidConfig::DEFAULT</class>
    <class kind="class">pid::PidConfig::GroupDescription</class>
    <class kind="class">pid::PidConfig::ParamDescription</class>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const AbstractGroupDescription &gt;</type>
      <name>AbstractGroupDescriptionConstPtr</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a715ae7ff376dc6e9b21b65e16c09b906</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; AbstractGroupDescription &gt;</type>
      <name>AbstractGroupDescriptionPtr</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a3e300039dbfd83246cda6d5289fff2fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const AbstractParamDescription &gt;</type>
      <name>AbstractParamDescriptionConstPtr</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>abbbce52a78d733408973de3c247d0666</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; AbstractParamDescription &gt;</type>
      <name>AbstractParamDescriptionPtr</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a7bf5895106c784901fb1fbcd9f8acf42</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>__clamp__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>ac8031f034861adfa489d2c9aa566e110</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>__fromMessage__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a8b91bf0b0ca97092dd18e0990ce39658</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>__fromServer__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a0628684f567f060b3369ab3b0f598ed3</anchor>
      <arglist>(const ros::NodeHandle &amp;nh)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>__level__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a2e510b6a348f83c0ea98aa87f62cc0cc</anchor>
      <arglist>(const PidConfig &amp;config) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>__toMessage__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>add85bd1934b3d3e65ea88bf401459673</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>__toMessage__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a7c7683331dacf3c742b1cea0f1393622</anchor>
      <arglist>(dynamic_reconfigure::Config &amp;msg, const std::vector&lt; AbstractParamDescriptionConstPtr &gt; &amp;__param_descriptions__, const std::vector&lt; AbstractGroupDescriptionConstPtr &gt; &amp;__group_descriptions__) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>__toServer__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a81535d56e60830504897acd4f3d68701</anchor>
      <arglist>(const ros::NodeHandle &amp;nh) const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const PidConfig &amp;</type>
      <name>__getDefault__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a0be703bba2172741e05c31f812155ca6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const dynamic_reconfigure::ConfigDescription &amp;</type>
      <name>__getDescriptionMessage__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>af3c77b800de306556807b75eb700ff64</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const std::vector&lt; AbstractGroupDescriptionConstPtr &gt; &amp;</type>
      <name>__getGroupDescriptions__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>ae7e4ee37c7a543bcb28c59a05e78861e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const PidConfig &amp;</type>
      <name>__getMax__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a2d8f4058c2a651d0e3d7e15a97915635</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const PidConfig &amp;</type>
      <name>__getMin__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>ac3e96f6f4009f7308ff5c9425e3c6ad6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const std::vector&lt; AbstractParamDescriptionConstPtr &gt; &amp;</type>
      <name>__getParamDescriptions__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>ac20b961f675b1c486901082646c19775</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>class pid::PidConfig::DEFAULT</type>
      <name>groups</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a282ee99b26cdba62c39fab6243908b0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a6f739bfccb07b4adb79bc916a1e08082</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd_scale</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a549145b7d083dbe3e1131d2882b4f114</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>af364631ec558f69c39c2d902b3834467</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki_scale</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a7d4ff837b2ca3d1916a1caea1ba1c5d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a6ab751bd55b3921e75455d6092506a11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp_scale</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>a94a6fe4bcad5ec336b70ba82a3213286</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static const PidConfigStatics *</type>
      <name>__get_statics__</name>
      <anchorfile>classpid_1_1PidConfig.html</anchorfile>
      <anchor>afff7d21b22ff8a2c1afd67c97c25e603</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid::PidConfigStatics</name>
    <filename>classpid_1_1PidConfigStatics.html</filename>
    <member kind="function" protection="private">
      <type></type>
      <name>PidConfigStatics</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>a7aebdaf9ea64063b54ed68de46c92213</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static const PidConfigStatics *</type>
      <name>get_instance</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>ad06cb845cab81c7d1bacff3d0d6bbd7f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>PidConfig</type>
      <name>__default__</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>a576b5353c3b353f12557dd6eed9c41e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::ConfigDescription</type>
      <name>__description_message__</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>a211df99fcce0431317536646dbf89d4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; PidConfig::AbstractGroupDescriptionConstPtr &gt;</type>
      <name>__group_descriptions__</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>a9037cbbb6dc4e1aeda781ea7ff25b853</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>PidConfig</type>
      <name>__max__</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>a153bc03b5581c4608766f5370ab8f2c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>PidConfig</type>
      <name>__min__</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>acd6453514ab0a579388226282197e15f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; PidConfig::AbstractParamDescriptionConstPtr &gt;</type>
      <name>__param_descriptions__</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>ac9ea9a1eb7c2f8c95193ee3e0bdb4ece</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend" protection="private">
      <type>friend class</type>
      <name>PidConfig</name>
      <anchorfile>classpid_1_1PidConfigStatics.html</anchorfile>
      <anchor>a051b37725341e8356d0c23c4dac5ebdc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>pid_ns::PidObject</name>
    <filename>classpid__ns_1_1PidObject.html</filename>
    <member kind="function">
      <type></type>
      <name>PidObject</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a056ba9226a284742623f9fcd2d145d42</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PidObject</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a15163ec757ab54747c6609d66a04b0b1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>doCalcs</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a6cf0f0e612832a7fef1ba2a7ad32ad39</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>doCalcs</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a0a5032a8f44c4bffe274bb6ec8aeb66c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getParams</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a5eb2eff9608eb4469c8e6a2af9ab2fe6</anchor>
      <arglist>(double in, double &amp;value, double &amp;scale)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getParams</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a597d7731d73f372c9a57368d8fa37f35</anchor>
      <arglist>(double in, double &amp;value, double &amp;scale)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>pidEnableCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a7257c23ed94a3d75a59ef4a5fe83de24</anchor>
      <arglist>(const std_msgs::Bool &amp;pid_enable_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>pidEnableCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>af85c41d7f799adebca9eadaab4e5c9d6</anchor>
      <arglist>(const std_msgs::Bool &amp;pid_enable_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>plantStateCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ace9b1e2af300dfea82540d2a406e02e9</anchor>
      <arglist>(const std_msgs::Float64 &amp;state_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>plantStateCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ad2d4b80751c5b6821a1db3d42778179a</anchor>
      <arglist>(const std_msgs::Float64 &amp;state_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>printParameters</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a83be139006de491d432b051793182050</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>printParameters</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a836bd23b5a34117b679f16f2bbb0648c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>abd5b3b139963bb4723832599874cb8a0</anchor>
      <arglist>(pid::PidConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a245c77c59aa2c940127c6fb63b0650d4</anchor>
      <arglist>(pid::PidConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setpointCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a69fe8b0760f5d39e4bae6a2792199ec5</anchor>
      <arglist>(const std_msgs::Float64 &amp;setpoint_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setpointCallback</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>affba1e7315cec1687716cf4bff4704c7</anchor>
      <arglist>(const std_msgs::Float64 &amp;setpoint_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>validateParameters</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>afae8dae802a3ed24718f4c221e07557c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>validateParameters</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>aa2acf5ef112e3c7b890353889e958875</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>angle_error_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a2ee11dba4b22c7a4f251e6e4bcc00650</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>angle_wrap_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a2e7f6e49cb9c13d63464a895eb4748d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>c_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>af89cfce634aacf596ad5bd61f66ed716</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>control_effort_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ad603c573970ce1cedb4f3884ce0b0070</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>control_effort_pub_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ad556d1a67ce9479f9141bcd3252c4912</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std_msgs::Float64</type>
      <name>control_msg_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a04e7dbdc4a078d9316634da541e661fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cutoff_frequency_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a30660d05433e17514bc4301629ccf860</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Duration</type>
      <name>delta_t_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>aba82a308fe5ec7767001537f4fe37823</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>derivative_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a0e1f10a889f3bdc85c7267d684e31134</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>error_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a4ea44ed71303857244f89abc3b7474a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>error_deriv_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>abe2cfb4b2e185b2ad0e3186faa5bc57b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>error_integral_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>aa6ecc9b159f29f7a035875975b0cc5b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>filtered_error_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a47c1856483686619ae2f511330df7953</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; double &gt;</type>
      <name>filtered_error_deriv_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>aedc319a6ec50566a11a31a4d79de2f2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>first_reconfig_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a8f5b8a0046ea5729baa5b1020531e3d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>integral_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a31d694bb9ec4a5cf2cce4811251ea402</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>Kd_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>abc6a7e2191349371cd7bd9b1226b4fd7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>Ki_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a3079997309170f1221972a0e6adbc4a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>Kp_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ad05442cde66b627f90cf6e8dbc28609b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>last_setpoint_msg_time_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a2d473f0a0ca44199d5b90d1f359904c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>lower_limit_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ad1a149fee2dfaa2afb7740b015b0f9a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_loop_frequency_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a05eaafb7b1e06ca3de325d519b8b9b01</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>measurements_received_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ae68aa7b7a3607aa2103cf60a281c93bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>min_loop_frequency_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a58dcd21fb6d9ffa868403a1257410cbd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>new_state_or_setpt_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a4ba02792fffe55d7a902964e11d9b000</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pid_debug_pub_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ab60fb4d1a6a8a4676009e1ac9651753c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>pid_debug_pub_name_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a647e750cb0237983fc852a3a077378d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>pid_enable_topic_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a41d81a99a7dfc832ebb67e69f73ecd62</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>pid_enabled_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a5bbbb372bff4f4b9519aaed84965cec5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>plant_state_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a1d786619373450d40377c8015a97f273</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>prev_time_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>acaf43c97c586699db08ae1a75ba1bc38</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>proportional_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a566b6506d98078941839e4eb078c6c4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>setpoint_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a2678d9c1a575e79fe6b32e4e66c06597</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>setpoint_timeout_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>ac0bfbe77b6b1b35f72e9172a81c2e71f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>setpoint_topic_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a551d5bef8c6a522c1324da013998df72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std_msgs::Float64</type>
      <name>state_msg_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>af0073db587f7d9540114d8d86b821633</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>tan_filt_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a3234230edd6468cecaafc682e94d36a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>topic_from_controller_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>afaafbb18582e58a35a6b6b3880705e47</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>topic_from_plant_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a84fc49f086820fe9b844d194bbd1930d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>upper_limit_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>af131406e0b0862a6b183e65eca176e35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>windup_limit_</name>
      <anchorfile>classpid__ns_1_1PidObject.html</anchorfile>
      <anchor>a0ca4d5c8f87eb352fdfe663410997666</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>autotune</name>
    <filename>namespaceautotune.html</filename>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>oscillation_times</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a5322f3123267a3105f40c8b1c7565cd5</anchor>
      <arglist>(3)</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>found_Ku</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>ad3dd7a29dc40e0ddf76bf8abb654d142</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>initial_error</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a2ae75c912b393ceab1824bee64b6f2d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kd_ZN</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a76471e73a9fe86e8d4fdef0ac6fef492</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ki_ZN</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a9b4020791ceb5146f5edf6602885e0ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Kp_ZN</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>aea3bb6ee0c85be17d7c964eb15eb816d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Ku</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a47a6e4f971d27f30fb309206c835a824</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>ns</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a5ae2f787944e202de686f362d4aa804b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>num_loops</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>ae0c0ecff231737eb3300ce5d6711d221</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>oscillation_count</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>aa1d72ffff1509d8f0b8079197859229f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>setpoint</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a5e83f46a70dfdb99e27198668da2499a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>state</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a631bd74fd1f452ccc9cc2932461e22ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Tu</name>
      <anchorfile>namespaceautotune.html</anchorfile>
      <anchor>a7bac9c6825dc9b07b789c4c126665681</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>pid</name>
    <filename>namespacepid.html</filename>
    <class kind="class">pid::PidConfig</class>
    <class kind="class">pid::PidConfigStatics</class>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_hundred</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>a9064e61f07ac80ba4fbb0b905c026c3b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_ten</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>a3df162c359b50790d5f7ec3ece007d07</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_tenth</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>ac0bcba349352b756c86e239be195d720</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>Pid_scale_unity</name>
      <anchorfile>namespacepid.html</anchorfile>
      <anchor>a8bc7cdcf219def59556a9fe95e52d63f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>pid_ns</name>
    <filename>namespacepid__ns.html</filename>
    <class kind="class">pid_ns::PidObject</class>
  </compound>
  <compound kind="namespace">
    <name>plant_sim</name>
    <filename>namespaceplant__sim.html</filename>
    <member kind="variable" static="yes">
      <type>static double</type>
      <name>control_effort</name>
      <anchorfile>namespaceplant__sim.html</anchorfile>
      <anchor>a54ea0a68fb9e7418f7421f28d536aad4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>reverse_acting</name>
      <anchorfile>namespaceplant__sim.html</anchorfile>
      <anchor>af05d5a9ed3624e775b0747fd55c158ee</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
