<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>control_plugin.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/src/</path>
    <filename>control__plugin_8cpp</filename>
    <includes id="UndercarriageCtrlGeom_8h" name="UndercarriageCtrlGeom.h" local="no" imported="no">cob_omni_drive_controller/UndercarriageCtrlGeom.h</includes>
    <includes id="GeomController_8h" name="GeomController.h" local="yes" imported="no">GeomController.h</includes>
    <class kind="struct">cob_omni_drive_controller::WheelController::Target</class>
    <class kind="class">cob_omni_drive_controller::WheelController</class>
    <namespace>cob_omni_drive_controller</namespace>
  </compound>
  <compound kind="file">
    <name>GeomController.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/src/</path>
    <filename>GeomController_8h</filename>
    <includes id="UndercarriageCtrlGeomROS_8h" name="UndercarriageCtrlGeomROS.h" local="no" imported="no">cob_omni_drive_controller/UndercarriageCtrlGeomROS.h</includes>
    <class kind="class">cob_omni_drive_controller::GeomController</class>
    <namespace>cob_omni_drive_controller</namespace>
  </compound>
  <compound kind="file">
    <name>odom_plugin.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/src/</path>
    <filename>odom__plugin_8cpp</filename>
    <includes id="UndercarriageCtrlGeom_8h" name="UndercarriageCtrlGeom.h" local="no" imported="no">cob_omni_drive_controller/UndercarriageCtrlGeom.h</includes>
    <includes id="OdometryTracker_8h" name="OdometryTracker.h" local="no" imported="no">cob_omni_drive_controller/OdometryTracker.h</includes>
    <includes id="GeomController_8h" name="GeomController.h" local="yes" imported="no">GeomController.h</includes>
    <class kind="class">cob_omni_drive_controller::OdometryController</class>
    <namespace>cob_omni_drive_controller</namespace>
  </compound>
  <compound kind="file">
    <name>OdometryTracker.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/include/cob_omni_drive_controller/</path>
    <filename>OdometryTracker_8h</filename>
    <class kind="class">OdometryTracker</class>
  </compound>
  <compound kind="file">
    <name>param_parser.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/src/</path>
    <filename>param__parser_8cpp</filename>
    <includes id="UndercarriageCtrlGeomROS_8h" name="UndercarriageCtrlGeomROS.h" local="no" imported="no">cob_omni_drive_controller/UndercarriageCtrlGeomROS.h</includes>
    <class kind="class">MergedXmlRpcStruct</class>
    <namespace>cob_omni_drive_controller</namespace>
    <member kind="function">
      <type>bool</type>
      <name>make_wheel_struct</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>a635eaf0bdfafa842e77325ede4706aa6</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;wheel_list)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseCtrlParams</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>acf7e1e4253c73729949a47d57d9c388e</anchor>
      <arglist>(UndercarriageCtrl::CtrlParams &amp;params, XmlRpc::XmlRpcValue &amp;wheel)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheel</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>aaa8b563cd43ca9e85ffb9c080d62f93d</anchor>
      <arglist>(W &amp;params, XmlRpc::XmlRpcValue &amp;wheel, MergedXmlRpcStruct &amp;merged, urdf::Model *model)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheel</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>a8c7c217ae455b3830b719393911feef9</anchor>
      <arglist>(UndercarriageGeom::WheelParams &amp;params, XmlRpc::XmlRpcValue &amp;wheel, MergedXmlRpcStruct &amp;merged, urdf::Model *model)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheel</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>af9f33678093aee64b4c539d33929a576</anchor>
      <arglist>(UndercarriageCtrl::WheelParams &amp;params, XmlRpc::XmlRpcValue &amp;wheel, MergedXmlRpcStruct &amp;merged, urdf::Model *model)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelGeom</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>abaa3f2ad7504db30aca546a096c31bea</anchor>
      <arglist>(UndercarriageGeom::WheelGeom &amp;geom, XmlRpc::XmlRpcValue &amp;wheel, MergedXmlRpcStruct &amp;merged, urdf::Model *model)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelParams</name>
      <anchorfile>namespacecob__omni__drive__controller.html</anchorfile>
      <anchor>afeaa0b3a793b233ee17e69485687351d</anchor>
      <arglist>(std::vector&lt; UndercarriageGeom::WheelParams &gt; &amp;params, const ros::NodeHandle &amp;nh, bool read_urdf=true)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelParams</name>
      <anchorfile>namespacecob__omni__drive__controller.html</anchorfile>
      <anchor>ac02aacfab9a9f6d759dc1c7b9b6f278d</anchor>
      <arglist>(std::vector&lt; UndercarriageCtrl::WheelParams &gt; &amp;params, const ros::NodeHandle &amp;nh, bool read_urdf=true)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheels</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>aa5880c796901523070847bcb89a2369a</anchor>
      <arglist>(std::vector&lt; W &gt; &amp;wheel_params, const ros::NodeHandle &amp;nh, bool read_urdf)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>read</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>a7e76b1d1f072af01eee7c60e1db9a952</anchor>
      <arglist>(T &amp;val, const std::string &amp;name, XmlRpc::XmlRpcValue &amp;wheel)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>read_optional</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>a4c2c9890d370ca195c35293075e4cec3</anchor>
      <arglist>(T &amp;val, const std::string &amp;name, XmlRpc::XmlRpcValue &amp;wheel)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>read_typed</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>aacd4a4c18187917bb89c8396ca4c89c0</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;val)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>read_typed</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>a2fe5bb6f5ca0534057b534a905a5267f</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;val)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>read_with_default</name>
      <anchorfile>param__parser_8cpp.html</anchorfile>
      <anchor>ade036a359d88bb2e1aafe4e909fa7da6</anchor>
      <arglist>(T &amp;val, const std::string &amp;name, XmlRpc::XmlRpcValue &amp;wheel, const T &amp;def)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>UndercarriageCtrlGeom.cpp</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/src/</path>
    <filename>UndercarriageCtrlGeom_8cpp</filename>
    <includes id="UndercarriageCtrlGeom_8h" name="UndercarriageCtrlGeom.h" local="no" imported="no">cob_omni_drive_controller/UndercarriageCtrlGeom.h</includes>
    <namespace>MathSup</namespace>
    <member kind="function">
      <type>double</type>
      <name>atan4quad</name>
      <anchorfile>namespaceMathSup.html</anchorfile>
      <anchor>afdbf5cfa154f41ed72f17d4516551d60</anchor>
      <arglist>(double y, double x)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getWeightedDelta</name>
      <anchorfile>UndercarriageCtrlGeom_8cpp.html</anchorfile>
      <anchor>abd2dd1e2b99f10d956c2948d425666ac</anchor>
      <arglist>(double current_position, double old_target, double new_target)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizePi</name>
      <anchorfile>namespaceMathSup.html</anchorfile>
      <anchor>a38b92acb90f3fa70b91140acddad4ab4</anchor>
      <arglist>(double &amp;val)</arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>PI</name>
      <anchorfile>namespaceMathSup.html</anchorfile>
      <anchor>a7cf618d446d59c0b71f2324e2d146eea</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>UndercarriageCtrlGeom.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/include/cob_omni_drive_controller/</path>
    <filename>UndercarriageCtrlGeom_8h</filename>
    <class kind="struct">UndercarriageCtrl::CtrlData</class>
    <class kind="struct">UndercarriageCtrl::CtrlParams</class>
    <class kind="struct">UndercarriageGeomBase::PlatformState</class>
    <class kind="class">UndercarriageCtrl</class>
    <class kind="class">UndercarriageGeom</class>
    <class kind="class">UndercarriageGeomBase</class>
    <class kind="struct">UndercarriageGeomBase::WheelData</class>
    <class kind="struct">UndercarriageGeomBase::WheelGeom</class>
    <class kind="struct">UndercarriageCtrl::WheelParams</class>
    <class kind="struct">UndercarriageGeom::WheelParams</class>
    <class kind="struct">UndercarriageGeomBase::WheelState</class>
  </compound>
  <compound kind="file">
    <name>UndercarriageCtrlGeomROS.h</name>
    <path>/home/rosbuild/hudson/workspace/doc-indigo-cob_control/doc_stacks/2015-09-02_03-59-42.649489/cob_control/cob_omni_drive_controller/include/cob_omni_drive_controller/</path>
    <filename>UndercarriageCtrlGeomROS_8h</filename>
    <includes id="UndercarriageCtrlGeom_8h" name="UndercarriageCtrlGeom.h" local="no" imported="no">cob_omni_drive_controller/UndercarriageCtrlGeom.h</includes>
    <namespace>cob_omni_drive_controller</namespace>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelParams</name>
      <anchorfile>namespacecob__omni__drive__controller.html</anchorfile>
      <anchor>afeaa0b3a793b233ee17e69485687351d</anchor>
      <arglist>(std::vector&lt; UndercarriageGeom::WheelParams &gt; &amp;params, const ros::NodeHandle &amp;nh, bool read_urdf=true)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelParams</name>
      <anchorfile>namespacecob__omni__drive__controller.html</anchorfile>
      <anchor>ac02aacfab9a9f6d759dc1c7b9b6f278d</anchor>
      <arglist>(std::vector&lt; UndercarriageCtrl::WheelParams &gt; &amp;params, const ros::NodeHandle &amp;nh, bool read_urdf=true)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MergedXmlRpcStruct</name>
    <filename>classMergedXmlRpcStruct.html</filename>
    <base>XmlRpc::XmlRpcValue</base>
    <member kind="function">
      <type></type>
      <name>MergedXmlRpcStruct</name>
      <anchorfile>classMergedXmlRpcStruct.html</anchorfile>
      <anchor>a1781e9ec563cfa57e446b95b02388cdb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MergedXmlRpcStruct</name>
      <anchorfile>classMergedXmlRpcStruct.html</anchorfile>
      <anchor>a911f03c83e4833f8b574b2bf86769c2f</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;a, const MergedXmlRpcStruct &amp;b, bool recursive=true)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>MergedXmlRpcStruct</name>
      <anchorfile>classMergedXmlRpcStruct.html</anchorfile>
      <anchor>aaf985e2aad141136ae7cf57e6d0c9558</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;a)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>OdometryTracker</name>
    <filename>classOdometryTracker.html</filename>
    <member kind="function">
      <type>const nav_msgs::Odometry &amp;</type>
      <name>getOdometry</name>
      <anchorfile>classOdometryTracker.html</anchorfile>
      <anchor>aca7f27af3eb408e6d8738a68d993f9db</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classOdometryTracker.html</anchorfile>
      <anchor>aa24cc1d7429b0f71d6da0fe94a94f593</anchor>
      <arglist>(const ros::Time &amp;now)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OdometryTracker</name>
      <anchorfile>classOdometryTracker.html</anchorfile>
      <anchor>a254d0197ca65f9e211f5489466c81ac9</anchor>
      <arglist>(const std::string &amp;from=&quot;/wheelodom&quot;, const std::string &amp;to=&quot;/base_footprint&quot;, double cov_pose=0.1, double cov_twist=0.1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>track</name>
      <anchorfile>classOdometryTracker.html</anchorfile>
      <anchor>a13272dc53529d7f40c6b9963b2ad3fc9</anchor>
      <arglist>(const ros::Time &amp;now, double dt, double vel_x, double vel_y, double vel_theta)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>nav_msgs::Odometry</type>
      <name>odom_</name>
      <anchorfile>classOdometryTracker.html</anchorfile>
      <anchor>a8e694f0638634600c3bebf6c4455380c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>theta_rob_rad_</name>
      <anchorfile>classOdometryTracker.html</anchorfile>
      <anchor>a44644acb9e384a8b8052d1bca9a8112a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>UndercarriageCtrl</name>
    <filename>classUndercarriageCtrl.html</filename>
    <base>UndercarriageGeomBase</base>
    <class kind="struct">UndercarriageCtrl::CtrlData</class>
    <class kind="struct">UndercarriageCtrl::CtrlParams</class>
    <class kind="struct">UndercarriageCtrl::WheelParams</class>
    <member kind="function">
      <type>void</type>
      <name>calcControlStep</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>a57b7731118f6d24d2bdf92c8ef6e6c4e</anchor>
      <arglist>(std::vector&lt; WheelState &gt; &amp;states, double dCmdRateS, bool reset)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>calcDirect</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>aec16b04b1814faf28fd7d8a4e9cf8ab5</anchor>
      <arglist>(PlatformState &amp;state) const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>a3ff130c2b30eb21a00544350d7ec88b7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTarget</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>a031d4e5b89e9a90e1338923f7b46905f</anchor>
      <arglist>(const PlatformState &amp;state)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>UndercarriageCtrl</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>a23c191d1911a89080c75874305234fbe</anchor>
      <arglist>(const std::vector&lt; WheelParams &gt; &amp;params)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>updateWheelStates</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>a4640e7a0823f242ca9ea520174bb8fb4</anchor>
      <arglist>(const std::vector&lt; WheelState &gt; &amp;states)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>limitValue</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>a25a745735fad8a3e8a3104afb1406505</anchor>
      <arglist>(double value, double limit)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; CtrlData &gt;</type>
      <name>wheels_</name>
      <anchorfile>classUndercarriageCtrl.html</anchorfile>
      <anchor>ae448f90dffe9a15e982463df60198c59</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageCtrl::CtrlData</name>
    <filename>structUndercarriageCtrl_1_1CtrlData.html</filename>
    <member kind="function">
      <type>void</type>
      <name>calcControlStep</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>aeef286b8c24a336804f0134a5a284dfb</anchor>
      <arglist>(WheelState &amp;command, double dCmdRateS, bool reset)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CtrlData</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>a750a8144ba26bb2c134016dd38fb9d7f</anchor>
      <arglist>(const WheelParams &amp;params)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>a27fe8571ab73a6ed363a0a6c5994590c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setTarget</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>a2c1be4354e66144645caa72d7e974cda</anchor>
      <arglist>(const PlatformState &amp;state)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dAngGearSteerTargetRad</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>aa540535bc3723f09a1c95d561a405803</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dCtrlVelCmdInt</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>a3c6377c522f9c13c3eddfe5265410b75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dVelGearDriveTargetRadS</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>aa7c01027736e06405d1314279fd1c7b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>CtrlParams</type>
      <name>params_</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlData.html</anchorfile>
      <anchor>abefca240a8750ff6cd71cdf84e8cc526</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageCtrl::CtrlParams</name>
    <filename>structUndercarriageCtrl_1_1CtrlParams.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>dDamp</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>a89e1b7eabc443c004d726fdd0f8c21c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dDDPhiMax</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>a1233766da4ce832626b78448fb2bf93c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dDPhiMax</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>a11ce0e556f5801f2bb1dd866247737da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dMaxDriveRateRadpS</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>ad3c8abafc8519c189270846336c4c4ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dMaxSteerRateRadpS</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>a3738efe3b846c190533d77e6ffcdef4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dSpring</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>a4dfee8a1706f4eda17c08f73b7c2b2d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dVirtM</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>ad5aabd731200df434c1b23dd1bedd82e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dWheelNeutralPos</name>
      <anchorfile>structUndercarriageCtrl_1_1CtrlParams.html</anchorfile>
      <anchor>a43cb44930c3f7331af9af24fb6bbc23e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageCtrl::WheelParams</name>
    <filename>structUndercarriageCtrl_1_1WheelParams.html</filename>
    <member kind="variable">
      <type>CtrlParams</type>
      <name>ctrl</name>
      <anchorfile>structUndercarriageCtrl_1_1WheelParams.html</anchorfile>
      <anchor>a23e954d330814a0573b5d40c1cfe4b43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>WheelGeom</type>
      <name>geom</name>
      <anchorfile>structUndercarriageCtrl_1_1WheelParams.html</anchorfile>
      <anchor>af6c659c65286e88ba8d84f554fb8c668</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>controller_interface::UndercarriageCtrl</name>
    <filename>classcontroller__interface_1_1UndercarriageCtrl.html</filename>
  </compound>
  <compound kind="class">
    <name>controller_interface::UndercarriageGeom</name>
    <filename>classcontroller__interface_1_1UndercarriageGeom.html</filename>
  </compound>
  <compound kind="class">
    <name>UndercarriageGeom</name>
    <filename>classUndercarriageGeom.html</filename>
    <base>UndercarriageGeomBase</base>
    <class kind="struct">UndercarriageGeom::WheelParams</class>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>calcDirect</name>
      <anchorfile>classUndercarriageGeom.html</anchorfile>
      <anchor>a1e98c2eefd0f4cffa3001b535098ed92</anchor>
      <arglist>(PlatformState &amp;state) const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>UndercarriageGeom</name>
      <anchorfile>classUndercarriageGeom.html</anchorfile>
      <anchor>a36684ade912200ef6392f148029e5bf7</anchor>
      <arglist>(const std::vector&lt; WheelParams &gt; &amp;params)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>updateWheelStates</name>
      <anchorfile>classUndercarriageGeom.html</anchorfile>
      <anchor>abb17b87a11f825e0f13c9857b135bade</anchor>
      <arglist>(const std::vector&lt; WheelState &gt; &amp;states)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; WheelData &gt;</type>
      <name>wheels_</name>
      <anchorfile>classUndercarriageGeom.html</anchorfile>
      <anchor>ac0aa2abe2e6862f830b3eea53a24206e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageGeom::WheelParams</name>
    <filename>structUndercarriageGeom_1_1WheelParams.html</filename>
    <member kind="variable">
      <type>WheelGeom</type>
      <name>geom</name>
      <anchorfile>structUndercarriageGeom_1_1WheelParams.html</anchorfile>
      <anchor>a3b4cc5fd16e5518d31a747063da64011</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>UndercarriageGeomBase</name>
    <filename>classUndercarriageGeomBase.html</filename>
    <class kind="struct">UndercarriageGeomBase::PlatformState</class>
    <class kind="struct">UndercarriageGeomBase::WheelData</class>
    <class kind="struct">UndercarriageGeomBase::WheelGeom</class>
    <class kind="struct">UndercarriageGeomBase::WheelState</class>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>calcDirect</name>
      <anchorfile>classUndercarriageGeomBase.html</anchorfile>
      <anchor>a053c64ee48c41fe2abdf75e2c2b15c46</anchor>
      <arglist>(PlatformState &amp;state) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>updateWheelStates</name>
      <anchorfile>classUndercarriageGeomBase.html</anchorfile>
      <anchor>a5a2413e5c04d2ba9bf2b17e116992b81</anchor>
      <arglist>(const std::vector&lt; WheelState &gt; &amp;states)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~UndercarriageGeomBase</name>
      <anchorfile>classUndercarriageGeomBase.html</anchorfile>
      <anchor>aedfe3fc68f0369c6f54ddfc136dba183</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" static="yes">
      <type>static void</type>
      <name>calcDirect</name>
      <anchorfile>classUndercarriageGeomBase.html</anchorfile>
      <anchor>ac7e23526af97243303819137f7507489</anchor>
      <arglist>(PlatformState &amp;state, const V &amp;wheels)</arglist>
    </member>
    <member kind="function" protection="protected" static="yes">
      <type>static void</type>
      <name>updateWheelStates</name>
      <anchorfile>classUndercarriageGeomBase.html</anchorfile>
      <anchor>a964bce24917f4470e69f24f78e789bd7</anchor>
      <arglist>(V &amp;wheels, const std::vector&lt; WheelState &gt; &amp;states)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageGeomBase::PlatformState</name>
    <filename>structUndercarriageGeomBase_1_1PlatformState.html</filename>
    <member kind="function">
      <type>const double</type>
      <name>getVelX</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>ae268ec3a93df51eb509569088c47a62e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const double</type>
      <name>getVelY</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>aa15be3b3d97f42d7ed81101009834cdd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PlatformState</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>a7f24463b7eac69e629b3235e0386dca0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setVelX</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>a402673da7578ce5266dd85acd75428c5</anchor>
      <arglist>(const double val)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setVelY</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>ab56bda9d9bfed85044ccb297f43645a8</anchor>
      <arglist>(const double val)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dRotRobRadS</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>a9d4fae47adcbba56f4a971fe80b659c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dVelLatMMS</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>ad03a746cb18849c49de86eeffa94e36f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dVelLongMMS</name>
      <anchorfile>structUndercarriageGeomBase_1_1PlatformState.html</anchorfile>
      <anchor>a73306a4661612c21b05a1563b13bcb29</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageGeomBase::WheelData</name>
    <filename>structUndercarriageGeomBase_1_1WheelData.html</filename>
    <member kind="function">
      <type>double</type>
      <name>getVelX</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>ab44f98e55f84c7f87aa9f42868b4b887</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getVelY</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a34bb368c98afdf58a11876466d88c541</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateState</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>adc4c15721e3085b74d40b4447c56bd31</anchor>
      <arglist>(const WheelState &amp;state)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>WheelData</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a44052cc0d1ff5ee337c574f92db17313</anchor>
      <arglist>(const WheelGeom &amp;geom)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>mergeRotRobRadS</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a4239bb976bdd28a253ee84beb37f13ee</anchor>
      <arglist>(const WheelData &amp;wheel1, const WheelData &amp;wheel2)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dFactorVel</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a695886a0d2e01e37b40521bc122fb2cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>WheelGeom</type>
      <name>geom_</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a969ffdb021bbcf018fd9723e4970c242</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dExWheelAngRad</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>ad816be3c5bc0435109fb3cd46279057f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dExWheelDistMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>acd1ac2321736d0f076ac33932d11d4a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dExWheelXPosMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>afd4d61b610431fdf813bc80b4df25991</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dExWheelYPosMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a2734be3b4861a04f47bff444041752e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>m_dVelWheelMMS</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>af9520e997df2558732ebcd4f3ddcb989</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>WheelState</type>
      <name>state_</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelData.html</anchorfile>
      <anchor>a1e09036b41b6b19378973ce2ece676b8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageGeomBase::WheelGeom</name>
    <filename>structUndercarriageGeomBase_1_1WheelGeom.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>dDistSteerAxisToDriveWheelMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>aea6fd8d7958e76dc6661bfda66f096ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dRadiusWheelMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>a6941861bb078385bfebd1229db5e3cb6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>drive_name</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>a363d092c3401f4e1cf248460a65132fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dSteerDriveCoupling</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>a3f4c29cdb8246c706e16424e9ee6a122</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dWheelXPosMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>a7920d449526dc37e25cb32f8f1b204fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dWheelYPosMM</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>ae1c44dff15d174975a1009084efcf12b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>steer_name</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelGeom.html</anchorfile>
      <anchor>ad5eed342d114eb8ba84f08ac772efc66</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>UndercarriageGeomBase::WheelState</name>
    <filename>structUndercarriageGeomBase_1_1WheelState.html</filename>
    <member kind="function">
      <type></type>
      <name>WheelState</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelState.html</anchorfile>
      <anchor>a19f6529574674080d4a225f7001f7d48</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dAngGearSteerRad</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelState.html</anchorfile>
      <anchor>a10d9f4772e5796020a1a4054a305f977</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dVelGearDriveRadS</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelState.html</anchorfile>
      <anchor>aa7342cb6678608aa2840a31098acb6e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dVelGearSteerRadS</name>
      <anchorfile>structUndercarriageGeomBase_1_1WheelState.html</anchorfile>
      <anchor>a49cb4d4309b2f3ba511cfe76e783fde0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>cob_omni_drive_controller</name>
    <filename>namespacecob__omni__drive__controller.html</filename>
    <class kind="class">cob_omni_drive_controller::GeomController</class>
    <class kind="class">cob_omni_drive_controller::OdometryController</class>
    <class kind="class">cob_omni_drive_controller::WheelController</class>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelParams</name>
      <anchorfile>namespacecob__omni__drive__controller.html</anchorfile>
      <anchor>afeaa0b3a793b233ee17e69485687351d</anchor>
      <arglist>(std::vector&lt; UndercarriageGeom::WheelParams &gt; &amp;params, const ros::NodeHandle &amp;nh, bool read_urdf=true)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>parseWheelParams</name>
      <anchorfile>namespacecob__omni__drive__controller.html</anchorfile>
      <anchor>ac02aacfab9a9f6d759dc1c7b9b6f278d</anchor>
      <arglist>(std::vector&lt; UndercarriageCtrl::WheelParams &gt; &amp;params, const ros::NodeHandle &amp;nh, bool read_urdf=true)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>cob_omni_drive_controller::GeomController</name>
    <filename>classcob__omni__drive__controller_1_1GeomController.html</filename>
    <templarg>Interface</templarg>
    <templarg>Controller</templarg>
    <base>Controller&lt; Interface &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classcob__omni__drive__controller_1_1GeomController.html</anchorfile>
      <anchor>aaa1c897741cfdbb9ccaacd729dbb1e9d</anchor>
      <arglist>(Interface *hw, ros::NodeHandle &amp;controller_nh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classcob__omni__drive__controller_1_1GeomController.html</anchorfile>
      <anchor>a1418e166f51c665f316203b6fe51f8c4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; typename Interface::ResourceHandleType &gt;</type>
      <name>drive_joints_</name>
      <anchorfile>classcob__omni__drive__controller_1_1GeomController.html</anchorfile>
      <anchor>af2ba74d46c052f33e9526a3bd9a16f73</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::scoped_ptr&lt; Controller &gt;</type>
      <name>geom_</name>
      <anchorfile>classcob__omni__drive__controller_1_1GeomController.html</anchorfile>
      <anchor>a4b74c477280b0bcb2ef3a0162692400e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; typename Interface::ResourceHandleType &gt;</type>
      <name>steer_joints_</name>
      <anchorfile>classcob__omni__drive__controller_1_1GeomController.html</anchorfile>
      <anchor>af66870651bf897744d72fc17729f5965</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; typename Controller::WheelState &gt;</type>
      <name>wheel_states_</name>
      <anchorfile>classcob__omni__drive__controller_1_1GeomController.html</anchorfile>
      <anchor>a3bf4c8f927b832b433c27d8bbc588766</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>cob_omni_drive_controller::OdometryController</name>
    <filename>classcob__omni__drive__controller_1_1OdometryController.html</filename>
    <base>GeomController&lt; hardware_interface::JointStateInterface, UndercarriageGeom &gt;</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>ae8b284fd0ef80de99fced209aa9823b9</anchor>
      <arglist>(hardware_interface::JointStateInterface *hw, ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OdometryController</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a7e53f1fd5891a5c081bdf8b3654738e2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>srv_reset</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>aa563e5fa44835ab00a82e8040ef65033</anchor>
      <arglist>(std_srvs::Trigger::Request &amp;req, std_srvs::Trigger::Response &amp;res)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>starting</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a8b2069b500ee411280889340411775f5</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>stopping</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>abd6033dc3b62371668547e48f0e8a1dc</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>update</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a5f5ba0ca14e11a68ba9dab4c79d24158</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publish</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>ad3391e171a8abdb8905c3055d07acb1e</anchor>
      <arglist>(const ros::TimerEvent &amp;)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a118454f32327d33fd926a93f0b8009ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>nav_msgs::Odometry</type>
      <name>odom_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a6d63e830fdc8f57d4001345065f3e045</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>geometry_msgs::TransformStamped</type>
      <name>odom_tf_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a4a06829279329b224a9916c5f19060e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; OdometryTracker &gt;</type>
      <name>odom_tracker_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a478f027e25cd0c147ccd0ad2fa810e0d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>UndercarriageGeom::PlatformState</type>
      <name>platform_state_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a93d883f9e66d46dbf25ea8c32796f065</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Timer</type>
      <name>publish_timer_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a04c04cfa89aed63abf0c9309c80991d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>reset_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a6630c4bfa76a6cef9e3681b2f82e9554</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>service_reset_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a8ea371ef51ecc3566a53f4a41c7de7d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>stop_time_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a8e44da029d6dc3a5e61c39793154bf04</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; tf::TransformBroadcaster &gt;</type>
      <name>tf_broadcast_odometry_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>ae8911a699b59744edf675099d1210478</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>topic_pub_odometry_</name>
      <anchorfile>classcob__omni__drive__controller_1_1OdometryController.html</anchorfile>
      <anchor>a53f75e03b352e4cf088ae362a846d5b4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>cob_omni_drive_controller::WheelController</name>
    <filename>classcob__omni__drive__controller_1_1WheelController.html</filename>
    <base>GeomController&lt; hardware_interface::VelocityJointInterface, UndercarriageCtrl &gt;</base>
    <class kind="struct">cob_omni_drive_controller::WheelController::Target</class>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a8cb98e3516f8ac517961dccebdd18c54</anchor>
      <arglist>(hardware_interface::VelocityJointInterface *hw, ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>starting</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>ab4335c9e48a92d37eb7819a5b128710c</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>stopping</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a33a4dc8a87bbf9397bc3c71cc4069c81</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>update</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>ac3626cb7680dba03692d5db6ad5e9d3d</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>WheelController</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a6e36c8be619eb3573186f0d9788b4b8b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>topicCallbackTwistCmd</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a06e97d39e19123b4348fe1d41aeb27af</anchor>
      <arglist>(const geometry_msgs::Twist::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_vel_rot_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>aae77501356f7cf2ce563782da82f99ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_vel_trans_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a27e5d9592674fc3b8cd042eaa76e5fdf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a8cc55b75dfc2c37a1dad057d95db66e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>struct cob_omni_drive_controller::WheelController::Target</type>
      <name>target_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>ac9bd51b7c03472a4ec78d4fb5f14334e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Duration</type>
      <name>timeout_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a8c80aba3967eb0686c4734c97cfd1e0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>twist_subscriber_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>ad54f856a5a924ac2156bb62237c4eafa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; UndercarriageCtrl::WheelState &gt;</type>
      <name>wheel_commands_</name>
      <anchorfile>classcob__omni__drive__controller_1_1WheelController.html</anchorfile>
      <anchor>a1f75fc8a0ccb63f275c5e15def98b37f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>cob_omni_drive_controller::WheelController::Target</name>
    <filename>structcob__omni__drive__controller_1_1WheelController_1_1Target.html</filename>
    <member kind="variable">
      <type>ros::Time</type>
      <name>stamp</name>
      <anchorfile>structcob__omni__drive__controller_1_1WheelController_1_1Target.html</anchorfile>
      <anchor>a348c4291cade4af4318d7e97c6ba200c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>UndercarriageCtrl::PlatformState</type>
      <name>state</name>
      <anchorfile>structcob__omni__drive__controller_1_1WheelController_1_1Target.html</anchorfile>
      <anchor>a9742102c5ea777bb0d8e1422ab4d9915</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>updated</name>
      <anchorfile>structcob__omni__drive__controller_1_1WheelController_1_1Target.html</anchorfile>
      <anchor>a87369fcb0613e0cc06d5667705057059</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>MathSup</name>
    <filename>namespaceMathSup.html</filename>
    <member kind="function">
      <type>double</type>
      <name>atan4quad</name>
      <anchorfile>namespaceMathSup.html</anchorfile>
      <anchor>afdbf5cfa154f41ed72f17d4516551d60</anchor>
      <arglist>(double y, double x)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>normalizePi</name>
      <anchorfile>namespaceMathSup.html</anchorfile>
      <anchor>a38b92acb90f3fa70b91140acddad4ab4</anchor>
      <arglist>(double &amp;val)</arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>PI</name>
      <anchorfile>namespaceMathSup.html</anchorfile>
      <anchor>a7cf618d446d59c0b71f2324e2d146eea</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>ros</name>
    <filename>namespaceros.html</filename>
  </compound>
</tagfile>
