<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>adafruit_feather_wing.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/motor_controllers/adafruit_feather_wing/</path>
    <filename>adafruit__feather__wing_8cpp.html</filename>
    <includes id="adafruit__feather__wing_8h" name="adafruit_feather_wing.h" local="yes" imported="no">adafruit_feather_wing/adafruit_feather_wing.h</includes>
  </compound>
  <compound kind="file">
    <name>adafruit_feather_wing.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/motor_controllers/adafruit_feather_wing/</path>
    <filename>adafruit__feather__wing_8h.html</filename>
    <includes id="diffbot__base__config_8h" name="diffbot_base_config.h" local="yes" imported="no">diffbot_base_config.h</includes>
    <includes id="motor__controller__interface_8h" name="motor_controller_interface.h" local="no" imported="no">motor_controller_interface.h</includes>
    <class kind="class">diffbot::AdafruitMotorController</class>
    <namespace>diffbot</namespace>
  </compound>
  <compound kind="file">
    <name>AngularVelocities.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>AngularVelocities_8h.html</filename>
    <class kind="class">diffbot_msgs::AngularVelocities</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>AngularVelocitiesStamped.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>AngularVelocitiesStamped_8h.html</filename>
    <includes id="AngularVelocities_8h" name="AngularVelocities.h" local="yes" imported="no">diffbot_msgs/AngularVelocities.h</includes>
    <class kind="class">diffbot_msgs::AngularVelocitiesStamped</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>base_controller.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/base_controller/</path>
    <filename>base__controller_8h.html</filename>
    <includes id="EncodersStamped_8h" name="EncodersStamped.h" local="no" imported="no">diffbot_msgs/EncodersStamped.h</includes>
    <includes id="WheelsCmdStamped_8h" name="WheelsCmdStamped.h" local="no" imported="no">diffbot_msgs/WheelsCmdStamped.h</includes>
    <includes id="AngularVelocities_8h" name="AngularVelocities.h" local="no" imported="no">diffbot_msgs/AngularVelocities.h</includes>
    <includes id="PIDStamped_8h" name="PIDStamped.h" local="no" imported="no">diffbot_msgs/PIDStamped.h</includes>
    <includes id="diffbot__base__config_8h" name="diffbot_base_config.h" local="yes" imported="no">diffbot_base_config.h</includes>
    <includes id="encoder__diffbot_8h" name="encoder_diffbot.h" local="yes" imported="no">encoder_diffbot.h</includes>
    <includes id="adafruit__feather__wing_8h" name="adafruit_feather_wing.h" local="yes" imported="no">adafruit_feather_wing/adafruit_feather_wing.h</includes>
    <class kind="class">diffbot::BaseController</class>
    <class kind="struct">diffbot::BaseController::LastUpdateTime</class>
    <class kind="struct">diffbot::BaseController::UpdateRate::Period</class>
    <class kind="struct">diffbot::BaseController::UpdateRate</class>
    <namespace>diffbot</namespace>
    <member kind="typedef">
      <type>diffbot::BaseController&lt; TMotorController, TMotorDriver &gt;</type>
      <name>BC</name>
      <anchorfile>base__controller_8h.html</anchorfile>
      <anchor>a6802043505bd64fde9fb409e6eac3f44</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>diffbot_base.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/src/</path>
    <filename>diffbot__base_8cpp.html</filename>
    <includes id="diffbot__hw__interface_8h" name="diffbot_hw_interface.h" local="no" imported="no">diffbot_base/diffbot_hw_interface.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>diffbot__base_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>diffbot_base_config.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/config/</path>
    <filename>diffbot__base__config_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>E_STOP_COMMAND_RECEIVED_DURATION</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>af468735a90ce4b7e63d711836e9ffa8b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ENCODER_LEFT_H1</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a3148c286aedfd72fc73b730de3b7f8a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ENCODER_LEFT_H2</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a4f7d31f06ff280776657b53c771dc402</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ENCODER_RESOLUTION</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a8cdc17f43c9f3850f60d04f98216fc13</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ENCODER_RIGHT_H1</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>ae560358977b6788dcbf345122f66a53f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ENCODER_RIGHT_H2</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a7462df31aa9a7ad3e49fd7e15736dad9</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>K_D</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a0b9e481775b5a7ecdd0dbb43cacc1a09</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>K_I</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a5e606c8dc6de900bea3cd7740ac1bd4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>K_P</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>acfc98b8c69707c30ac9a96bb12f2a0ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MOTOR_DRIVER_ADDR</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>af64b563fa9609301c3c598ab41f7c00c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MOTOR_LEFT</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a0e2d750df9008232cafa398d2424b778</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MOTOR_RIGHT</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a9eff471d17bc68f18b14ff75f23aa3bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PWM_BITS</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>af1c503c50e6eb1b5e6cfbc63f2abb747</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PWM_MAX</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>a391fa1e490bd712720989b58fa0d9904</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>UPDATE_RATE_CONTROL</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>aa54bf325fba5e78de32d34568279bce7</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>UPDATE_RATE_DEBUG</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>ab9e2ca73fb264cfb39a4790b614ba4cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>UPDATE_RATE_IMU</name>
      <anchorfile>diffbot__base__config_8h.html</anchorfile>
      <anchor>ad51b9b4efeff34df5fb421b536e0ca47</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>diffbot_hw_interface.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/src/</path>
    <filename>diffbot__hw__interface_8cpp.html</filename>
    <includes id="diffbot__hw__interface_8h" name="diffbot_hw_interface.h" local="no" imported="no">diffbot_base/diffbot_hw_interface.h</includes>
    <namespace>diffbot_base</namespace>
  </compound>
  <compound kind="file">
    <name>diffbot_hw_interface.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/include/diffbot_base/</path>
    <filename>diffbot__hw__interface_8h.html</filename>
    <includes id="EncodersStamped_8h" name="EncodersStamped.h" local="no" imported="no">diffbot_msgs/EncodersStamped.h</includes>
    <includes id="WheelsCmdStamped_8h" name="WheelsCmdStamped.h" local="no" imported="no">diffbot_msgs/WheelsCmdStamped.h</includes>
    <includes id="AngularVelocitiesStamped_8h" name="AngularVelocitiesStamped.h" local="no" imported="no">diffbot_msgs/AngularVelocitiesStamped.h</includes>
    <includes id="include_2diffbot__base_2pid_8h" name="include/diffbot_base/pid.h" local="no" imported="no">diffbot_base/pid.h</includes>
    <class kind="class">diffbot_base::DiffBotHWInterface</class>
    <class kind="struct">diffbot_base::JointState</class>
    <namespace>diffbot_base</namespace>
    <member kind="variable">
      <type>const unsigned int</type>
      <name>NUM_JOINTS</name>
      <anchorfile>namespacediffbot__base.html</anchorfile>
      <anchor>a816cf1aa4539552b6395afc4789b51be</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>encoder_diffbot.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/encoder/</path>
    <filename>encoder__diffbot_8cpp.html</filename>
    <includes id="encoder__diffbot_8h" name="encoder_diffbot.h" local="yes" imported="no">encoder_diffbot.h</includes>
  </compound>
  <compound kind="file">
    <name>encoder_diffbot.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/encoder/</path>
    <filename>encoder__diffbot_8h.html</filename>
    <class kind="class">diffbot::Encoder</class>
    <class kind="struct">diffbot::JointState</class>
    <namespace>diffbot</namespace>
  </compound>
  <compound kind="file">
    <name>Encoders.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>Encoders_8h.html</filename>
    <class kind="class">diffbot_msgs::Encoders</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>EncodersStamped.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>EncodersStamped_8h.html</filename>
    <includes id="Encoders_8h" name="Encoders.h" local="yes" imported="no">diffbot_msgs/Encoders.h</includes>
    <class kind="class">diffbot_msgs::EncodersStamped</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>main.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/src/</path>
    <filename>main_8cpp.html</filename>
    <includes id="diffbot__base__config_8h" name="diffbot_base_config.h" local="yes" imported="no">diffbot_base_config.h</includes>
    <includes id="base__controller_8h" name="base_controller.h" local="yes" imported="no">base_controller.h</includes>
    <includes id="adafruit__feather__wing_8h" name="adafruit_feather_wing.h" local="yes" imported="no">adafruit_feather_wing/adafruit_feather_wing.h</includes>
    <member kind="function">
      <type>BaseController&lt; AdafruitMotorController, Adafruit_MotorShield &gt;</type>
      <name>base_controller</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a317df83bf20eb944a86d2641171e78bc</anchor>
      <arglist>(nh, &amp;motor_controller_left, &amp;motor_controller_right)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>loop</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>afe461d27b9c48d5921c00d521181f12f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setup</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a4fc01d736fe50cf5b977f755b675f11d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>AdafruitMotorController</type>
      <name>motor_controller_left</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a4f09664c28604c52bef0b6974e62d1a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>AdafruitMotorController</type>
      <name>motor_controller_right</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>ac36c3751c4beb4c6f24b01eb38332bd8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle</type>
      <name>nh</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a8c8f15207982b3e185f86e1b4968e70d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_controller_interface.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/motor_controller_interface/</path>
    <filename>motor__controller__interface_8h.html</filename>
    <class kind="class">diffbot::MotorControllerIntf</class>
    <namespace>diffbot</namespace>
  </compound>
  <compound kind="file">
    <name>scripts/base_controller/lib/pid/pid.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/pid/</path>
    <filename>scripts_2base__controller_2lib_2pid_2pid_8cpp.html</filename>
    <includes id="scripts_2base__controller_2lib_2pid_2pid_8h" name="scripts/base_controller/lib/pid/pid.h" local="yes" imported="no">pid.h</includes>
  </compound>
  <compound kind="file">
    <name>src/pid.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/src/</path>
    <filename>src_2pid_8cpp.html</filename>
    <includes id="include_2diffbot__base_2pid_8h" name="include/diffbot_base/pid.h" local="no" imported="no">diffbot_base/pid.h</includes>
    <namespace>diffbot_base</namespace>
  </compound>
  <compound kind="file">
    <name>PID.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>PID_8h.html</filename>
    <class kind="class">diffbot_msgs::PID</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>include/diffbot_base/pid.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/include/diffbot_base/</path>
    <filename>include_2diffbot__base_2pid_8h.html</filename>
    <class kind="class">diffbot_base::PID</class>
    <namespace>diffbot_base</namespace>
  </compound>
  <compound kind="file">
    <name>scripts/base_controller/lib/pid/pid.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/pid/</path>
    <filename>scripts_2base__controller_2lib_2pid_2pid_8h.html</filename>
    <class kind="class">diffbot::PID</class>
    <namespace>diffbot</namespace>
  </compound>
  <compound kind="file">
    <name>PIDStamped.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>PIDStamped_8h.html</filename>
    <includes id="PID_8h" name="PID.h" local="yes" imported="no">diffbot_msgs/PID.h</includes>
    <class kind="class">diffbot_msgs::PIDStamped</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>test_adafruit_motor_controller.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/test/motor_controller/</path>
    <filename>test__adafruit__motor__controller_8cpp.html</filename>
    <includes id="adafruit__feather__wing_8h" name="adafruit_feather_wing.h" local="no" imported="no">adafruit_feather_wing/adafruit_feather_wing.h</includes>
    <member kind="function">
      <type>void</type>
      <name>loop</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>afe461d27b9c48d5921c00d521181f12f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>motorSweep</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>a5979a5ab5325a6376d626813203c66e8</anchor>
      <arglist>(MotorControllerIntf&lt; Adafruit_MotorShield &gt; *i_pMotorController)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setup</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>a4fc01d736fe50cf5b977f755b675f11d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>AdafruitMotorController</type>
      <name>AMC</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>a3f3b7c2daada4156b5583b89cf28ddf3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>cycle</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>a43925d437f42c3541f76d1ef391476ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>max_loop_cycles</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>ab9f79c8305c357f126ba9c2e429d6f6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>MotorControllerIntf&lt; Adafruit_MotorShield &gt; *</type>
      <name>pMotorController</name>
      <anchorfile>test__adafruit__motor__controller_8cpp.html</anchorfile>
      <anchor>a037d0cb428a7bb845e8498513b218873</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_adafruit_motorshieldv2.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/test/adafruit_motorshieldv2/</path>
    <filename>test__adafruit__motorshieldv2_8cpp.html</filename>
    <includes id="diffbot__base__config_8h" name="diffbot_base_config.h" local="yes" imported="no">diffbot_base_config.h</includes>
    <member kind="function">
      <type>void</type>
      <name>loop</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>afe461d27b9c48d5921c00d521181f12f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>motorSweep</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>ad2509a75c9e3d64b036bc18bde6eecc1</anchor>
      <arglist>(Adafruit_DCMotor *motor)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setup</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>a4fc01d736fe50cf5b977f755b675f11d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>Adafruit_MotorShield</type>
      <name>AFMS</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>a7e8151031cf9a913ec4a28a5f56ed7c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>cycle</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>a43925d437f42c3541f76d1ef391476ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Adafruit_DCMotor *</type>
      <name>leftMotor</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>a33dc63e5ba840c049a432bbc93246657</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>max_loop_cycles</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>ab9f79c8305c357f126ba9c2e429d6f6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Adafruit_DCMotor *</type>
      <name>rightMotor</name>
      <anchorfile>test__adafruit__motorshieldv2_8cpp.html</anchorfile>
      <anchor>a8bd76c33971d22ad4e43dbfa70b75654</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_encoders.cpp</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/test/encoders/</path>
    <filename>test__encoders_8cpp.html</filename>
    <includes id="diffbot__base__config_8h" name="diffbot_base_config.h" local="yes" imported="no">diffbot_base_config.h</includes>
    <includes id="encoder__diffbot_8h" name="encoder_diffbot.h" local="yes" imported="no">encoder_diffbot.h</includes>
    <member kind="function">
      <type>void</type>
      <name>loop</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>afe461d27b9c48d5921c00d521181f12f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setup</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>a4fc01d736fe50cf5b977f755b675f11d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>diffbot::Encoder</type>
      <name>encoderLeft</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>a2f2954d9cbbf428eabbfb4ed910e01d9</anchor>
      <arglist>(nh, ENCODER_LEFT_H1, ENCODER_LEFT_H2, ENCODER_RESOLUTION)</arglist>
    </member>
    <member kind="variable">
      <type>diffbot::Encoder</type>
      <name>encoderRight</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>a0ff17a87a8d45e83c06b132edcc67e91</anchor>
      <arglist>(nh, ENCODER_RIGHT_H1, ENCODER_RIGHT_H2, ENCODER_RESOLUTION)</arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle</type>
      <name>nh</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>a8c8f15207982b3e185f86e1b4968e70d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long</type>
      <name>positionLeft</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>aeaf6650b31e371067c5dada5c28fd740</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>long</type>
      <name>positionRight</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>a89bd002c25f3d99d99666704498c8af5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>test_max_time</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>a2aade620b8988e874be0fcd530be0f08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>test_start_time</name>
      <anchorfile>test__encoders_8cpp.html</anchorfile>
      <anchor>af9d2d7cecfdb88efa294c492fe2fe918</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>WheelsCmd.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>WheelsCmd_8h.html</filename>
    <includes id="AngularVelocities_8h" name="AngularVelocities.h" local="yes" imported="no">diffbot_msgs/AngularVelocities.h</includes>
    <class kind="class">diffbot_msgs::WheelsCmd</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="file">
    <name>WheelsCmdStamped.h</name>
    <path>/tmp/ws/src/diffbot/diffbot_base/scripts/base_controller/lib/ros_lib/diffbot_msgs/</path>
    <filename>WheelsCmdStamped_8h.html</filename>
    <includes id="WheelsCmd_8h" name="WheelsCmd.h" local="yes" imported="no">diffbot_msgs/WheelsCmd.h</includes>
    <class kind="class">diffbot_msgs::WheelsCmdStamped</class>
    <namespace>diffbot_msgs</namespace>
  </compound>
  <compound kind="class">
    <name>diffbot::AdafruitMotorController</name>
    <filename>classdiffbot_1_1AdafruitMotorController.html</filename>
    <base>MotorControllerIntf&lt; Adafruit_MotorShield &gt;</base>
    <member kind="function">
      <type></type>
      <name>AdafruitMotorController</name>
      <anchorfile>classdiffbot_1_1AdafruitMotorController.html</anchorfile>
      <anchor>ae09db5a6c20fb234efc4f3feef659c81</anchor>
      <arglist>(uint8_t motor_num, uint8_t addr=0x60)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>begin</name>
      <anchorfile>classdiffbot_1_1AdafruitMotorController.html</anchorfile>
      <anchor>acce3c23687982ff7fdb962c00f3b278f</anchor>
      <arglist>(uint16_t freq=1600)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setSpeed</name>
      <anchorfile>classdiffbot_1_1AdafruitMotorController.html</anchorfile>
      <anchor>a7ad591fb544e445885d48b8461dc9f7c</anchor>
      <arglist>(int value) override</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Adafruit_DCMotor *</type>
      <name>pMotor_</name>
      <anchorfile>classdiffbot_1_1AdafruitMotorController.html</anchorfile>
      <anchor>a57ccc659773b360a70500172a22f679b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::AngularVelocities</name>
    <filename>classdiffbot__msgs_1_1AngularVelocities.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>float</type>
      <name>_joint_type</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>ada744ea06a78a6dbd67604b43b6da30e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>AngularVelocities</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>af1a65504a12ab254bb1d16a8970da262</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>a6bd8470eb1dfbbdc0aed54118a8086f7</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>ad6701073ae9b076713d1002badac8785</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>a3293520bf5ad6a049d74784304019f0f</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>a8066c3bd510d78fb1a4605f3dbcf99b7</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="variable">
      <type>_joint_type *</type>
      <name>joint</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>a8062f7bed2e6ad9a9ed1b7d0ee1fafe7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>joint_length</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>a26be1e32cbd8f0bfce017d4aa48784d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_joint_type</type>
      <name>st_joint</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocities.html</anchorfile>
      <anchor>a2bf3f7e3e2c3f3f716ad275196625068</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::AngularVelocitiesStamped</name>
    <filename>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>diffbot_msgs::AngularVelocities</type>
      <name>_angular_velocities_type</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>ac24931f78a256f44c5976d2e7fa438bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std_msgs::Header</type>
      <name>_header_type</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>a7b9acf0781e4d6608793f8a07d8f702b</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>AngularVelocitiesStamped</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>aafa9de2df847377f074524f556aad0c4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>a814cc25f742bd34bb1cf19aae3b39628</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>a4d61df1af296da0e61984de917876323</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>a985bfe9db0150c484387300ebd3bedce</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>ade223f58adba5aac8e25f2df54d4e539</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="variable">
      <type>_angular_velocities_type</type>
      <name>angular_velocities</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>a8137bf43e2957d5a07e0e7db6e8c2ba6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_header_type</type>
      <name>header</name>
      <anchorfile>classdiffbot__msgs_1_1AngularVelocitiesStamped.html</anchorfile>
      <anchor>a6cbed6499385813ab4770b1837b1ac16</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot::BaseController</name>
    <filename>classdiffbot_1_1BaseController.html</filename>
    <templarg></templarg>
    <templarg></templarg>
    <class kind="struct">diffbot::BaseController::LastUpdateTime</class>
    <class kind="struct">diffbot::BaseController::UpdateRate</class>
    <member kind="function">
      <type></type>
      <name>BaseController</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a4c57157c3165940f194e85be6aea09a9</anchor>
      <arglist>(ros::NodeHandle &amp;nh, TMotorController *motor_controller_left, TMotorController *motor_controller_right)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>commandCallback</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a23ae7d9ca0750e9b48b3b037556697a6</anchor>
      <arglist>(const diffbot_msgs::WheelsCmdStamped &amp;cmd_msg)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>debug</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a396de065f1958ceada2110f266ad41d2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>eStop</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a41354b4d51fc8fb9c97aca6d0d14a446</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a9add57ee869347d4ee2eeb4e733539fd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>LastUpdateTime &amp;</type>
      <name>lastUpdateTime</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a7dd1945472f83a891dc294daf76b4f47</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>period</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>af5d5dfd7526ef090dfce4d2dbf716fcb</anchor>
      <arglist>(double frequency)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pidLeftCallback</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a001efa473375bc84721d4a4becae6250</anchor>
      <arglist>(const diffbot_msgs::PIDStamped &amp;pid_msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pidRightCallback</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a4c68e722a31b072408c54be82f3c6157</anchor>
      <arglist>(const diffbot_msgs::PIDStamped &amp;pid_msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printDebug</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a149626e3e16552903f8b53e5c37a0d86</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>UpdateRate &amp;</type>
      <name>publishRate</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a963c3507de5449f9d4a8451a7a864e5b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>aac89c2d5c22bdabd9d697dad9a72babb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetEncodersCallback</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a9ee08db827f2d8b355ed5592bda44159</anchor>
      <arglist>(const std_msgs::Empty &amp;reset_msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setup</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a6c8407098d2de3bf7b5b2d8a97293203</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a0d178440f5f9ca53ee9a07557db75ffd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>struct diffbot::BaseController::LastUpdateTime</type>
      <name>last_update_time_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a1387b4e876fabe7bee2651f7bde4056e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct diffbot::BaseController::UpdateRate</type>
      <name>update_rate_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a0dad88e3a39fd4a5cfa83eef522fa948</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>debug_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>ad7d46c3077be5ea5d1ebf1aca21fc273</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>diffbot::Encoder</type>
      <name>encoder_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a5d6deb7bd8d2e23e3f628a3e54670e50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>diffbot_msgs::EncodersStamped</type>
      <name>encoder_msg_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>af9142d927a9014376bead3f86acb1a44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>encoder_resolution_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a1e25d1d2139acb03348d04e7b323088d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>diffbot::Encoder</type>
      <name>encoder_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a3c7db00a58a40c459f8eda529572dcdd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>diffbot::JointState</type>
      <name>joint_state_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a45383253b436aa0ad640f8cc3183f7dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>diffbot::JointState</type>
      <name>joint_state_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>aa04ef74e05f2b2ad33c3bb3e83eb89dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>max_angular_velocity_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a313af4f492c504db8d4c9ab8d49ba683</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>max_linear_velocity_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>ab586155e65b704589e8867e7e3740a84</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>motor_cmd_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a66a7445cf9f8626baee9233588552510</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>motor_cmd_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>aeba2dc34851f4d4cb4ced1ea435ada66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>PID</type>
      <name>motor_pid_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a5059a36715cf3828a701fb676854573d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>PID</type>
      <name>motor_pid_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>af2702633ec963b35d3784ab75ca41cc1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sensor_msgs::JointState</type>
      <name>msg_measured_joint_states_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>ae93645719005ae8a8ff0486cc9ef7447</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle &amp;</type>
      <name>nh_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a32c69b6149e0723d462f5503a147aad9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorControllerIntf&lt; TMotorDriver &gt; *</type>
      <name>p_motor_controller_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a6cfbd48ccef232dce12da4b69c013105</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorControllerIntf&lt; TMotorDriver &gt; *</type>
      <name>p_motor_controller_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a152a36c9c00cd21feb88545e1f4530f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_encoders_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>acaf4bbf7f662595f4a218ae5a01ec69f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_measured_joint_states_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a3bc3681a94120dca999b2c68af84cfdb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber&lt; diffbot_msgs::PIDStamped, BaseController&lt; TMotorController, TMotorDriver &gt; &gt;</type>
      <name>sub_pid_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a1e937e7dd147ebb4f74def1735567fae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber&lt; diffbot_msgs::PIDStamped, BaseController&lt; TMotorController, TMotorDriver &gt; &gt;</type>
      <name>sub_pid_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a5111081d5fe0510e41153184140a5e21</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber&lt; std_msgs::Empty, BaseController&lt; TMotorController, TMotorDriver &gt; &gt;</type>
      <name>sub_reset_encoders_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a10f0ede4319ffd6019cdc0fb70d79ac1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber&lt; diffbot_msgs::WheelsCmdStamped, BaseController&lt; TMotorController, TMotorDriver &gt; &gt;</type>
      <name>sub_wheel_cmd_velocities_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a0c4a752a5ab16f482dec37740d085298</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>long</type>
      <name>ticks_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a0fe11979a183787b030c857c1daae48f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>long</type>
      <name>ticks_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>aaf1c460a8a7efcc8889798e64ca95ed4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>wheel_cmd_velocity_left_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>ae7504b79646b27bfd4f829e5378d4ed2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>wheel_cmd_velocity_right_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>af58c51e73857522fd3396bc009abbec3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>wheel_radius_</name>
      <anchorfile>classdiffbot_1_1BaseController.html</anchorfile>
      <anchor>a00c81efd905afde565f08f64a73edbb5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_base::DiffBotHWInterface</name>
    <filename>classdiffbot__base_1_1DiffBotHWInterface.html</filename>
    <base>hardware_interface::RobotHW</base>
    <member kind="function">
      <type></type>
      <name>DiffBotHWInterface</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a1fc905da1433f2ea5a929955b81de9a8</anchor>
      <arglist>(ros::NodeHandle &amp;nh, urdf::Model *urdf_model=NULL)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a9646a832524da540c63ac4e039b400de</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isReceivingMeasuredJointStates</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a592d77cf9fd03dc576140b62890714f5</anchor>
      <arglist>(const ros::Duration &amp;timeout=ros::Duration(1))</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>printCommandHelper</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a3a6ba09ec22f4f4932747ae69f6a727c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>printState</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>ad5544bc99a3a6930fabe25f29d595b1b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>printStateHelper</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>acb91e24ed83dd8b8545e08b1f797834d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>read</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a158217ccf1de89ad7d39b96663c31e7e</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>write</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a72a240e3f8837687b8bad88a5a782c32</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~DiffBotHWInterface</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>ac2ad16c8ce4a42fef0d21fbe072eebd6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>angularToLinear</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a9a2d2aecc67e83d0b4271b7b5721bbe4</anchor>
      <arglist>(const double &amp;angle) const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>encoderTicksCallback</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a36d0ab5321384682e3b523a32da8f40f</anchor>
      <arglist>(const diffbot_msgs::EncodersStamped::ConstPtr &amp;msg_encoders)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>linearToAngular</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a4c32bf7d7063a4fe64b05cf866abe971</anchor>
      <arglist>(const double &amp;distance) const</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>loadURDF</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>ac384f46fe0b1600d27454b70df738fdf</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, std::string param_name)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>measuredJointStatesCallback</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a5e8c51259a8e0d02ab8fd3f5f29894cf</anchor>
      <arglist>(const sensor_msgs::JointState::ConstPtr &amp;msg_joint_states)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>normalizeAngle</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>afecee1bd419e3b0aa452c2c03013f389</anchor>
      <arglist>(double &amp;angle) const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>ticksToAngle</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>ae2201df5bc580f6c4df9dbdb16d5638f</anchor>
      <arglist>(const int &amp;ticks) const</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>debug_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a40d8ddacb6f0880241847af8d322d97a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>encoder_resolution_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a212f31e173989bcd57873713858e93aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>encoder_ticks_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a9d28d8bb3ad9a0e7363f3f3a160d822c</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>gain_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>abcfca613038b78fde171aea829459f58</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>joint_efforts_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a5bf3abdec49805d8e7f03190e0146fc9</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>joint_names_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a8b37c21fdf8c74c50403e059fa6becfc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>joint_positions_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a21da7ef2c9dbd81798db60c9de0ce332</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::JointStateInterface</type>
      <name>joint_state_interface_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a98ff6794103b9bd3643e190503955f27</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>joint_velocities_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>aedabc6da134dad6a3429fd0e5591469d</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>joint_velocity_commands_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>aa03fbb3aa112cac075c0d12f64ef509d</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>max_velocity_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>af9fc0ae4253e07b2eea306c5e5e26612</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>JointState</type>
      <name>measured_joint_states_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>abcb534cf7aa78c9333ac2cf05963835b</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>motor_constant_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a12683901cfd66971694422ac9dce6039</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>aa25b855603d40857dd8448865ea6c70a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a5dadb156351ad3aee5dbe2270e92c2dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::size_t</type>
      <name>num_joints_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a36c5dff480f88a44c5d6cd8e61698679</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>PID</type>
      <name>pids_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a61e4e89716f4ac1763ccc4bb53cf5b68</anchor>
      <arglist>[NUM_JOINTS]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_left_motor_value_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>abbebdbc857c39e23ca050067e30a9c25</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_reset_encoders_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a5410b3378e3c3c49fcfc05e425d56c48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_right_motor_value_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a43bacf0a8f60c946151a2f17ed3405f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_wheel_cmd_velocities_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a91c58025833c2804f95713897d582011</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>pwm_limit_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>affe4ac370942f7e52340418add098654</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>srv_start_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a02fafba69cf5db310aa2ba3e72ca69f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceServer</type>
      <name>srv_stop_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a987c50980e34dfeb3a214260e58d400c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_encoder_ticks_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>afe0e13722de9806f32688fee4a2fd242</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_measured_joint_states_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>af3fbe46870613d0352d2bc7f7ef29b4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>trim_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>ad8fdb51bf305c4e2ee12b88403a9b5c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>urdf::Model *</type>
      <name>urdf_model_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a6b4a40a2c478a42c498d735c4265ff22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::VelocityJointInterface</type>
      <name>velocity_joint_interface_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>abbed9358271f8338a2aa822510f883af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>wheel_diameter_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a9652acc1fb14ca8d69b7b52250365f47</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>wheel_radius_</name>
      <anchorfile>classdiffbot__base_1_1DiffBotHWInterface.html</anchorfile>
      <anchor>a7e41fe992a51a8052feeefebf1de3825</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot::Encoder</name>
    <filename>classdiffbot_1_1Encoder.html</filename>
    <member kind="function">
      <type>double</type>
      <name>angularPosition</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a8ff505720e0eead5e9b1720e7f2b16ca</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>angularVelocity</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a7d074d49a9cd5194b46bbf841b471045</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Encoder</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>acbda5d37b334d2f8661bdacfbc0118ff</anchor>
      <arglist>(ros::NodeHandle &amp;nh, uint8_t pin1, uint8_t pin2, int encoder_resolution)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getRPM</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>adad42ca061bd943f51efdf8787c42a7c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>JointState</type>
      <name>jointState</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>aac98f54924f1eff1a377712711f74f6b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>read</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a2704528ce449123ae97308beb8a1669c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>resolution</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a92008d1e667f5a4960744e4bfd517339</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resolution</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a93112a0843f0c3eda547bdd7c2fae223</anchor>
      <arglist>(int resolution)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>ticksToAngle</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a4a5d7952d6558f3f69a777df49881c75</anchor>
      <arglist>(const int &amp;ticks) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a01b7d5ffe0b6371e7c4794b2519410f5</anchor>
      <arglist>(int32_t p)</arglist>
    </member>
    <member kind="variable">
      <type>::Encoder</type>
      <name>encoder</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>acd4e7e8c539dd5b70ba821297f208b6c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>JointState</type>
      <name>joint_state_</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>aba56afba5f7e1c22d3eea666560e5d8e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>encoder_resolution_</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a85435d686c17745bcbb2b862af3df7a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle &amp;</type>
      <name>nh_</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>ae141475242f8fbf5cbb980c42193b71e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>long</type>
      <name>prev_encoder_ticks_</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a49f55fb1ffdce887a6e2725faa9dcb9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>prev_update_time_</name>
      <anchorfile>classdiffbot_1_1Encoder.html</anchorfile>
      <anchor>a02c37d41c6a3f54ea72bff42d3784b3a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::Encoders</name>
    <filename>classdiffbot__msgs_1_1Encoders.html</filename>
    <base>ros::Msg</base>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1Encoders.html</anchorfile>
      <anchor>ad10cec5a51517b1f8cf893a7e585e632</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Encoders</name>
      <anchorfile>classdiffbot__msgs_1_1Encoders.html</anchorfile>
      <anchor>a8acc434ca7251d3b4137a6bd0a2cf556</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1Encoders.html</anchorfile>
      <anchor>a09fc1cc74dcc57d9dbf12cc4e8680e63</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1Encoders.html</anchorfile>
      <anchor>a3e752cf07b2778888f293cbac992553c</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1Encoders.html</anchorfile>
      <anchor>a26c2b886be07f50984a969a85604d408</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>ticks</name>
      <anchorfile>classdiffbot__msgs_1_1Encoders.html</anchorfile>
      <anchor>a52040744cfdcf1f0806722c4e22a4b33</anchor>
      <arglist>[2]</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::EncodersStamped</name>
    <filename>classdiffbot__msgs_1_1EncodersStamped.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>diffbot_msgs::Encoders</type>
      <name>_encoders_type</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>ae9d13b38fa60df4dff72c63f36fefbc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std_msgs::Header</type>
      <name>_header_type</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a7c53eb1e88e7051a2adc06249f7edee1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a9f4442f0f08217e33e724744016c92cb</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>EncodersStamped</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a284362926de224714d2d1010e5d512ae</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a505b1171ae4e2c8e28eb7bce5498e9b2</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>aee0cd440d8ca26dcd25819d8dca63f08</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a520c11c7a8f5261c9d12b9f6be0fb0c0</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="variable">
      <type>_encoders_type</type>
      <name>encoders</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a107ea6e942c700db71bd234192402510</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_header_type</type>
      <name>header</name>
      <anchorfile>classdiffbot__msgs_1_1EncodersStamped.html</anchorfile>
      <anchor>a11461a99bf44161ff5bccfdec832ed2d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>diffbot_base::JointState</name>
    <filename>structdiffbot__base_1_1JointState.html</filename>
    <member kind="variable">
      <type>float</type>
      <name>angular_position_</name>
      <anchorfile>structdiffbot__base_1_1JointState.html</anchorfile>
      <anchor>a34fc6a8878e62299600fa61139f1f5e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>angular_velocity_</name>
      <anchorfile>structdiffbot__base_1_1JointState.html</anchorfile>
      <anchor>a57d34376f44e5109a8db91345c4c28ee</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>diffbot::JointState</name>
    <filename>structdiffbot_1_1JointState.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>angular_position_</name>
      <anchorfile>structdiffbot_1_1JointState.html</anchorfile>
      <anchor>a3cb14763c6d351ec401e5ba4a5868177</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angular_velocity_</name>
      <anchorfile>structdiffbot_1_1JointState.html</anchorfile>
      <anchor>ae811bec4ae9cad53d128676e9d502c42</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>diffbot::BaseController::LastUpdateTime</name>
    <filename>structdiffbot_1_1BaseController_1_1LastUpdateTime.html</filename>
    <member kind="function">
      <type></type>
      <name>LastUpdateTime</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1LastUpdateTime.html</anchorfile>
      <anchor>aaa05a5efb43e892c1bc1614344cce952</anchor>
      <arglist>(ros::Time start)</arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>command_received</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1LastUpdateTime.html</anchorfile>
      <anchor>a315c93513da94a16a851685704014861</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>control</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1LastUpdateTime.html</anchorfile>
      <anchor>a16aa742c7b6e982e0919fa1631104047</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>debug</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1LastUpdateTime.html</anchorfile>
      <anchor>a7a8f48dde436f62fc40b6698a5bb0167</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>imu</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1LastUpdateTime.html</anchorfile>
      <anchor>acf4ae0e5dc8af245bbec62161d71d7ba</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot::MotorControllerIntf</name>
    <filename>classdiffbot_1_1MotorControllerIntf.html</filename>
    <templarg></templarg>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>setSpeed</name>
      <anchorfile>classdiffbot_1_1MotorControllerIntf.html</anchorfile>
      <anchor>aa0e7ffdbb5e4bcb546059ca4a73c9f54</anchor>
      <arglist>(int value)=0</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>TMotorDriver</type>
      <name>motor_driver_</name>
      <anchorfile>classdiffbot_1_1MotorControllerIntf.html</anchorfile>
      <anchor>a4e8d82aa87e531d1de5ba6d71be744ee</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorControllerIntf&lt; Adafruit_MotorShield &gt;</name>
    <filename>classdiffbot_1_1MotorControllerIntf.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>setSpeed</name>
      <anchorfile>classdiffbot_1_1MotorControllerIntf.html</anchorfile>
      <anchor>aa0e7ffdbb5e4bcb546059ca4a73c9f54</anchor>
      <arglist>(int value)=0</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Adafruit_MotorShield</type>
      <name>motor_driver_</name>
      <anchorfile>classdiffbot_1_1MotorControllerIntf.html</anchorfile>
      <anchor>a4e8d82aa87e531d1de5ba6d71be744ee</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>diffbot::BaseController::UpdateRate::Period</name>
    <filename>structdiffbot_1_1BaseController_1_1UpdateRate_1_1Period.html</filename>
    <member kind="function">
      <type></type>
      <name>Period</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate_1_1Period.html</anchorfile>
      <anchor>a4cf807484d0d55818d3fdd798456741b</anchor>
      <arglist>(double imu_frequency, double control_frequency, double debug_frequency)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>control_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate_1_1Period.html</anchorfile>
      <anchor>a8a64d2fe88a5f6c955f2a48f4786106e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>debug_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate_1_1Period.html</anchorfile>
      <anchor>a41d2ff3999de2b4eb2f2c944d204e80c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>imu_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate_1_1Period.html</anchorfile>
      <anchor>a126adae7a39d5a8f4b1bc52232832da6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot::PID</name>
    <filename>classdiffbot_1_1PID.html</filename>
    <member kind="function">
      <type>double</type>
      <name>compute</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a4283abcb2c1ab35dcf1c2be2e82fa31a</anchor>
      <arglist>(float setpoint, float measured_value)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>derivative</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a546c2b69f855c771fac88acd333e10c8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>integral</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a6daf0c3168b479e94365ed52542f979f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PID</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a196d698147f390cd9252cedc3e901e3d</anchor>
      <arglist>(float min_val, float max_val, float kp, float ki, float kd)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>prev_error</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a9803becbf318d62d9dbc41f19617a34b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>proportional</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a23a34948b62f77721b3540e01c2b0752</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateConstants</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a6960b0ddf9b45104fd6bcd572fb259fd</anchor>
      <arglist>(float kp, float ki, float kd)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>derivative_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a4c0269a023ad4f0fd627642dcb7f82fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>integral_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a1c4aa221c8c6639e619a3043bc69751a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>kd_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a2defdf6fb65168cf2b7e3760625191a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>ki_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a0d4dae3f0858579bcb720e182786bb0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>kp_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a4b764144ec94d59d7024d0c6668a93c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>max_val_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a40f229ad39e23c8c9b02d4fcc06e7cd1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>min_val_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>ac1efd9c782af701100ecdf7dc07e1958</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>prev_error_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>a22e9306c69a93d8be5abd2c3a81985fd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>proportional_</name>
      <anchorfile>classdiffbot_1_1PID.html</anchorfile>
      <anchor>ae12c4424c1312402f7994fd8b564caa6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_base::PID</name>
    <filename>classdiffbot__base_1_1PID.html</filename>
    <base>control_toolbox::Pid</base>
    <member kind="function">
      <type>double</type>
      <name>clamp</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a08592822c0af9c677659db6a3cd8cb3b</anchor>
      <arglist>(const double &amp;value, const double &amp;lower_limit, const double &amp;upper_limit)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>dynamicReconfigCallback</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a23659b3d0ef528fa247207d0ca6677ae</anchor>
      <arglist>(diffbot_base::ParametersConfig &amp;config, uint32_t)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getError</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a566c424c9769f9014d4d8184f5da9939</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getParameters</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>ae4b425ea677842c1d6089667297caa94</anchor>
      <arglist>(double &amp;f, double &amp;p, double &amp;i, double &amp;d, double &amp;i_max, double &amp;i_min)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getParameters</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a792feff92dbd811fa23aff15cfa5b668</anchor>
      <arglist>(double &amp;f, double &amp;p, double &amp;i, double &amp;d, double &amp;i_max, double &amp;i_min, bool &amp;antiwindup)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a162e9eaf2cca31b0b6b2c7e2fa24aebb</anchor>
      <arglist>(ros::NodeHandle &amp;nh, double f, double p, double i, double d, double i_max, double i_min, bool antiwindup, double out_max, double out_min)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initDynamicReconfig</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a53303ed17855ad7433dfa3afa3ef76fb</anchor>
      <arglist>(ros::NodeHandle &amp;node)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>operator()</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a8ab172281a187da6f43ea60feba57a52</anchor>
      <arglist>(const double &amp;measured_value, const double &amp;setpoint, const ros::Duration &amp;dt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PID</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>ad10851fcc22c06972ff36e8483896a0f</anchor>
      <arglist>(double p=0.0, double i=0.0, double d=0.0, double i_max=0.0, double i_min=0.0, bool antiwindup=false, double out_max=0.0, double out_min=0.0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setOutputLimits</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>ad3c2e9d303e775350d22c5b0593077a0</anchor>
      <arglist>(double out_min, double out_max)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setParameters</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>ab097fb68fd037b4d440f288c648a45c5</anchor>
      <arglist>(double f, double p, double i, double d, double i_max, double i_min, bool antiwindup=false)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDynamicReconfig</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a2017cb61997b1d4235fac1f807bbe88c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDynamicReconfig</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a2a891fdcfd73c48403d701bd58a46db4</anchor>
      <arglist>(diffbot_base::ParametersConfig config)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDynamicReconfig</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a0bc98ebc99f55a0ce5ed781b55b40bc2</anchor>
      <arglist>(Gains gains_config)</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>dynamic_reconfigure::Server&lt; diffbot_base::ParametersConfig &gt;</type>
      <name>DynamicReconfigServer</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a7efaca398e9c663750b924a2243f7abf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>dynamic_reconfig_initialized_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a6b2bc7d439b57c4baeda6c731ffc85ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>error_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>ad9ad5540ed3548227f2909952ff26ee5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>f_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a0c974a0859ba64cfafcd8ec36630b313</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>out_max_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a391414a9ee4205b27174e71549a9006b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>out_min_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a8c1a7449aedc1c71f927470003ada79c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>DynamicReconfigServer::CallbackType</type>
      <name>param_reconfig_callback_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a8ada09fa957b5c72c1ef8e68c06cd36d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::recursive_mutex</type>
      <name>param_reconfig_mutex_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a160b64122f15cae5e646e8ee5a1b5dd1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; DynamicReconfigServer &gt;</type>
      <name>param_reconfig_server_</name>
      <anchorfile>classdiffbot__base_1_1PID.html</anchorfile>
      <anchor>a2b0969bb008cb686b63c487b920acd6f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::PID</name>
    <filename>classdiffbot__msgs_1_1PID.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>float</type>
      <name>_kd_type</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a341ec7ca431f99be3331c1750097c9f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>float</type>
      <name>_ki_type</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a83fdd6e22fb928f51f834886f9023314</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>float</type>
      <name>_kp_type</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a84e65fe4b998d706639dee29f22a5454</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a3fa0521c30c08ee7ca564de39daa28db</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a83879e019816c28f47b24a83c9e0fd96</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a98a24267c1ca0149ff972a54f8d02049</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PID</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a1dae2ac708a52bcb3f49b980150f3ce6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a4be4ee85d9a1bdccd6690778427a0fc2</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="variable">
      <type>_kd_type</type>
      <name>kd</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a4aa5a80b7c77a1a412320e745b476b78</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_ki_type</type>
      <name>ki</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a9589054b637d533a252f0fcae026c3d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_kp_type</type>
      <name>kp</name>
      <anchorfile>classdiffbot__msgs_1_1PID.html</anchorfile>
      <anchor>a909a4bf13dbfa8fa2617b247fac9ebaf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::PIDStamped</name>
    <filename>classdiffbot__msgs_1_1PIDStamped.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>std_msgs::Header</type>
      <name>_header_type</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>ab2d47d76dda27a03af981e31122a2c54</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>diffbot_msgs::PID</type>
      <name>_pid_type</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>a008b70ce78241acc2142a47408f02bc1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>a3f2c5bf7d7ee79ba4120be1705d3d7ba</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>ab7f6dfa4923f176a5ea4c5cab2f561fe</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>a783610e695c05a4c7abcb33f184390e3</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PIDStamped</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>ab17e281dbc94c0c911d965516b860025</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>a6278716ae1b1b7d7a0f2fe76236457e0</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="variable">
      <type>_header_type</type>
      <name>header</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>a544dcefd93ee62982ea72824ae3d5dbf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_pid_type</type>
      <name>pid</name>
      <anchorfile>classdiffbot__msgs_1_1PIDStamped.html</anchorfile>
      <anchor>a00d5f430ae5ddc40f7549a4bb7ace2b4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>diffbot::BaseController::UpdateRate</name>
    <filename>structdiffbot_1_1BaseController_1_1UpdateRate.html</filename>
    <class kind="struct">diffbot::BaseController::UpdateRate::Period</class>
    <member kind="function">
      <type>Period &amp;</type>
      <name>period</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate.html</anchorfile>
      <anchor>a096966d88bdf8ee1b5d82b4a055765a3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>UpdateRate</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate.html</anchorfile>
      <anchor>ac0ec145b57b867163cddab200b070576</anchor>
      <arglist>(double imu_frequency, double control_frequency, double debug_frequency)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>control_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate.html</anchorfile>
      <anchor>a30323dd51be901ca398e2de5f3cec717</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>debug_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate.html</anchorfile>
      <anchor>ac039904aa4bbdb3aaf33277bf4877b82</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>imu_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate.html</anchorfile>
      <anchor>ad2078bf4193de947e61bb461845065ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct diffbot::BaseController::UpdateRate::Period</type>
      <name>period_</name>
      <anchorfile>structdiffbot_1_1BaseController_1_1UpdateRate.html</anchorfile>
      <anchor>a693ab4729a3c580f79368f9d1d28b37e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::WheelsCmd</name>
    <filename>classdiffbot__msgs_1_1WheelsCmd.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>diffbot_msgs::AngularVelocities</type>
      <name>_angular_velocities_type</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>af4c81bb9a46d83027d980a7e337bef50</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>a9f1791f3d3b75ba431a160f3c22cf7e4</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>aa5f75379b5afa69e5c0c87f2c21e2976</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>a2a4204b14da6e09684363e2244642189</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>aea88da348805bdc7c7f51071c79ddf3b</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>WheelsCmd</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>ad7bea7c5fdde48435a945e506cfa12cc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>_angular_velocities_type</type>
      <name>angular_velocities</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmd.html</anchorfile>
      <anchor>ac9126a9abe092db908d1987f6ae0b11b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>diffbot_msgs::WheelsCmdStamped</name>
    <filename>classdiffbot__msgs_1_1WheelsCmdStamped.html</filename>
    <base>ros::Msg</base>
    <member kind="typedef">
      <type>std_msgs::Header</type>
      <name>_header_type</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>a03a623196f1e4df0a27426fa2ed15f87</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>diffbot_msgs::WheelsCmd</type>
      <name>_wheels_cmd_type</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>aebc5f8c7ebc8f88dc0ec5a44ec8d4ebe</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>deserialize</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>a16e3b7f6bb60d29257533264269fba27</anchor>
      <arglist>(unsigned char *inbuffer) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getMD5</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>a1db09181db0bcc75839996bbd9445015</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>getType</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>a1ba7c5084a8fcde39db569b46bdd6a77</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual int</type>
      <name>serialize</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>acc88b67a6bcb340301e192c44b16950f</anchor>
      <arglist>(unsigned char *outbuffer) const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>WheelsCmdStamped</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>af905e3e43a63db1e55c43dae399a7391</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>_header_type</type>
      <name>header</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>a8661aeccb458cc6b7e459ab3a38de4a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>_wheels_cmd_type</type>
      <name>wheels_cmd</name>
      <anchorfile>classdiffbot__msgs_1_1WheelsCmdStamped.html</anchorfile>
      <anchor>ab136dcb1d1fb273b9c80d87394bb67bc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>diffbot</name>
    <filename>namespacediffbot.html</filename>
    <class kind="class">diffbot::AdafruitMotorController</class>
    <class kind="class">diffbot::BaseController</class>
    <class kind="class">diffbot::Encoder</class>
    <class kind="struct">diffbot::JointState</class>
    <class kind="class">diffbot::MotorControllerIntf</class>
    <class kind="class">diffbot::PID</class>
  </compound>
  <compound kind="namespace">
    <name>diffbot_base</name>
    <filename>namespacediffbot__base.html</filename>
    <class kind="class">diffbot_base::DiffBotHWInterface</class>
    <class kind="struct">diffbot_base::JointState</class>
    <class kind="class">diffbot_base::PID</class>
    <member kind="variable">
      <type>const unsigned int</type>
      <name>NUM_JOINTS</name>
      <anchorfile>namespacediffbot__base.html</anchorfile>
      <anchor>a816cf1aa4539552b6395afc4789b51be</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>diffbot_msgs</name>
    <filename>namespacediffbot__msgs.html</filename>
    <class kind="class">diffbot_msgs::AngularVelocities</class>
    <class kind="class">diffbot_msgs::AngularVelocitiesStamped</class>
    <class kind="class">diffbot_msgs::Encoders</class>
    <class kind="class">diffbot_msgs::EncodersStamped</class>
    <class kind="class">diffbot_msgs::PID</class>
    <class kind="class">diffbot_msgs::PIDStamped</class>
    <class kind="class">diffbot_msgs::WheelsCmd</class>
    <class kind="class">diffbot_msgs::WheelsCmdStamped</class>
  </compound>
</tagfile>
