<?xml version='1.0' encoding='ISO-8859-1' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>ackermann.cpp</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/test/src/</path>
    <filename>ackermann_8cpp</filename>
    <includes id="ackermann_8h" name="ackermann.h" local="yes" imported="no">ackermann.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ackermann_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ackermann.h</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/test/src/</path>
    <filename>ackermann_8h</filename>
    <class kind="class">Ackermann</class>
    <class kind="struct">Ackermann::Joint</class>
    <class kind="struct">Ackermann::SteeringJoint</class>
  </compound>
  <compound kind="file">
    <name>ackermann_controller.cpp</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/src/</path>
    <filename>ackermann__controller_8cpp</filename>
    <includes id="ackermann__controller_8h" name="ackermann_controller.h" local="no" imported="no">ackermann_controller/ackermann_controller.h</includes>
    <namespace>ackermann_controller</namespace>
  </compound>
  <compound kind="file">
    <name>ackermann_controller.h</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/include/ackermann_controller/</path>
    <filename>ackermann__controller_8h</filename>
    <includes id="odometry_8h" name="odometry.h" local="no" imported="no">ackermann_controller/odometry.h</includes>
    <includes id="speed__limiter_8h" name="speed_limiter.h" local="no" imported="no">ackermann_controller/speed_limiter.h</includes>
    <class kind="class">ackermann_controller::AckermannController</class>
    <class kind="struct">ackermann_controller::AckermannController::Commands</class>
    <namespace>ackermann_controller</namespace>
    <member kind="function">
      <type></type>
      <name>PLUGINLIB_EXPORT_CLASS</name>
      <anchorfile>namespaceackermann__controller.html</anchorfile>
      <anchor>a54b4dc399011292c1fc95c184b4b4fbb</anchor>
      <arglist>(ackermann_controller::AckermannController, controller_interface::ControllerBase)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ackermann_test.cpp</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/test/src/</path>
    <filename>ackermann__test_8cpp</filename>
    <includes id="test__common_8h" name="test_common.h" local="yes" imported="no">test_common.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ackermann__test_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>ackermann__test_8cpp.html</anchorfile>
      <anchor>a151d2ead7d502d03eaf1731685345383</anchor>
      <arglist>(AckermannControllerTest, testForward)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>ackermann__test_8cpp.html</anchorfile>
      <anchor>a01e69e0f896cd620b21b2565342584d5</anchor>
      <arglist>(AckermannControllerTest, testTurn)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>ackermann__test_8cpp.html</anchorfile>
      <anchor>abbdc49ffbb56980df2c36347f352cad0</anchor>
      <arglist>(AckermannControllerTest, testOdomFrame)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ackermann_wrong_config.cpp</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/test/src/</path>
    <filename>ackermann__wrong__config_8cpp</filename>
    <includes id="test__common_8h" name="test_common.h" local="yes" imported="no">test_common.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>ackermann__wrong__config_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>ackermann__wrong__config_8cpp.html</anchorfile>
      <anchor>af17d315b4f7dc6e9e4183b7ad78291ee</anchor>
      <arglist>(AckermannControllerTest, testWrongConfig)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>odometry.cpp</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/src/</path>
    <filename>odometry_8cpp</filename>
    <includes id="odometry_8h" name="odometry.h" local="no" imported="no">ackermann_controller/odometry.h</includes>
    <namespace>ackermann_controller</namespace>
  </compound>
  <compound kind="file">
    <name>odometry.h</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/include/ackermann_controller/</path>
    <filename>odometry_8h</filename>
    <class kind="class">ackermann_controller::Odometry</class>
    <namespace>ackermann_controller</namespace>
  </compound>
  <compound kind="file">
    <name>speed_limiter.cpp</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/src/</path>
    <filename>speed__limiter_8cpp</filename>
    <includes id="speed__limiter_8h" name="speed_limiter.h" local="no" imported="no">ackermann_controller/speed_limiter.h</includes>
    <namespace>ackermann_controller</namespace>
    <member kind="function">
      <type>T</type>
      <name>clamp</name>
      <anchorfile>speed__limiter_8cpp.html</anchorfile>
      <anchor>aacaa5293532b06cf5e062c8a7f97bb30</anchor>
      <arglist>(T x, T min, T max)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>speed_limiter.h</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/include/ackermann_controller/</path>
    <filename>speed__limiter_8h</filename>
    <class kind="class">ackermann_controller::SpeedLimiter</class>
    <namespace>ackermann_controller</namespace>
  </compound>
  <compound kind="file">
    <name>teleop_ackermann_joy.py</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/scripts/</path>
    <filename>teleop__ackermann__joy_8py</filename>
    <class kind="class">teleop_ackermann_joy::TeleopAckermannJoy</class>
    <namespace>teleop_ackermann_joy</namespace>
    <member kind="variable">
      <type>tuple</type>
      <name>teleop_ackermann_joy</name>
      <anchorfile>namespaceteleop__ackermann__joy.html</anchorfile>
      <anchor>a5692e8fb3173f527f5c074cd612dd514</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_common.h</name>
    <path>/tmp/ws/src/romea_controllers/ackermann_controller/test/src/</path>
    <filename>test__common_8h</filename>
    <class kind="class">AckermannControllerTest</class>
    <member kind="function">
      <type>tf::Quaternion</type>
      <name>tfQuatFromGeomQuat</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>a18358df11baeec260a241cd72202d1a6</anchor>
      <arglist>(const geometry_msgs::Quaternion &amp;quat)</arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>EPS</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>afe01386a82fedc016455a43c20280a97</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>JERK_ANGULAR_VELOCITY_TOLERANCE</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>a655bad5d5ae48791eb7669207427c389</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>JERK_LINEAR_VELOCITY_TOLERANCE</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>a052df28d84b65883e681360bf05f6bba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>ORIENTATION_TOLERANCE</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>a46883f35cee1a294fe7c785933f7269d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>POSITION_TOLERANCE</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>ae3525a736ad86d2718e5cb2b3d050442</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>VELOCITY_TOLERANCE</name>
      <anchorfile>test__common_8h.html</anchorfile>
      <anchor>a1094aad36ddfc0fd475c68eb2611507f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Ackermann</name>
    <filename>classAckermann.html</filename>
    <base>hardware_interface::RobotHW</base>
    <class kind="struct">Ackermann::Joint</class>
    <class kind="struct">Ackermann::SteeringJoint</class>
    <member kind="function">
      <type></type>
      <name>Ackermann</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a299e66470d0778b5bd5acf2d06b61d67</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>ros::Duration</type>
      <name>getPeriod</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>af63bcdc50c44c898ee34145674b36770</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>ros::Time</type>
      <name>getTime</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a361ee7d389e2981ceb75443f51cde435</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a12ef9d823a010115eecc48655da53f46</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>start_callback</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>acff5da9a5015c098e55f878dcbcf12cf</anchor>
      <arglist>(std_srvs::Empty::Request &amp;, std_srvs::Empty::Response &amp;)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>stop_callback</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a9b8a1774eb64777aad7cf8397120db4d</anchor>
      <arglist>(std_srvs::Empty::Request &amp;, std_srvs::Empty::Response &amp;)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>ad606d831df76ac1031028c2c607d16ff</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::PositionJointInterface</type>
      <name>jnt_pos_interface_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>ad05bb38b0c1d2af0045450ca7349d50c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointStateInterface</type>
      <name>jnt_state_interface_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a9273b244709860f34741269a0e702edd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::VelocityJointInterface</type>
      <name>jnt_vel_interface_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a06323a5cd65cd8c74d1e3ff0bb7ba5c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>struct Ackermann::Joint</type>
      <name>joints_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>ac23dbc7c5c49158540abe250aef592a3</anchor>
      <arglist>[4]</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>aba5216e8a209c5f74afdba9241803f2e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>running_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a5fbf2aab166c56a775cf463d2e08b1f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>start_srv_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>ae50540daf543c04ce76d72b1f14412b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>struct Ackermann::SteeringJoint</type>
      <name>steering_joints_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a0014477b8376e8f6f049bbea657f81c1</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>stop_srv_</name>
      <anchorfile>classAckermann.html</anchorfile>
      <anchor>a39ac3ae498a0eaf5cddc3aa2091b7e56</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>Ackermann::Joint</name>
    <filename>structAckermann_1_1Joint.html</filename>
    <member kind="function">
      <type></type>
      <name>Joint</name>
      <anchorfile>structAckermann_1_1Joint.html</anchorfile>
      <anchor>a0596c376a3f900f9f948307dfb727cec</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>effort</name>
      <anchorfile>structAckermann_1_1Joint.html</anchorfile>
      <anchor>ad0f0d01822c7ee27f0bb1b82c1ac7180</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>position</name>
      <anchorfile>structAckermann_1_1Joint.html</anchorfile>
      <anchor>aea7c90e9a5a973a5f153cda7a35c63ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity</name>
      <anchorfile>structAckermann_1_1Joint.html</anchorfile>
      <anchor>ab702924edcb6a0578977c68d9e5f9cdf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity_command</name>
      <anchorfile>structAckermann_1_1Joint.html</anchorfile>
      <anchor>a0bbb4469a5420b00e081021d01e16e90</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>Ackermann::SteeringJoint</name>
    <filename>structAckermann_1_1SteeringJoint.html</filename>
    <member kind="function">
      <type></type>
      <name>SteeringJoint</name>
      <anchorfile>structAckermann_1_1SteeringJoint.html</anchorfile>
      <anchor>aa3039e3d6297d6343e5c7b4ec6882334</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>effort</name>
      <anchorfile>structAckermann_1_1SteeringJoint.html</anchorfile>
      <anchor>a1b17ede0b300d0f357b9ea9ec214b571</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>position</name>
      <anchorfile>structAckermann_1_1SteeringJoint.html</anchorfile>
      <anchor>a7ec94b1258c094f6a44cd64021f57f9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>position_command</name>
      <anchorfile>structAckermann_1_1SteeringJoint.html</anchorfile>
      <anchor>a4a2246d8801e2cc8e14e8c361493e288</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity</name>
      <anchorfile>structAckermann_1_1SteeringJoint.html</anchorfile>
      <anchor>a422fdef44c40204e2b19c8d827da43b6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>AckermannControllerTest</name>
    <filename>classAckermannControllerTest.html</filename>
    <member kind="function">
      <type></type>
      <name>AckermannControllerTest</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a017a14cad8fffbaa013e0d7286d0eaca</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>nav_msgs::Odometry</type>
      <name>getLastOdom</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a891aa478ff99a01d38d4b992dfd3f108</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isControllerAlive</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a2b68322b3eea4f613d5511e617d236b1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>publish</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>accfb1a051c115e147484b9da0ecce37d</anchor>
      <arglist>(geometry_msgs::Twist cmd_vel)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>start</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>ac97606b24ea37b56f2efa3ce3fa61aef</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stop</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a0a32591dbfe2dc031a2e35cc4051c239</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~AckermannControllerTest</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a40659cc6c89e82f07578142d4fff7cb3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>odomCallback</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a575e5cb818562bcc5cb684c3a6f8c844</anchor>
      <arglist>(const nav_msgs::Odometry &amp;odom)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>cmd_twist_pub</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>afcb08490dad2a1ad30555c1f88c3425f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>nav_msgs::Odometry</type>
      <name>last_odom</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>aaf94faf436a010bc5ad28ed59be1337c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>ab3d6f43c5051a5078fd20606177f536e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>odom_sub</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>a4564318b96c119f580dc41087b501236</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceClient</type>
      <name>start_srv</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>ab70b1c0d9d93aafb1dd42ad42217982a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceClient</type>
      <name>stop_srv</name>
      <anchorfile>classAckermannControllerTest.html</anchorfile>
      <anchor>adb8436d804ca381c3bd0c86c99bbef28</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>ackermann_controller</name>
    <filename>namespaceackermann__controller.html</filename>
    <class kind="class">ackermann_controller::AckermannController</class>
    <class kind="class">ackermann_controller::Odometry</class>
    <class kind="class">ackermann_controller::SpeedLimiter</class>
    <member kind="function">
      <type></type>
      <name>PLUGINLIB_EXPORT_CLASS</name>
      <anchorfile>namespaceackermann__controller.html</anchorfile>
      <anchor>a54b4dc399011292c1fc95c184b4b4fbb</anchor>
      <arglist>(ackermann_controller::AckermannController, controller_interface::ControllerBase)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ackermann_controller::AckermannController</name>
    <filename>classackermann__controller_1_1AckermannController.html</filename>
    <base>controller_interface::ControllerBase</base>
    <class kind="struct">ackermann_controller::AckermannController::Commands</class>
    <member kind="function">
      <type></type>
      <name>AckermannController</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a14d9c96ba310a0620ae3a0c395ee371e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getHardwareInterfaceType</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a122b4055f80b42d059de8983dbc9e201</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a62ad66ddf91434d42098fd8bd415d25e</anchor>
      <arglist>(hardware_interface::PositionJointInterface *hw_pos, hardware_interface::VelocityJointInterface *hw_vel, ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>initRequest</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>aac670233eb2bf92c7f10397f9e6566ee</anchor>
      <arglist>(hardware_interface::RobotHW *const robot_hw, ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh, std::set&lt; std::string &gt; &amp;claimed_resources)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>starting</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>add9235a4302af004eb1af8b97ab9bd48</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stopping</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a4a7ffd4b9fade99ba8bc5c67a174f7fa</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>aedb9b6a5daa0d20683eb8f5d60d170f6</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>brake</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a7d75c3bd7bf0078c3d4d11a6f982811c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>cmdAckermannCallback</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>abf682fab564cf3fa00285ca420ed02b5</anchor>
      <arglist>(const ackermann_msgs::AckermannDrive &amp;command)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>cmdVelCallback</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a242dd86d686cb3c139eb3add6c3b85ca</anchor>
      <arglist>(const geometry_msgs::Twist &amp;command)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>getWheelNames</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a114d026d5b1f03ac02db66c6bb9b9606</anchor>
      <arglist>(ros::NodeHandle &amp;controller_nh, const std::string &amp;wheel_param, std::vector&lt; std::string &gt; &amp;wheel_names)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handleSteeringSaturation</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>acf70d7ac32affbd5826dd8c07903a120</anchor>
      <arglist>(double &amp;front_left_steering, double &amp;front_right_steering)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setOdomPubFields</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>aeb7fcab931b1279ac286a91cbf386b7e</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>base_frame_id_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>adf42cdcbc00164d2aa81aa60d7217a7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cmd_vel_timeout_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>ab6e0df75983a4b7a438f7e3bdf2cf671</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>realtime_tools::RealtimeBuffer&lt; Commands &gt;</type>
      <name>command_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a1633fed49eaaf88e3246be8e50321bd3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>realtime_tools::RealtimeBuffer&lt; Commands &gt;</type>
      <name>command_ackermann_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a47971545d5b080968b440c6a96ac7e30</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Commands</type>
      <name>command_struct_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a14826dac5e6c482a09f554b37e17bbec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Commands</type>
      <name>command_struct_ackermann_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a60edbfa47fa39ab240a848304c5407fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>enable_odom_tf_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>aa1ebb67a88f5aecead293af8ca1e4ba2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>enable_twist_cmd_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a0a072aa28bfda74d49212dff91df9a20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; hardware_interface::JointHandle &gt;</type>
      <name>front_steering_joints_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a1100af6ef5f8db81008ed9ed8bdb3556</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; hardware_interface::JointHandle &gt;</type>
      <name>front_wheel_joints_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a1f28031fa719f7440bd2162a258cc2ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>front_wheel_radius_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a64cc451dc1bdb2f7f17bd27def9889d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Commands</type>
      <name>last0_cmd_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>ae19b29c4ee8190fa281bf4db0f12a3f0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Commands</type>
      <name>last1_cmd_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a2326d9d949dcc6e0af92350d59aa5b8f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>last_state_publish_time_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a203d2e576098d22b6d504fc05eb07dc9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SpeedLimiter</type>
      <name>limiter_ang_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a596fb74392fcc9fb25b81d0d34127d3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SpeedLimiter</type>
      <name>limiter_lin_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a98ac52abc7e546e3ef2d37cae15e2f1f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>ac294f44a5748eec5c074eb78141ebe70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; realtime_tools::RealtimePublisher&lt; nav_msgs::Odometry &gt; &gt;</type>
      <name>odom_pub_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a53a7b05651d5f568ab6d30064f3c13f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Odometry</type>
      <name>odometry_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a3c3c967d666dc547685fabd9b34c8396</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>open_loop_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>adbbf1c8085c9eb143c88855fbca8d046</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Duration</type>
      <name>publish_period_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a523b41393a55d5c7940f9b93ba2b0327</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; hardware_interface::JointHandle &gt;</type>
      <name>rear_wheel_joints_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a73370194aecb4f46505601b22cd9cf18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>rear_wheel_radius_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a7d58893520f204da42a30a4682563b99</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>steering_limit_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>ae13407db25a1cb418c351d61640281d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_command_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a82cad57b3e6d34abde92dd6b6c848d4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_command_ackermann_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a53e0e8862637fb0bbb5a6d9a92c9ed6c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; realtime_tools::RealtimePublisher&lt; tf::tfMessage &gt; &gt;</type>
      <name>tf_odom_pub_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>a59890ac643cbc5895b057b14a7b85107</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>track_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>aa016cfc06bfe3ffdb69b52798b6f0dc4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wheel_base_</name>
      <anchorfile>classackermann__controller_1_1AckermannController.html</anchorfile>
      <anchor>aa28fe439d1728b0abbdf77883ddd0cac</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>ackermann_controller::AckermannController::Commands</name>
    <filename>structackermann__controller_1_1AckermannController_1_1Commands.html</filename>
    <member kind="function">
      <type></type>
      <name>Commands</name>
      <anchorfile>structackermann__controller_1_1AckermannController_1_1Commands.html</anchorfile>
      <anchor>a259c9aa1bb4929f73b30a91216972496</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>ang</name>
      <anchorfile>structackermann__controller_1_1AckermannController_1_1Commands.html</anchorfile>
      <anchor>a2e2ca61f4f771aeb0abca32af6172fe5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>lin</name>
      <anchorfile>structackermann__controller_1_1AckermannController_1_1Commands.html</anchorfile>
      <anchor>a9c900fdc49e10f71552f82a3e815c0cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>stamp</name>
      <anchorfile>structackermann__controller_1_1AckermannController_1_1Commands.html</anchorfile>
      <anchor>ae7778c9f70258782203c0a455a493b08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>steering</name>
      <anchorfile>structackermann__controller_1_1AckermannController_1_1Commands.html</anchorfile>
      <anchor>abd380f7d7a36e154d5c11d48523da523</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ackermann_controller::Odometry</name>
    <filename>classackermann__controller_1_1Odometry.html</filename>
    <member kind="typedef">
      <type>boost::function&lt; void(double, double)&gt;</type>
      <name>IntegrationFunction</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a0b6459eb88d27dba125ef166fe5f7e04</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getAngular</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a9d179b375b2e2d2cdfff30c1229fdf1b</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getHeading</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a368857ba8cfc9690e019d4844da33a0f</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getLinear</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a795b573bb297791311337eecec0764ec</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getX</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a5c8a496a083e9cbb15df959534ce5e86</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getY</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a5636e7292e9049349a90bd86e71f72b3</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>ab61e4a69678a56897d5c2965716ea809</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Odometry</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>af6a7f0c244b7ef88136ca7c269b73e7c</anchor>
      <arglist>(size_t velocity_rolling_window_size=10)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setVelocityRollingWindowSize</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a910a1c714fcec1ef6b8c1ea4ac657d2d</anchor>
      <arglist>(size_t velocity_rolling_window_size)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setWheelParams</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>ad4d5e99a6df6548f1d39d7ab8b994655</anchor>
      <arglist>(double track, double front_wheel_radius, double rear_wheel_radius, double wheel_base)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>update</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a0c43a21ee58d9a09c51f4d09c8505902</anchor>
      <arglist>(double front_wheel_angular_pos, double front_wheel_angular_vel, double rear_wheel_angular_pos, double rear_wheel_angular_vel, double front_steering, const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateOpenLoop</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>adef11a49bf9345d3b31d570d4c971dad</anchor>
      <arglist>(double linear, double angular, const ros::Time &amp;time)</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>bacc::accumulator_set&lt; double, bacc::stats&lt; bacc::tag::rolling_mean &gt; &gt;</type>
      <name>RollingMeanAcc</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a74bb9b7f21558efea5962063f5ccea6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>bacc::tag::rolling_window</type>
      <name>RollingWindow</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>ab4bc75017377b6cd6e8fffe844f2e8b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>integrateExact</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a36b0701d3c1bfb7bf9711e9f15b01170</anchor>
      <arglist>(double linear, double angular)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>integrateRungeKutta2</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a6ff51fb7c14a6d684453cf2404f210ac</anchor>
      <arglist>(double linear, double angular)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>resetAccumulators</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a35f162a321b1194b791eee7189e1dac2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>angular_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a07432acce7ddc8a6c86d06439a7370c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>RollingMeanAcc</type>
      <name>angular_acc_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a759521d6e908fc46552f948e60c9471d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>front_wheel_radius_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a9eed46f7ebe095fdfdbc7889dc5102f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>heading_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a9bde039842ef5c2a244b65a963190cb8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>last_update_timestamp_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a67577f7ec566a24e6c01093b7a16259b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>left_wheel_old_pos_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>aca836e5335cdcf27abf7ef0a5508423b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>linear_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>aeddcfeab4605563aa85af571981a84c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>RollingMeanAcc</type>
      <name>linear_acc_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a24b56f979788648092ffb519bedbb30e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>rear_wheel_radius_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a25b4622a0e157f3f54aa9a7654612c77</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>right_wheel_old_pos_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a57b1e6c7f99d11645f972deb1f8d9c08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>timestamp_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a3efe91ae756d31bdb23ee35fed5a0358</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>track_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a897729f035976d0deb2ae6ebbc447aa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>size_t</type>
      <name>velocity_rolling_window_size_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a06f2f7c9b9c27df3609853867152672a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wheel_base_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a56cc0b70cbff411e99129720105349f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>wheel_old_pos_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a6e283c27c26485bef0b068c794668b6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>x_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a44f9353b01f6b16b173d03c61419f403</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>y_</name>
      <anchorfile>classackermann__controller_1_1Odometry.html</anchorfile>
      <anchor>a28fb06c0012b92d127c0a8cd913ef996</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ackermann_controller::SpeedLimiter</name>
    <filename>classackermann__controller_1_1SpeedLimiter.html</filename>
    <member kind="function">
      <type>double</type>
      <name>limit</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a6cc5b18c129e1eb999157c6d7133f45f</anchor>
      <arglist>(double &amp;v, double v0, double v1, double dt)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>limit_acceleration</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>abe3703a181980cea46cecd1df7d33d83</anchor>
      <arglist>(double &amp;v, double v0, double dt)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>limit_jerk</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a1eed9d29398c727426e9a94eaaefcae6</anchor>
      <arglist>(double &amp;v, double v0, double v1, double dt)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>limit_velocity</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a1348d5aac6bb541ad14be7e89d036e5b</anchor>
      <arglist>(double &amp;v)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SpeedLimiter</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a31bb799749485cc940eb4eeb05c4e58e</anchor>
      <arglist>(bool has_velocity_limits=false, bool has_acceleration_limits=false, bool has_jerk_limits=false, double min_velocity=0.0, double max_velocity=0.0, double min_acceleration=0.0, double max_acceleration=0.0, double min_jerk=0.0, double max_jerk=0.0)</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>has_acceleration_limits</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a17423f0351a6e331fb19f13178e8f522</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>has_jerk_limits</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a27be8d5ff6098036d8a9419e00a38a97</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>has_velocity_limits</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a238cb71a24b062485a4b76a89cf17230</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_acceleration</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a8f6517cb9fea354f66e63ab755f5c1b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_jerk</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a72b8dde1e0de84480f491296df7e2e67</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_velocity</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a06efe2e6783fd351c2f301ad94b406f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>min_acceleration</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>acdb450104e43613ffd74ebac6af777a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>min_jerk</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>a25dc44b1789167e9a6c68d42fb885eeb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>min_velocity</name>
      <anchorfile>classackermann__controller_1_1SpeedLimiter.html</anchorfile>
      <anchor>ae58e9050675c1352daf4170df14712ca</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>teleop_ackermann_joy</name>
    <filename>namespaceteleop__ackermann__joy.html</filename>
    <class kind="class">teleop_ackermann_joy::TeleopAckermannJoy</class>
    <member kind="variable">
      <type>tuple</type>
      <name>teleop_ackermann_joy</name>
      <anchorfile>namespaceteleop__ackermann__joy.html</anchorfile>
      <anchor>a5692e8fb3173f527f5c074cd612dd514</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>teleop_ackermann_joy::TeleopAckermannJoy</name>
    <filename>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>a82c756e30b7de5437d9d23a9a0534f60</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>callback</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>ab691a6850fb999179b5dcc0651ab6d42</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>axis_dead_zone</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>aee311411d4d16812cabf8e5f9f7520f3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>axis_front_steering</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>a8e7875f7a5154a6e5fe1991b0763ea31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>axis_linear</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>ada4d16bad805e3dfa91b7bad4f7e150b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>enable_button</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>aa551d4dac646949e983bf45df112eda1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>is_enable_button</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>a4decc4e383a8d975751fc46ad68e5110</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>pub</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>a21764a3ff7c80c9fc4827d0e703309bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>scale_front_steering</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>a29899e60b073ae7973cdd39a3a5fb04d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>scale_linear</name>
      <anchorfile>classteleop__ackermann__joy_1_1TeleopAckermannJoy.html</anchorfile>
      <anchor>a2512fec6944128f34893c5517a2d3f97</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
