<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>can_bus.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/hardware_interface/</path>
    <filename>can__bus_8cpp.html</filename>
    <includes id="can__bus_8h" name="can_bus.h" local="yes" imported="no">rm_hw/hardware_interface/can_bus.h</includes>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>can_bus.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/hardware_interface/</path>
    <filename>can__bus_8h.html</filename>
    <includes id="socketcan_8h" name="socketcan.h" local="yes" imported="no">rm_hw/hardware_interface/socketcan.h</includes>
    <includes id="types_8h" name="types.h" local="yes" imported="no">rm_hw/hardware_interface/types.h</includes>
    <class kind="class">rm_hw::CanBus</class>
    <class kind="struct">rm_hw::CanFrameStamp</class>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>control_loop.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/</path>
    <filename>control__loop_8cpp.html</filename>
    <includes id="control__loop_8h" name="control_loop.h" local="yes" imported="no">rm_hw/control_loop.h</includes>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>control_loop.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/</path>
    <filename>control__loop_8h.html</filename>
    <includes id="hardware__interface_8h" name="hardware_interface.h" local="yes" imported="no">rm_hw/hardware_interface/hardware_interface.h</includes>
    <class kind="class">rm_hw::RmRobotHWLoop</class>
    <namespace>rm_hw</namespace>
    <member kind="typedef">
      <type>high_resolution_clock</type>
      <name>clock</name>
      <anchorfile>namespacerm__hw.html</anchorfile>
      <anchor>a109493fe1944ac06a6351c169c9cf079</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>gpio_manager.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/hardware_interface/</path>
    <filename>gpio__manager_8cpp.html</filename>
    <includes id="gpio__manager_8h" name="gpio_manager.h" local="no" imported="no">rm_hw/hardware_interface/gpio_manager.h</includes>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>gpio_manager.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/hardware_interface/</path>
    <filename>gpio__manager_8h.html</filename>
    <class kind="class">rm_hw::GpioManager</class>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>hardware_interface.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/hardware_interface/</path>
    <filename>hardware__interface_8cpp.html</filename>
    <includes id="hardware__interface_8h" name="hardware_interface.h" local="yes" imported="no">rm_hw/hardware_interface/hardware_interface.h</includes>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>hardware_interface.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/hardware_interface/</path>
    <filename>hardware__interface_8h.html</filename>
    <includes id="can__bus_8h" name="can_bus.h" local="yes" imported="no">can_bus.h</includes>
    <includes id="gpio__manager_8h" name="gpio_manager.h" local="yes" imported="no">gpio_manager.h</includes>
    <class kind="class">rm_hw::RmRobotHW</class>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>multi_actuator_transmission.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/transmission/</path>
    <filename>multi__actuator__transmission_8h.html</filename>
    <class kind="class">transmission_interface::MultiActuatorTransmission</class>
    <namespace>transmission_interface</namespace>
  </compound>
  <compound kind="file">
    <name>multi_actuator_transmission_loader.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/transmission/</path>
    <filename>multi__actuator__transmission__loader_8cpp.html</filename>
    <includes id="multi__actuator__transmission__loader_8h" name="multi_actuator_transmission_loader.h" local="yes" imported="no">rm_hw/transmission/multi_actuator_transmission_loader.h</includes>
    <includes id="multi__actuator__transmission_8h" name="multi_actuator_transmission.h" local="yes" imported="no">rm_hw/transmission/multi_actuator_transmission.h</includes>
    <namespace>transmission_interface</namespace>
  </compound>
  <compound kind="file">
    <name>multi_actuator_transmission_loader.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/transmission/</path>
    <filename>multi__actuator__transmission__loader_8h.html</filename>
    <includes id="multi__actuator__transmission_8h" name="multi_actuator_transmission.h" local="yes" imported="no">rm_hw/transmission/multi_actuator_transmission.h</includes>
    <class kind="class">transmission_interface::MultiActuatorTransmissionLoader</class>
    <namespace>transmission_interface</namespace>
  </compound>
  <compound kind="file">
    <name>parse.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/hardware_interface/</path>
    <filename>parse_8cpp.html</filename>
    <includes id="hardware__interface_8h" name="hardware_interface.h" local="yes" imported="no">rm_hw/hardware_interface/hardware_interface.h</includes>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="file">
    <name>rm_hw.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/</path>
    <filename>rm__hw_8cpp.html</filename>
    <includes id="control__loop_8h" name="control_loop.h" local="yes" imported="no">rm_hw/control_loop.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>rm__hw_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>socketcan.cpp</name>
    <path>/tmp/ws/src/rm_control/rm_hw/src/hardware_interface/</path>
    <filename>socketcan_8cpp.html</filename>
    <includes id="socketcan_8h" name="socketcan.h" local="yes" imported="no">rm_hw/hardware_interface/socketcan.h</includes>
    <namespace>can</namespace>
    <member kind="function" static="yes">
      <type>static void *</type>
      <name>socketcan_receiver_thread</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a28c93d8aab899139cd02c2eee2fb7be2</anchor>
      <arglist>(void *argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>socketcan.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/hardware_interface/</path>
    <filename>socketcan_8h.html</filename>
    <class kind="class">can::SocketCAN</class>
    <namespace>can</namespace>
  </compound>
  <compound kind="file">
    <name>types.h</name>
    <path>/tmp/ws/src/rm_control/rm_hw/include/rm_hw/hardware_interface/</path>
    <filename>types_8h.html</filename>
    <class kind="struct">rm_hw::ActCoeff</class>
    <class kind="struct">rm_hw::ActData</class>
    <class kind="struct">rm_hw::CanDataPtr</class>
    <class kind="struct">rm_hw::ImuData</class>
    <class kind="struct">rm_hw::TofData</class>
    <namespace>rm_hw</namespace>
  </compound>
  <compound kind="struct">
    <name>rm_hw::ActCoeff</name>
    <filename>structrm__hw_1_1ActCoeff.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>act2effort</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a0e77210cac300873be5c11fbac70a53a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>act2effort_offset</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>ae297640d2204ffdb60ad1acb7de5632d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>act2pos</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>ace7867862d0906d0f75279ba0196e4a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>act2pos_offset</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a543f9e30477490a2cb6a8abc26295109</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>act2vel</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>afaf0b6d9d45615875a2c7e0edf755135</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>act2vel_offset</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a8e8f49aac13c1cb3cf67a028883f619e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>effort2act</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a89b12dd4865296b2b2a53bb6057caaad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>kd2act</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a639505213868643203a2260dbee90533</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>kp2act</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a3abbd8388fc3cd1d32738ac4da10694b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>max_out</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>aaf11a504cbcd7410e6f42835e0f45286</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>pos2act</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a44463bac138a0e7f4ab125db01ed2be7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>vel2act</name>
      <anchorfile>structrm__hw_1_1ActCoeff.html</anchorfile>
      <anchor>a153838139c05e03963f645046ef8879d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>rm_hw::ActData</name>
    <filename>structrm__hw_1_1ActData.html</filename>
    <member kind="variable">
      <type>bool</type>
      <name>calibrated</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a7b18ae3d6b04b8fd70c68e90d67968b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>calibration_reading</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a210336e3d0dea7ee26410a726e718df9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cmd_effort</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>ac2e030e190972bc1d34db094ad02bba8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cmd_pos</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a735479d2f50c99dcfa7e181adaacb527</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cmd_vel</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a7048c084c5cd53f1d98a330621276666</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>effort</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a5d070ec7dda319e06f4ffc09c0c80cf3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>exe_effort</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a69f1b15447432748a85637d8c1719203</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>frequency</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a49b2a099960a00d88f79afc382d26910</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>halted</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a9efe2bc84b42c33a831291741de6d889</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>LowPassFilter *</type>
      <name>lp_filter</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a1dd0ef47467ed6c0cfbe3bae99105abf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>name</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a1855ce524c5d6449b55cf6e4190a953f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>need_calibration</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a7d4649367c8a70e473b4c125072ca824</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>offset</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a93479c219fed44485f0b2280d486ac2e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>pos</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a7ed0a794d180f8338dd01af9ae703400</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>q_circle</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>ae5c12ed90516b3400cf8b1b8d2eae5e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>q_last</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>aab37ab9ea73992de768c85e7a5ca1b6a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>q_raw</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>aee0e9156f41bd4252565a668079176ad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t</type>
      <name>qd_raw</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a8ff9f328e1b5c476aba3e4375ab23113</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint64_t</type>
      <name>seq</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a5db47d3e5c8f5f5d5febe0f5402830ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>stamp</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>aa57dbf761658a14ed34363c91b8d2c13</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>temp</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a87132d5ae97cb6437de49954ea27a5e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>type</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a576635bb1d1cf85def99f88623444699</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>vel</name>
      <anchorfile>structrm__hw_1_1ActData.html</anchorfile>
      <anchor>a9310dbf1ae8a067b8727e2b5f51ecee9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rm_hw::CanBus</name>
    <filename>classrm__hw_1_1CanBus.html</filename>
    <member kind="function">
      <type></type>
      <name>CanBus</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a17d8336675271bde7539624b3c0efadb</anchor>
      <arglist>(const std::string &amp;bus_name, CanDataPtr data_ptr, int thread_priority)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>ab5e9acdd465305b49400d4d8e985cb0e</anchor>
      <arglist>(ros::Time time)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a4398ff1102fb2ccd17191a34617f041d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>accd32dfc134d7b1d5d8779f2fa33d48f</anchor>
      <arglist>(can_frame *frame)</arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>bus_name_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a8c4db2b34b9de77ebd23c84b16aa7e8e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>frameCallback</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a1d99fcc38f022410ac4fc1c243351d92</anchor>
      <arglist>(const can_frame &amp;frame)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>CanDataPtr</type>
      <name>data_ptr_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a0ded29afc7d65c40c08dab4c449212d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>mutex_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>ac6f97760f59ec365420f3d0712193811</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; CanFrameStamp &gt;</type>
      <name>read_buffer_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a0c57304f1f748763291c2d8004bf468e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can_frame</type>
      <name>rm_frame0_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a6b0663cbe24eef01a4159de4a74c55ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can_frame</type>
      <name>rm_frame1_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a02ae851662f09949d6745ed2346b184e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>can::SocketCAN</type>
      <name>socket_can_</name>
      <anchorfile>classrm__hw_1_1CanBus.html</anchorfile>
      <anchor>a97227957bb40ea7f7868f3731a340428</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>rm_hw::CanDataPtr</name>
    <filename>structrm__hw_1_1CanDataPtr.html</filename>
    <member kind="variable">
      <type>std::unordered_map&lt; int, ActData &gt; *</type>
      <name>id2act_data_</name>
      <anchorfile>structrm__hw_1_1CanDataPtr.html</anchorfile>
      <anchor>aae4acd40cbd7e295ea377cd3c98a0b75</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::unordered_map&lt; int, ImuData &gt; *</type>
      <name>id2imu_data_</name>
      <anchorfile>structrm__hw_1_1CanDataPtr.html</anchorfile>
      <anchor>a9706e27fa1a9d1968e701bde8b2e610b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::unordered_map&lt; int, TofData &gt; *</type>
      <name>id2tof_data_</name>
      <anchorfile>structrm__hw_1_1CanDataPtr.html</anchorfile>
      <anchor>ae1c9347025634c22b00dbf95ab938bb4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::unordered_map&lt; std::string, ActCoeff &gt; *</type>
      <name>type2act_coeffs_</name>
      <anchorfile>structrm__hw_1_1CanDataPtr.html</anchorfile>
      <anchor>ae739a2622cbdff457a6c8870dff35630</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>rm_hw::CanFrameStamp</name>
    <filename>structrm__hw_1_1CanFrameStamp.html</filename>
    <member kind="variable">
      <type>can_frame</type>
      <name>frame</name>
      <anchorfile>structrm__hw_1_1CanFrameStamp.html</anchorfile>
      <anchor>a0af90860ad28c483df60d43d49530b40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>stamp</name>
      <anchorfile>structrm__hw_1_1CanFrameStamp.html</anchorfile>
      <anchor>a1a6585f3bc19428ec97eae44e54c2c19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rm_hw::GpioManager</name>
    <filename>classrm__hw_1_1GpioManager.html</filename>
    <member kind="function">
      <type></type>
      <name>GpioManager</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>adbd346966db514b72325d21ad4336715</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>readGpio</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>a01438200d3250b53b36050f746f5c296</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setGpioDirection</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>ae6188949358c9f722b0f67937c18eb08</anchor>
      <arglist>(rm_control::GpioData gpioData)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeGpio</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>a9e46e071a406a8105ba4e414fa8f41df</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~GpioManager</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>ae76514c0baee8d28a244e874de78549e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; rm_control::GpioData &gt;</type>
      <name>gpio_command_values</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>a3282a66ea6475f3ed1af25adbb99a1d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; rm_control::GpioData &gt;</type>
      <name>gpio_state_values</name>
      <anchorfile>classrm__hw_1_1GpioManager.html</anchorfile>
      <anchor>a757dfa3360d68d83646e7db54a460dab</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>rm_hw::ImuData</name>
    <filename>structrm__hw_1_1ImuData.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>accel_coeff</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a7f9ff4e4a71b02f933a2ef7dda60f45a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>accel_updated</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a8492dd8a1ee39bc504988984a0758260</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angular_vel</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a9756a8b2e9fc18a5ddf157dc85fde467</anchor>
      <arglist>[3]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angular_vel_coeff</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a9c303b60001d7cc08555a36c3ad01e1d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angular_vel_cov</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a6516d8fa4b40560fbe8cd362c39766c5</anchor>
      <arglist>[9]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>angular_vel_offset</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>acabc16f92db6e2c8a8cc35bcd69004b9</anchor>
      <arglist>[3]</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>camera_trigger</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a3563263c52b1ad74a62049e78998f9ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>enabled_trigger</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a014282213c795fa6c1ea89e0bc9ee060</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>gyro_updated</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>ac7670df9a121ffe63e597120cd0e494a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>rm_common::ImuFilterBase *</type>
      <name>imu_filter</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a5842a849cca079dd5b766b9daa5d4044</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>imu_name</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a59d279115cc3c92f38bd5e7d1f391b16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>linear_acc</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>aba65ad25deb4a8fab381e9daf2bab9b9</anchor>
      <arglist>[3]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>linear_acc_cov</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a1e55f1108ef73c6eee6836fb1381380d</anchor>
      <arglist>[9]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>ori</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>af1aec64ab5b46dd71882c31241945ed2</anchor>
      <arglist>[4]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>ori_cov</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a00ae41a9a83a46cd77e494abdbf7f455</anchor>
      <arglist>[9]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>temp_coeff</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a308d449814cfa029f86c016cc7f46177</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>temp_offset</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a14585ce0856c6c12434801630a8de32c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>temperature</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a705bfae5db7a50b38c0e121bdb2174c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Time</type>
      <name>time_stamp</name>
      <anchorfile>structrm__hw_1_1ImuData.html</anchorfile>
      <anchor>a7ea3afbf68a57669f02c8d976f0332e0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>transmission_interface::MultiActuatorTransmission</name>
    <filename>classtransmission__interface_1_1MultiActuatorTransmission.html</filename>
    <base>transmission_interface::Transmission</base>
    <member kind="function">
      <type>void</type>
      <name>actuatorToJointEffort</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>aac448df0e246c1c116d14643c8d13d90</anchor>
      <arglist>(const ActuatorData &amp;act_data, JointData &amp;jnt_data) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>actuatorToJointPosition</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a1debab4a2823f3ba8967a086624f9f3e</anchor>
      <arglist>(const ActuatorData &amp;act_data, JointData &amp;jnt_data) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>actuatorToJointVelocity</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a6796c91fc06045e04dffd3e27805f191</anchor>
      <arglist>(const ActuatorData &amp;act_data, JointData &amp;jnt_data) override</arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; double &gt; &amp;</type>
      <name>getActuatorReduction</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a78ccd7475f4f06599ce9c6c874af83ad</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getJointOffset</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>ab15ab4c2db3f90dac629ee1d833ccdba</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getJointReduction</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a16d3aa07a4da2ba8ea9b42fbcf25457a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>jointToActuatorEffort</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>aaf902c986ccc9cebb9bf9e0d0b307f8e</anchor>
      <arglist>(const JointData &amp;jnt_data, ActuatorData &amp;act_data) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>jointToActuatorPosition</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>acdaf5a70fce5be2372aea1fa9dafbc0e</anchor>
      <arglist>(const JointData &amp;jnt_data, ActuatorData &amp;act_data) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>jointToActuatorVelocity</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a15f4267d88a9a50ab805f748b02618e4</anchor>
      <arglist>(const JointData &amp;jnt_data, ActuatorData &amp;act_data) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MultiActuatorTransmission</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>ada1e74d04971a8a1dfbced2643bc8a11</anchor>
      <arglist>(const TransmissionInfo &amp;transmission_info, std::vector&lt; double &gt; actuator_reduction, double joint_reduction, double joint_offset=0.0)</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>numActuators</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a9b9d960bc27fe1b10913e8dbec2bbc2f</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>numJoints</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a77f47ef099d97afe31774b7827002be9</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>act_number_</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>ae55eaf515d7d0ed2450e5e2a1011771e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>act_reduction_</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>ab94153487dfb0443983295a0ccf5a6c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>jnt_offset_</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a0836d3184c89681e6f0db3f1b60d4b04</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>jnt_reduction_</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmission.html</anchorfile>
      <anchor>a75f5adc53e4e71214cd867593fc78b3c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>transmission_interface::MultiActuatorTransmissionLoader</name>
    <filename>classtransmission__interface_1_1MultiActuatorTransmissionLoader.html</filename>
    <base>transmission_interface::TransmissionLoader</base>
    <member kind="function">
      <type>TransmissionSharedPtr</type>
      <name>load</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmissionLoader.html</anchorfile>
      <anchor>afd542261ee36d327f1a07c5724c97a8a</anchor>
      <arglist>(const TransmissionInfo &amp;transmission_info) override</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static bool</type>
      <name>getActuatorConfig</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmissionLoader.html</anchorfile>
      <anchor>af3d37b803f4fdc6ae967657cad1ab8cf</anchor>
      <arglist>(const TransmissionInfo &amp;transmission_info, std::vector&lt; double &gt; &amp;actuator_reduction)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static bool</type>
      <name>getJointConfig</name>
      <anchorfile>classtransmission__interface_1_1MultiActuatorTransmissionLoader.html</anchorfile>
      <anchor>aa55c2123e146c32185ae394705f2e747</anchor>
      <arglist>(const TransmissionInfo &amp;transmission_info, double &amp;joint_reduction, double &amp;joint_offset)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rm_hw::RmRobotHW</name>
    <filename>classrm__hw_1_1RmRobotHW.html</filename>
    <base>hardware_interface::RobotHW</base>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a47c3ee1cd0ce192b6181f3cd5b357b72</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;robot_hw_nh) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>adfb3e323ce028b40e55537fbf0dfa75d</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>RmRobotHW</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>af375dc086884b7f997301106f56c44e9</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCanBusThreadPriority</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a26f6375dae25425d36adae178ec735bd</anchor>
      <arglist>(int thread_priority)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a16cd6cfb649a057146629039b731326a</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>enableImuTrigger</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a18592ac1199f18010f813815f8b8bfa6</anchor>
      <arglist>(rm_msgs::EnableImuTrigger::Request &amp;req, rm_msgs::EnableImuTrigger::Response &amp;res)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>loadUrdf</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a72cf94a3b57fffa02a221b4c1ba88398</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>parseActCoeffs</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ac45b6c266986b6811cca69f5e0b8a1b2</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;act_coeffs)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>parseActData</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>acd786bf2b7114b5b6b7e73df3d043fc4</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;act_datas, ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>parseGpioData</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ad6ef06261f9554aa2e9f69c39d00a411</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;gpio_datas, ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>parseImuData</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ad5002b89fac34f1d56c61d810d08f2fc</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;imu_datas, ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>parseTofData</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>aaea58c6396472ed307d0e757afbece45</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;tof_datas, ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publishActuatorState</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a698086b12a2de0f4e6450ef6486279ef</anchor>
      <arglist>(const ros::Time &amp;time)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>setupJointLimit</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a7daf5c695312d42c15590e72968c8424</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>setupTransmission</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a48ad21a5905a01bb02477c766aa2e3db</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>rm_control::ActuatorExtraInterface</type>
      <name>act_extra_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a1837a85c7160291cb9a1d9c22f41d342</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::ActuatorStateInterface</type>
      <name>act_state_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a44a5784dd3ab39331018d080d7187cb2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>transmission_interface::ActuatorToJointStateInterface *</type>
      <name>act_to_jnt_state_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>af95316b460d567703a21c7dbb65dffd6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; realtime_tools::RealtimePublisher&lt; rm_msgs::ActuatorState &gt; &gt;</type>
      <name>actuator_state_pub_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>abee6d70a713f378b84942641fdc7e0e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; std::string, std::unordered_map&lt; int, ActData &gt; &gt;</type>
      <name>bus_id2act_data_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a8dee6597d28eb27aa5da1271943269f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; std::string, std::unordered_map&lt; int, ImuData &gt; &gt;</type>
      <name>bus_id2imu_data_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a756241509f78e79509e21181de4135d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; std::string, std::unordered_map&lt; int, TofData &gt; &gt;</type>
      <name>bus_id2tof_data_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ab0bcd4faa2465f64993bd40ab7586568</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; CanBus * &gt;</type>
      <name>can_buses_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a12916b7747f52ef86faab857f6175968</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::EffortActuatorInterface</type>
      <name>effort_act_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a5bcaabc0cc5bc9fdc99e086574d541ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::EffortJointSaturationInterface</type>
      <name>effort_jnt_saturation_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a20df6f7c86b52f95763428d683a266dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::EffortJointSoftLimitsInterface</type>
      <name>effort_jnt_soft_limits_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a9fbb97a253874b862cb8961b8dd1bb6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; hardware_interface::JointHandle &gt;</type>
      <name>effort_joint_handles_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a5f20fdba86f3e694a05982aafe221f0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>rm_control::GpioCommandInterface</type>
      <name>gpio_command_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a152e457f655aa4bdf3dd75bfa31c79ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>GpioManager</type>
      <name>gpio_manager_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>af10992b281baaa0a6f4a01b093a3efd9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>rm_control::GpioStateInterface</type>
      <name>gpio_state_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>aa31c9f74432d74a8d9c911a5a7f7e94c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::ImuSensorInterface</type>
      <name>imu_sensor_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>af56e75151c2ecadf54fa248f1924566d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>is_actuator_specified_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a826aaf2b5c05151244bc38d9775522f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>transmission_interface::JointToActuatorEffortInterface *</type>
      <name>jnt_to_act_effort_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a436cb08572fa393afe359612a2e76f2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>last_publish_time_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a781aa3fbeb2cbe4d625f09b7a3d5f508</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>rm_control::RmImuSensorInterface</type>
      <name>rm_imu_sensor_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>abb91ba6ce307cd1be9fca82d7908477e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>rm_control::RobotStateInterface</type>
      <name>robot_state_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ad2190b08466e8ff45fd64d4b4523b299</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>transmission_interface::RobotTransmissions</type>
      <name>robot_transmissions_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>aed9e3559f431d9097f4e17ebd2e66071</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>service_server_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a2f70ff9500241168cd830dde60867382</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>thread_priority_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ab73410930faa02bb494630f591384d7b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>rm_control::TofRadarInterface</type>
      <name>tof_radar_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a051313636792943d1500ffc022e1c435</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; transmission_interface::TransmissionInterfaceLoader &gt;</type>
      <name>transmission_loader_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>af619ba389df7bcfe54d9623a63f05fae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unordered_map&lt; std::string, ActCoeff &gt;</type>
      <name>type2act_coeffs_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a3b841cf993afa7dce46f0f4afaae6e24</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; urdf::Model &gt;</type>
      <name>urdf_model_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>a6b1f7c69f66cb8dd74faf5ef105b7fad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>urdf_string_</name>
      <anchorfile>classrm__hw_1_1RmRobotHW.html</anchorfile>
      <anchor>ad29240087820de3e39566fd4f0ae856d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>rm_hw::RmRobotHWLoop</name>
    <filename>classrm__hw_1_1RmRobotHWLoop.html</filename>
    <member kind="function">
      <type></type>
      <name>RmRobotHWLoop</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a647dd252624c515da9bc7853e7898f8e</anchor>
      <arglist>(ros::NodeHandle &amp;nh, std::shared_ptr&lt; RmRobotHW &gt; hardware_interface)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>ab65c7aba9bf03575963fabc648d8299c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~RmRobotHWLoop</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a17f3f50a26d19d36fa7f097537cf2e9e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; controller_manager::ControllerManager &gt;</type>
      <name>controller_manager_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a76f6e2cbccc9dea65e556fe409bbc4b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cycle_time_error_threshold_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a281e55cf5b91ceb512381aabbc2a2e11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Duration</type>
      <name>elapsed_time_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a1356b92ffef97b3d6712c46e7b831853</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::shared_ptr&lt; RmRobotHW &gt;</type>
      <name>hardware_interface_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a8778d0004972b6f2e65e0f191ebb7b0c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>clock::time_point</type>
      <name>last_time_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a2b20aca365bd263d9c31fd3db078e79c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>loop_hz_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a60cd20365398647b4c8fd0251125847f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_bool</type>
      <name>loop_running_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a6847f40d74b234ce2b0fc4e6c3d476e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>loop_thread_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>a54b1da389e318e8b8454340db2048ad6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classrm__hw_1_1RmRobotHWLoop.html</anchorfile>
      <anchor>aa62f49fce8ec35434176b50bb33ead4c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>can::SocketCAN</name>
    <filename>classcan_1_1SocketCAN.html</filename>
    <member kind="function">
      <type>void</type>
      <name>close</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a488ad9e57bf935a7d81fe80fd37aea82</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isOpen</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a2912cb33585fc03b7ba6e156fba55ce1</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>open</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a7ba9264fb17a770ec582c93194242e63</anchor>
      <arglist>(const std::string &amp;interface, boost::function&lt; void(const can_frame &amp;frame)&gt; handler, int thread_priority)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SocketCAN</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a003e14d1da9b8ddcc5f4cf1a86e8dfd7</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>startReceiverThread</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>af0d94fd7595174f2980cfb9b19169dbe</anchor>
      <arglist>(int thread_priority)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>ab3f69ca5a3fd5574faa7bf11c7e30f20</anchor>
      <arglist>(can_frame *frame) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~SocketCAN</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>aa3c86a7f203fb7b80ef882cbf52f751a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>receiver_thread_running_</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a39efc9f2102937ba75c7569a535c1110</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>boost::function&lt; void(const can_frame &amp;frame)&gt;</type>
      <name>reception_handler</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a8f7f680e1c4d8d3c9013c5e024a528d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>sock_fd_</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a3ab42b8e60a8a4b868db0b10b0e35f98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>terminate_receiver_thread_</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>aa8cb7cb76419ec6a055dd63d2d1adfce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sockaddr_can</type>
      <name>address_</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a17e539225e068b4a4db2ebb4a0090d36</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ifreq</type>
      <name>interface_request_</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a96c7d04b264c2b2c04499c9b0cf02201</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>pthread_t</type>
      <name>receiver_thread_id_</name>
      <anchorfile>classcan_1_1SocketCAN.html</anchorfile>
      <anchor>a2331e49b6aa80b19e1b066b372aa997a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>rm_hw::TofData</name>
    <filename>structrm__hw_1_1TofData.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>distance</name>
      <anchorfile>structrm__hw_1_1TofData.html</anchorfile>
      <anchor>aa095ab57d0e376a999f215db9f6cc87e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>strength</name>
      <anchorfile>structrm__hw_1_1TofData.html</anchorfile>
      <anchor>a79bf84454f6aabce893a16889512faf3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>can</name>
    <filename>namespacecan.html</filename>
    <class kind="class">can::SocketCAN</class>
    <member kind="function" static="yes">
      <type>static void *</type>
      <name>socketcan_receiver_thread</name>
      <anchorfile>namespacecan.html</anchorfile>
      <anchor>a28c93d8aab899139cd02c2eee2fb7be2</anchor>
      <arglist>(void *argv)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>rm_hw</name>
    <filename>namespacerm__hw.html</filename>
    <class kind="struct">rm_hw::ActCoeff</class>
    <class kind="struct">rm_hw::ActData</class>
    <class kind="class">rm_hw::CanBus</class>
    <class kind="struct">rm_hw::CanDataPtr</class>
    <class kind="struct">rm_hw::CanFrameStamp</class>
    <class kind="class">rm_hw::GpioManager</class>
    <class kind="struct">rm_hw::ImuData</class>
    <class kind="class">rm_hw::RmRobotHW</class>
    <class kind="class">rm_hw::RmRobotHWLoop</class>
    <class kind="struct">rm_hw::TofData</class>
    <member kind="typedef">
      <type>high_resolution_clock</type>
      <name>clock</name>
      <anchorfile>namespacerm__hw.html</anchorfile>
      <anchor>a109493fe1944ac06a6351c169c9cf079</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>transmission_interface</name>
    <filename>namespacetransmission__interface.html</filename>
    <class kind="class">transmission_interface::MultiActuatorTransmission</class>
    <class kind="class">transmission_interface::MultiActuatorTransmissionLoader</class>
  </compound>
</tagfile>
