<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>controller_to_csv.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/tools/</path>
    <filename>controller__to__csv_8cpp</filename>
    <includes id="controller__to__csv_8h" name="controller_to_csv.h" local="no" imported="no">ros_control_boilerplate/tools/controller_to_csv.h</includes>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>controller_to_csv.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/include/ros_control_boilerplate/tools/</path>
    <filename>controller__to__csv_8h</filename>
    <class kind="class">ros_control_boilerplate::ControllerToCSV</class>
    <namespace>ros_control_boilerplate</namespace>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const ControllerToCSV &gt;</type>
      <name>ControllerToCSVConstPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a8df245a4324633f7e49b863d8dbeaa7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ControllerToCSV &gt;</type>
      <name>ControllerToCSVPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a6ae9816bb6400396b1d8908872305df8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>controller_to_csv_main.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/tools/</path>
    <filename>controller__to__csv__main_8cpp</filename>
    <includes id="controller__to__csv_8h" name="controller_to_csv.h" local="no" imported="no">ros_control_boilerplate/tools/controller_to_csv.h</includes>
    <member kind="function">
      <type></type>
      <name>DEFINE_string</name>
      <anchorfile>controller__to__csv__main_8cpp.html</anchorfile>
      <anchor>aeb4edbe880186a8a455590b6d2ca8ffd</anchor>
      <arglist>(csv_path, &quot;/tmp/recorded_trajectory_1.csv&quot;, &quot;File location to save recoded data to&quot;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DEFINE_string</name>
      <anchorfile>controller__to__csv__main_8cpp.html</anchorfile>
      <anchor>ab08a2be8a3aedcaf4299c7a1a150e285</anchor>
      <arglist>(topic, &quot;/robot/position_trajectory_controller/state&quot;, &quot;ROS topic to subscribe to&quot;)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>controller__to__csv__main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>csv_to_controller.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/tools/</path>
    <filename>csv__to__controller_8cpp</filename>
    <includes id="csv__to__controller_8h" name="csv_to_controller.h" local="no" imported="no">ros_control_boilerplate/tools/csv_to_controller.h</includes>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>csv_to_controller.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/include/ros_control_boilerplate/tools/</path>
    <filename>csv__to__controller_8h</filename>
    <class kind="class">ros_control_boilerplate::CSVToController</class>
    <namespace>ros_control_boilerplate</namespace>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>RECORD_RATE_HZ</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a3ce359ab786c0fd3c2ada6d9ff8b90d7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>csv_to_controller_main.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/tools/</path>
    <filename>csv__to__controller__main_8cpp</filename>
    <includes id="csv__to__controller_8h" name="csv_to_controller.h" local="no" imported="no">ros_control_boilerplate/tools/csv_to_controller.h</includes>
    <member kind="function">
      <type></type>
      <name>DEFINE_string</name>
      <anchorfile>csv__to__controller__main_8cpp.html</anchorfile>
      <anchor>a74d0af0baefa0d3b08edaa5e602b4ac4</anchor>
      <arglist>(csv_path, &quot;&quot;, &quot;File location to load recoded data from&quot;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DEFINE_string</name>
      <anchorfile>csv__to__controller__main_8cpp.html</anchorfile>
      <anchor>a8f8e4d66f60bebd52bd4c14fecee1d43</anchor>
      <arglist>(joint_trajectory_action, &quot;&quot;, &quot;Which action server to send commands to&quot;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DEFINE_string</name>
      <anchorfile>csv__to__controller__main_8cpp.html</anchorfile>
      <anchor>a67a2cbf408f60d5c855345980d9ac134</anchor>
      <arglist>(controller_state_topic, &quot;&quot;, &quot;Where to subscribe the controller state&quot;)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>csv__to__controller__main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>generic_hw_control_loop.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/</path>
    <filename>generic__hw__control__loop_8cpp</filename>
    <includes id="generic__hw__control__loop_8h" name="generic_hw_control_loop.h" local="no" imported="no">ros_control_boilerplate/generic_hw_control_loop.h</includes>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>generic_hw_control_loop.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/include/ros_control_boilerplate/</path>
    <filename>generic__hw__control__loop_8h</filename>
    <class kind="class">ros_control_boilerplate::GenericHWControlLoop</class>
    <namespace>ros_control_boilerplate</namespace>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>BILLION</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>aa73fc62621b3addc29db0b20072e4f71</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>generic_hw_interface.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/</path>
    <filename>generic__hw__interface_8cpp</filename>
    <includes id="generic__hw__interface_8h" name="generic_hw_interface.h" local="no" imported="no">ros_control_boilerplate/generic_hw_interface.h</includes>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>generic_hw_interface.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/include/ros_control_boilerplate/</path>
    <filename>generic__hw__interface_8h</filename>
    <class kind="class">ros_control_boilerplate::GenericHWInterface</class>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>joystick_manual_control.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/include/ros_control_boilerplate/tools/</path>
    <filename>joystick__manual__control_8h</filename>
    <class kind="class">ros_control_boilerplate::JoystickManualControl</class>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>keyboard_teleop.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/tools/</path>
    <filename>keyboard__teleop_8cpp</filename>
    <class kind="class">TeleopJointsKeyboard</class>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_a</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a1a6f0ee5a250ca9699434b9a7578ade6</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_b</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a773a8c9942b3a71c9b959fca73d8a3c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_c</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a3d963f4aaf8bece832d119820f7d940a</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_d</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a7d16105e919cd1e957178b3ee25d3820</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_e</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a9c2e8bccd1b02ab75d2b5fb1a89f0f6f</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_ESCAPE</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a7e311c0e509330880a3768245e98d640</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_f</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>aafba8840325baed899bb6f29f53d0d27</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_g</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a627a0f55fed000843364dd57ec82474c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_h</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a7cff7b64d8f9b63faa52466f555f9175</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_i</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a29922d7543a1b4b73f9b62ccab44f5b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_j</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>ab4b58b4591f011c26becb6f2a1f3395d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_k</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a3dfd80fd50f755ddf84c93be9557a1fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_l</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a3261bc586b001ac4b83b439864780310</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_m</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a454a83858f583c4bd52ff3516bfa0bc3</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_n</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a4492dbcc3c639caf5fe3e5db78e19ecb</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_o</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a8fdb58cc9c5f3f4f4e935fd6f7316cb7</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_p</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>acbca699bebcb3210fb964f248150e333</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_q</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>ada6a67c23bcdc2678b5939d7753438e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_r</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a2f2ccc4c9c7d4de0527873cafdc48642</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_s</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a9716984b10aedcc9f03ccf7a8f8956a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_t</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>acd449f8ccba3dc3b691d22c09713f7dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_u</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>acfedebf019537aeccee8fdd504efb4dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_v</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a97a766a19c2d29dc509de0cf8d757163</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_w</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a12648537bb1d533d01c689e1dd34031b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_x</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a4cac4d745fa66b422450bf7053d530a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_y</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a1de6258bbccaed1db83410c5cfa06cc6</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>KEYCODE_z</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a3b8b4644f83f3275bce2c3687af142d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>quit</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>af9150b82e29a37ab848ee2f66e993793</anchor>
      <arglist>(int sig)</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>kfd</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a886857c2b2af9d1ac9a0ad403685e160</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct termios cooked</type>
      <name>raw</name>
      <anchorfile>keyboard__teleop_8cpp.html</anchorfile>
      <anchor>a22578afdd6632157bdfb67a2b2033378</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>rrbot_hw_interface.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/rrbot_control/src/</path>
    <filename>rrbot__hw__interface_8cpp</filename>
    <includes id="rrbot__hw__interface_8h" name="rrbot_hw_interface.h" local="no" imported="no">rrbot_control/rrbot_hw_interface.h</includes>
    <namespace>rrbot_control</namespace>
  </compound>
  <compound kind="file">
    <name>rrbot_hw_interface.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/rrbot_control/include/rrbot_control/</path>
    <filename>rrbot__hw__interface_8h</filename>
    <includes id="generic__hw__interface_8h" name="generic_hw_interface.h" local="no" imported="no">ros_control_boilerplate/generic_hw_interface.h</includes>
    <class kind="class">rrbot_control::RRBotHWInterface</class>
    <namespace>rrbot_control</namespace>
  </compound>
  <compound kind="file">
    <name>rrbot_hw_main.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/rrbot_control/src/</path>
    <filename>rrbot__hw__main_8cpp</filename>
    <includes id="generic__hw__control__loop_8h" name="generic_hw_control_loop.h" local="no" imported="no">ros_control_boilerplate/generic_hw_control_loop.h</includes>
    <includes id="rrbot__hw__interface_8h" name="rrbot_hw_interface.h" local="no" imported="no">rrbot_control/rrbot_hw_interface.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>rrbot__hw__main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>sim_hw_interface.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/</path>
    <filename>sim__hw__interface_8cpp</filename>
    <includes id="sim__hw__interface_8h" name="sim_hw_interface.h" local="no" imported="no">ros_control_boilerplate/sim_hw_interface.h</includes>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>sim_hw_interface.h</name>
    <path>/tmp/ws/src/ros_control_boilerplate/include/ros_control_boilerplate/</path>
    <filename>sim__hw__interface_8h</filename>
    <includes id="generic__hw__interface_8h" name="generic_hw_interface.h" local="no" imported="no">ros_control_boilerplate/generic_hw_interface.h</includes>
    <class kind="class">ros_control_boilerplate::SimHWInterface</class>
    <namespace>ros_control_boilerplate</namespace>
  </compound>
  <compound kind="file">
    <name>sim_hw_main.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/</path>
    <filename>sim__hw__main_8cpp</filename>
    <includes id="generic__hw__control__loop_8h" name="generic_hw_control_loop.h" local="no" imported="no">ros_control_boilerplate/generic_hw_control_loop.h</includes>
    <includes id="sim__hw__interface_8h" name="sim_hw_interface.h" local="no" imported="no">ros_control_boilerplate/sim_hw_interface.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>sim__hw__main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_trajectory.cpp</name>
    <path>/tmp/ws/src/ros_control_boilerplate/src/tools/</path>
    <filename>test__trajectory_8cpp</filename>
    <class kind="class">ros_control_boilerplate::TestTrajectory</class>
    <namespace>ros_control_boilerplate</namespace>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const TestTrajectory &gt;</type>
      <name>TestTrajectoryConstPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>acd5488061032debdba8214c00d80ffa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; TestTrajectory &gt;</type>
      <name>TestTrajectoryPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a791e36ab50d13b9c46633ba481c96f17</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__trajectory_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>SEC_PER_TRAJ_POINT</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>ad181deab2df5b188c1166128c9240322</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::size_t</type>
      <name>TRAJ_POINTS</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a48349748b20887546ff8bf1eb9d7ac32</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::ControllerToCSV</name>
    <filename>classros__control__boilerplate_1_1ControllerToCSV.html</filename>
    <member kind="function">
      <type></type>
      <name>ControllerToCSV</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>afa09e357504ae5f611a3e287abf76ca8</anchor>
      <arglist>(const std::string &amp;topic)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>recordAll</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a667b057f8b02699093c651aaea4f9adc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>startRecording</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>abcd5612c5557aa8b088c9c8e663da277</anchor>
      <arglist>(const std::string &amp;file_name)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stopRecording</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a07f28f47acb08c30520fc65844d0c1ba</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ControllerToCSV</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a15f8a3e02744971ea99d5e74f12e7791</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>stateCB</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>ab23e275eca2fc99dcaf2407e1637a999</anchor>
      <arglist>(const control_msgs::JointTrajectoryControllerState::ConstPtr &amp;state)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>update</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>ae91a6a5eef7897d7d7d63cef2da8f6c4</anchor>
      <arglist>(const ros::TimerEvent &amp;e)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>waitForSubscriber</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a186e2b92b60d4e8392970b325d5d3c30</anchor>
      <arglist>(const ros::Subscriber &amp;sub, const double &amp;wait_time=10.0)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>writeToFile</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>ae178a41b2bccb3356425439887f3172d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>control_msgs::JointTrajectoryControllerState</type>
      <name>current_state_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a41da11b2e901dc237c7ab1e3ffa37999</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>file_name_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>ac33d473d2beecb440112f893ef763e0c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>first_update_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a09b56c044cc9803a1c25720ee6d1bbc6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a148286614d3ff4332c42b98801ab6f20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>ac20224f26711dff51fbc7052543b6696</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Timer</type>
      <name>non_realtime_loop_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a7f21d96d513c2cdbda699b50154daff7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>record_hz_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a7a5db2f780eab5edd22e8207ed117d2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>recording_started_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a0a783f4ef5d7e43c5ce07d79b21f60fa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>state_sub_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>af19b7d477949ea76bf50c3d648594d4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; control_msgs::JointTrajectoryControllerState &gt;</type>
      <name>states_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a8f2dd39b91b5cecd6338060b819a57b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; ros::Time &gt;</type>
      <name>timestamps_</name>
      <anchorfile>classros__control__boilerplate_1_1ControllerToCSV.html</anchorfile>
      <anchor>a8e231d17e98e678325da304763426439</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::CSVToController</name>
    <filename>classros__control__boilerplate_1_1CSVToController.html</filename>
    <member kind="function">
      <type></type>
      <name>CSVToController</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>aa5e979d630f81e0c91b8905474156de5</anchor>
      <arglist>(const std::string &amp;joint_trajectory_action, const std::string &amp;controller_state_topic)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>loadAndRunCSV</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>a77ffb7154eb0c8b051ba26abf9f72ad9</anchor>
      <arglist>(const std::string &amp;file_name)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>printPoint</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>af60e2c9e1f9d9389dd9beabe4986c370</anchor>
      <arglist>(trajectory_msgs::JointTrajectoryPoint &amp;point)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stateCB</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>aeb05acf705099d8a3a5744975413c3b3</anchor>
      <arglist>(const control_msgs::JointTrajectoryControllerState::ConstPtr &amp;state)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>controller_state_topic_</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>aaae7ad207e45ac176ef957fd7daf9bba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>control_msgs::JointTrajectoryControllerState</type>
      <name>current_state_</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>a885827b6cada0273c9b24097f5842116</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>file_name_</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>ad92e560f7925bd42fe5394b501160678</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>actionlib::SimpleActionClient&lt; control_msgs::FollowJointTrajectoryAction &gt;</type>
      <name>joint_trajectory_action_</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>a4b57ec8eb9240126e1e2758ce486d41d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>addae66936865134ce0e0f140b2099177</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>state_sub_</name>
      <anchorfile>classros__control__boilerplate_1_1CSVToController.html</anchorfile>
      <anchor>a356c3b9c13f1d2d24667cf5020a135a3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::GenericHWControlLoop</name>
    <filename>classros__control__boilerplate_1_1GenericHWControlLoop.html</filename>
    <member kind="function">
      <type></type>
      <name>GenericHWControlLoop</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a75958db0253fea38ff3c0a42e013ae75</anchor>
      <arglist>(ros::NodeHandle &amp;nh, boost::shared_ptr&lt; hardware_interface::RobotHW &gt; hardware_interface)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>run</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>aca33527de99e5402a60722cc3ee804f1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>update</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>aaa0b2bb5693c3116e50269ec47bfe50a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::shared_ptr&lt; controller_manager::ControllerManager &gt;</type>
      <name>controller_manager_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a8cd18aa4771af79b34c8ae3536f25b08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>struct timespec</type>
      <name>current_time_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>acd96090a4bbf5ad93cfd385871716deb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>cycle_time_error_threshold_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a6514610e1de610a8f8c50435b1fb97a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Duration</type>
      <name>desired_update_period_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>ac2a45ae13bed9518cf8def5e4099314c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Duration</type>
      <name>elapsed_time_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a2083501ae0930390e53b0ce92622ef19</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::shared_ptr&lt; hardware_interface::RobotHW &gt;</type>
      <name>hardware_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a22f9377d20c6f3d6b1353aed60a689e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>struct timespec</type>
      <name>last_time_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a07a9ac08d7c87a2c0eef5908d10f12ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>loop_hz_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a95cfe08363fe5f5ee6fa056ca251c66e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>a985599c36bc6695d358a35baf7514ee6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWControlLoop.html</anchorfile>
      <anchor>abc9acd1de25467eb03d2643990708cb9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::GenericHWInterface</name>
    <filename>classros__control__boilerplate_1_1GenericHWInterface.html</filename>
    <base>hardware_interface::RobotHW</base>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>canSwitch</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a61bec3e1545505d129099916d4aadb67</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>doSwitch</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a228ee250218572879f6b198559525193</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>enforceLimits</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ae8b0457c1c7247c6814739c084bf922b</anchor>
      <arglist>(ros::Duration &amp;period)=0</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GenericHWInterface</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a53fdc26d224a719db4672a99234034fc</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, urdf::Model *urdf_model=NULL)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>init</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>aeff6c9a9d7e65be0af31d6ecf876b1f2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>printCommandHelper</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ad081e10695f3ead497ab3307af422fa5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>printState</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ad81a143f86c8da8d90de5f58a28e1dc9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>printStateHelper</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ae225cccb5868d34b41556645a7a9279b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>read</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a418d45533b467b939e27dde5961d7931</anchor>
      <arglist>(ros::Duration &amp;elapsed_time)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>read</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>aea59e7cf432a498fe5b9728e1378b081</anchor>
      <arglist>(const ros::Time &amp;, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>registerJointLimits</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a994724662257395e99b9156f76dd7d34</anchor>
      <arglist>(const hardware_interface::JointHandle &amp;joint_handle_position, const hardware_interface::JointHandle &amp;joint_handle_velocity, const hardware_interface::JointHandle &amp;joint_handle_effort, std::size_t joint_id)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>reset</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a703aff0bf1f91164507ad755d4039184</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>write</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>aa6efa84c79872799708d804434b95727</anchor>
      <arglist>(ros::Duration &amp;elapsed_time)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>write</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a37f24ee9f78c3c2d6edd9a2f1ad4e2cd</anchor>
      <arglist>(const ros::Time &amp;, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~GenericHWInterface</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a2a1583f0d333600dd64262942136ff04</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>loadURDF</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ab5952578749bc6f207859783e479ed6c</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, std::string param_name)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::EffortJointSaturationInterface</type>
      <name>eff_jnt_sat_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>add1f9179d2be13f069eb95b8c7b6952c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::EffortJointSoftLimitsInterface</type>
      <name>eff_jnt_soft_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>abb0aa75777cd222a791a25c4adf4149b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::EffortJointInterface</type>
      <name>effort_joint_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ab8c1a8dc9e58030219210d9eff1cbae3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_effort_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a0c49d44053b4fb3daa1ce413ca749637</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_effort_command_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>acee024176cd62a5160074b0ec8d58eb1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_effort_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a99df3a1ec3acdb055e813b84b75b8f3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>joint_names_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a5e71ff27b831d2760725afa0495cb941</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_position_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a83aa49365528af38c6e90bcf994eb3af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_position_command_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a62f909199d0b559c6b178e9cd62ade36</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_position_lower_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ab399c9a8823ea8ecb550d0c6bf1c0f8d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_position_upper_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a914ee154fd6bc16f017852953e6748a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::JointStateInterface</type>
      <name>joint_state_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a0b1ad1a8817e0ed949b4c53a64d0be15</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_velocity_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ad29beec47170faaedefe9ba6d6edfd66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_velocity_command_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>aab839d126a418cadb9dcf1b2e869f17e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_velocity_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ab14213efcaa4ef4db145555e48b15be4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ad9472cd3e71bb201e20ec5f9821ed477</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a366ea7635848820ffe296c0f30278cf4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::size_t</type>
      <name>num_joints_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a6977042ff33bd65ce6cb73afeb061ef9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::PositionJointSaturationInterface</type>
      <name>pos_jnt_sat_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ae19461737fb6a84196bea0d671fdac45</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::PositionJointSoftLimitsInterface</type>
      <name>pos_jnt_soft_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a0267fa9f3eb31c8b9c48c73ed5fde1ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::PositionJointInterface</type>
      <name>position_joint_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a6ef6062d415f01bd3d1f7af259905d76</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>urdf::Model *</type>
      <name>urdf_model_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a941237b5b0c541701cd82367da7a83e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>use_rosparam_joint_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>ad243e745e4b01ec116dada346610693e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>use_soft_limits_if_available_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a5398dcb87950a3b221c0dccae60376bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::VelocityJointSaturationInterface</type>
      <name>vel_jnt_sat_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a06a843f6ea604c74cd425b68193e5109</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::VelocityJointSoftLimitsInterface</type>
      <name>vel_jnt_soft_limits_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a8d663c4b3cdb3f5d8b419adb53792189</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::VelocityJointInterface</type>
      <name>velocity_joint_interface_</name>
      <anchorfile>classros__control__boilerplate_1_1GenericHWInterface.html</anchorfile>
      <anchor>a164fbea83861e87969e8c0b430c9126f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::JoystickManualControl</name>
    <filename>classros__control__boilerplate_1_1JoystickManualControl.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>joyCallback</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>aa03a733ca2eef33d9b7fbc148a400d48</anchor>
      <arglist>(const sensor_msgs::Joy::ConstPtr &amp;msg)=0</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>JoystickManualControl</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a771c0d849186a055f7c4f6d01c8ff6ad</anchor>
      <arglist>(const std::string &amp;parent_name, const std::string &amp;service_namespace)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>loadManualControllers</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a49bbdd1cb3e0b1022d60affcfee1ed29</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>switchToManual</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>ad24112cccc629ed931d1f79fa29b7eb4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>switchToTrajectory</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a49687707f2b393bd03e2c9c7602ae47c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceClient</type>
      <name>load_controlers_client_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>ab29f29b6ba81e1a7a64a89999c712662</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>load_service_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a1a0a1d733f00889b17953f947fb314d6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>manual_controllers_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>aaeebe02746237414f3166f2f92e71e0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a7a1ba1254f320b2741ba46034a197d29</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>const std::string</type>
      <name>parent_name_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>afc89e7254644f5fcc2f73d0eedfcd279</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>remote_joy_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a625b7bbd851a2fa406a08e5765b13e3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::ServiceClient</type>
      <name>switch_controlers_client_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>ac37bcbc1c44c56ee4980c863e69d6c73</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>switch_service_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a2218742ca2d483da4820cfb502a0dfd4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>trajectory_controllers_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>af9e4e21d13578d9c10490e2004062d20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>using_trajectory_controller_</name>
      <anchorfile>classros__control__boilerplate_1_1JoystickManualControl.html</anchorfile>
      <anchor>a377e5a667fa8159dd6fe04ecd43fc5d1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rrbot_control::RRBotHWInterface</name>
    <filename>classrrbot__control_1_1RRBotHWInterface.html</filename>
    <base>ros_control_boilerplate::GenericHWInterface</base>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>enforceLimits</name>
      <anchorfile>classrrbot__control_1_1RRBotHWInterface.html</anchorfile>
      <anchor>a26eb6552c154a3a2a89a23cc8404a4bf</anchor>
      <arglist>(ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>read</name>
      <anchorfile>classrrbot__control_1_1RRBotHWInterface.html</anchorfile>
      <anchor>a373e97ec228e9fde57c9b97552cd7496</anchor>
      <arglist>(ros::Duration &amp;elapsed_time)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>RRBotHWInterface</name>
      <anchorfile>classrrbot__control_1_1RRBotHWInterface.html</anchorfile>
      <anchor>a4383afd092f5f9cc155acea43ae85f79</anchor>
      <arglist>(ros::NodeHandle &amp;nh, urdf::Model *urdf_model=NULL)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>write</name>
      <anchorfile>classrrbot__control_1_1RRBotHWInterface.html</anchorfile>
      <anchor>ac044a93884b8c86e64465654cc72bf33</anchor>
      <arglist>(ros::Duration &amp;elapsed_time)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::SimHWInterface</name>
    <filename>classros__control__boilerplate_1_1SimHWInterface.html</filename>
    <base>ros_control_boilerplate::GenericHWInterface</base>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>enforceLimits</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>adfb8f7dd313cb30526c7361b2a126709</anchor>
      <arglist>(ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>init</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a87dba1768cd84740b85f8005f9eb6b01</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>read</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a135774d6208599781c566772df9f900d</anchor>
      <arglist>(ros::Duration &amp;elapsed_time)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SimHWInterface</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a2ee92af0e186b3ca1040d1634f52d03b</anchor>
      <arglist>(ros::NodeHandle &amp;nh, urdf::Model *urdf_model=NULL)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>write</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a38e47714ba33eef06e8da2a5c89ae387</anchor>
      <arglist>(ros::Duration &amp;elapsed_time)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>positionControlSimulation</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>aa8e461f80639bb3c86e34447b7da1a51</anchor>
      <arglist>(ros::Duration &amp;elapsed_time, const std::size_t joint_id)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>joint_position_prev_</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a9ccd4590687371ad26b257aa32619aae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a6a7973ecb41060aa3e152f91436b3ecf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>p_error_</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a30e7f6266f454ffbba1936d29451ca2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>sim_control_mode_</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>addd6f313e19206919859696a654a285b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>v_error_</name>
      <anchorfile>classros__control__boilerplate_1_1SimHWInterface.html</anchorfile>
      <anchor>a905f1d7486244b997851ed07d64d41af</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>TeleopJointsKeyboard</name>
    <filename>classTeleopJointsKeyboard.html</filename>
    <member kind="function">
      <type>void</type>
      <name>keyboardLoop</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a17a5939219f137c8676d8b220984eb5a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stateCallback</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a83a5edc36acc6015214a5d6220e734d0</anchor>
      <arglist>(const sensor_msgs::JointStateConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TeleopJointsKeyboard</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>abc48b6144e0a4d6cb22a5535096b8fa3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~TeleopJointsKeyboard</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a6ac740b6936dd0868609d637e7c41dd6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std_msgs::Float64MultiArray</type>
      <name>cmd_</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>ad74dff030932b8a51fb660f9da7aa301</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>has_recieved_joints_</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a3f4a75149d767fa2f74f4016944b2882</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>joints_pub_</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a33127713d872097ef873843e454c13fd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>joints_sub_</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a4bf59c64b3c973f344f8f91b3899c748</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classTeleopJointsKeyboard.html</anchorfile>
      <anchor>a8bfdf3537d429efd58868b94f76e3932</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ros_control_boilerplate::TestTrajectory</name>
    <filename>classros__control__boilerplate_1_1TestTrajectory.html</filename>
    <member kind="function">
      <type>trajectory_msgs::JointTrajectory</type>
      <name>createTrajectory</name>
      <anchorfile>classros__control__boilerplate_1_1TestTrajectory.html</anchorfile>
      <anchor>a9c267e75634729c7bacf685a1c1e439f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>dRand</name>
      <anchorfile>classros__control__boilerplate_1_1TestTrajectory.html</anchorfile>
      <anchor>a4fbe45dc8d8e52d7a0334c47d7e5af8e</anchor>
      <arglist>(double dMin, double dMax)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TestTrajectory</name>
      <anchorfile>classros__control__boilerplate_1_1TestTrajectory.html</anchorfile>
      <anchor>a5e92b4bd2db8ee9775731259d4c802ba</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_private_</name>
      <anchorfile>classros__control__boilerplate_1_1TestTrajectory.html</anchorfile>
      <anchor>ab7201f70123004e806c62ce8c2b16f3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>trajectory_controller</name>
      <anchorfile>classros__control__boilerplate_1_1TestTrajectory.html</anchorfile>
      <anchor>a4d90dac5ea278250e4343aabe59973f4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>ros_control_boilerplate</name>
    <filename>namespaceros__control__boilerplate.html</filename>
    <class kind="class">ros_control_boilerplate::ControllerToCSV</class>
    <class kind="class">ros_control_boilerplate::CSVToController</class>
    <class kind="class">ros_control_boilerplate::GenericHWControlLoop</class>
    <class kind="class">ros_control_boilerplate::GenericHWInterface</class>
    <class kind="class">ros_control_boilerplate::JoystickManualControl</class>
    <class kind="class">ros_control_boilerplate::SimHWInterface</class>
    <class kind="class">ros_control_boilerplate::TestTrajectory</class>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const ControllerToCSV &gt;</type>
      <name>ControllerToCSVConstPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a8df245a4324633f7e49b863d8dbeaa7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ControllerToCSV &gt;</type>
      <name>ControllerToCSVPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a6ae9816bb6400396b1d8908872305df8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const TestTrajectory &gt;</type>
      <name>TestTrajectoryConstPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>acd5488061032debdba8214c00d80ffa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; TestTrajectory &gt;</type>
      <name>TestTrajectoryPtr</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a791e36ab50d13b9c46633ba481c96f17</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>BILLION</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>aa73fc62621b3addc29db0b20072e4f71</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>RECORD_RATE_HZ</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a3ce359ab786c0fd3c2ada6d9ff8b90d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>SEC_PER_TRAJ_POINT</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>ad181deab2df5b188c1166128c9240322</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::size_t</type>
      <name>TRAJ_POINTS</name>
      <anchorfile>namespaceros__control__boilerplate.html</anchorfile>
      <anchor>a48349748b20887546ff8bf1eb9d7ac32</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>rrbot_control</name>
    <filename>namespacerrbot__control.html</filename>
    <class kind="class">rrbot_control::RRBotHWInterface</class>
  </compound>
</tagfile>
