<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>control_mode.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>control__mode_8cpp</filename>
    <includes id="control__mode_8h" name="control_mode.h" local="no" imported="no">franka_hw/control_mode.h</includes>
    <namespace>franka_hw</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2dbef19b15b26447214b95ccc0973b20</anchor>
      <arglist>(std::ostream &amp;ostream, ControlMode mode)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>control_mode.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>control__mode_8h</filename>
    <namespace>franka_hw</namespace>
    <member kind="enumeration">
      <type></type>
      <name>ControlMode</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afa416558ce4baace5ac6c71bd5d2c98c</anchor>
      <arglist></arglist>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98ca6adf97f83acf6453d4a6a4b1070f3754">None</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98ca6c640e0814bb12aecaa28d237d393467">JointTorque</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98caa10d0bc4b1db478900a14e066c4c3333">JointPosition</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98cab71066787fa2ea98f88027078359cd93">JointVelocity</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98ca5f4d2e0f06b2be984d61e898b354da1e">CartesianVelocity</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98cab5a449319cc586903a8995a0b463df50">CartesianPose</enumvalue>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator&amp;</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a41023350e6e2c463aeba09359cc6f3a8</anchor>
      <arglist>(ControlMode left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode &amp;</type>
      <name>operator&amp;=</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a14ad5e20cbf9531d5633c95d4c460881</anchor>
      <arglist>(ControlMode &amp;left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2dbef19b15b26447214b95ccc0973b20</anchor>
      <arglist>(std::ostream &amp;ostream, ControlMode mode)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator^</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8270a1f589cc045ec58e8b44e0f307f2</anchor>
      <arglist>(ControlMode left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator|</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa04e36b77fe247b4ef736bb0abc2ac24</anchor>
      <arglist>(ControlMode left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode &amp;</type>
      <name>operator|=</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8763373676dcb02e2c2ac1f4e7613a8d</anchor>
      <arglist>(ControlMode &amp;left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator~</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afb4d4bc5509c24838d523b6f8d90b58a</anchor>
      <arglist>(ControlMode mode)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>franka_cartesian_command_interface.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>franka__cartesian__command__interface_8h</filename>
    <includes id="franka__state__interface_8h" name="franka_state_interface.h" local="no" imported="no">franka_hw/franka_state_interface.h</includes>
    <class kind="class">franka_hw::FrankaCartesianPoseHandle</class>
    <class kind="class">franka_hw::FrankaCartesianVelocityHandle</class>
    <class kind="class">franka_hw::FrankaPoseCartesianInterface</class>
    <class kind="class">franka_hw::FrankaVelocityCartesianInterface</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_combinable_hw.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>franka__combinable__hw_8cpp</filename>
    <includes id="franka__combinable__hw_8h" name="franka_combinable_hw.h" local="no" imported="no">franka_hw/franka_combinable_hw.h</includes>
    <includes id="services_8h" name="services.h" local="no" imported="no">franka_hw/services.h</includes>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_combinable_hw.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>franka__combinable__hw_8h</filename>
    <includes id="franka__hw_8h" name="franka_hw.h" local="no" imported="no">franka_hw/franka_hw.h</includes>
    <includes id="services_8h" name="services.h" local="no" imported="no">franka_hw/services.h</includes>
    <class kind="class">franka_hw::FrankaCombinableHW</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_combinable_hw_controller_switching_test.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/test/</path>
    <filename>franka__combinable__hw__controller__switching__test_8cpp</filename>
    <includes id="franka__cartesian__command__interface_8h" name="franka_cartesian_command_interface.h" local="no" imported="no">franka_hw/franka_cartesian_command_interface.h</includes>
    <includes id="franka__combinable__hw_8h" name="franka_combinable_hw.h" local="no" imported="no">franka_hw/franka_combinable_hw.h</includes>
    <class kind="class">CombinableControllerConflict</class>
    <class kind="class">CombinableNoControllerConflict</class>
    <member kind="function">
      <type>std::string</type>
      <name>arm_id2</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>acdb1397fdc90e54504286801d2c37a47</anchor>
      <arglist>(&quot;panda2&quot;)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>cp_iface_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a27ac0238b4e18281b5b7f396ed7526a1</anchor>
      <arglist>(&quot;franka_hw::FrankaPoseCartesianInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>cv_iface_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>acf97ccfd7760e0178e2fdb0a16f41097</anchor>
      <arglist>(&quot;franka_hw::FrankaVelocityCartesianInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>INSTANTIATE_TEST_CASE_P</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ae4b86a359ec9cf245c6214ec9c89a6e1</anchor>
      <arglist>(combinableNonAdmissibleRequests, CombinableControllerConflict,::testing::Values(std::list&lt; hardware_interface::ControllerInfo &gt;{no_id_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{unknown_iface_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{cv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{cp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jt_jp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jt_jv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jt_jt_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jp_jp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jp_jv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jp_cv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jp_cp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jv_jv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jv_cv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jv_cp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{cv_cv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{cv_cp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{cp_cp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jp_jp_jp_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jt_cv_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jt_cp_info}))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>INSTANTIATE_TEST_CASE_P</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a0d12509ef4ed17609d6f6844c8f2e36d</anchor>
      <arglist>(combinableAdmissibleRequests, CombinableNoControllerConflict,::testing::Values(std::list&lt; hardware_interface::ControllerInfo &gt;{jt_info}, std::list&lt; hardware_interface::ControllerInfo &gt;{jt_info, cp_arm2_info}))</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>jp_iface_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aad7d375ac95c3f70d3b15908fed1081c</anchor>
      <arglist>(&quot;hardware_interface::PositionJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>jt_iface_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>af1a6e9918c4875b3bebee68e08316de9</anchor>
      <arglist>(&quot;hardware_interface::EffortJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>jv_iface_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>abe4b5cc25967b8a270719bb4b6554841</anchor>
      <arglist>(&quot;hardware_interface::VelocityJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>name_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a61c3b6c192e1e2570681f65b1f81b01c</anchor>
      <arglist>(&quot;some_controller&quot;)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aae973de8b14a97fa9ff4ccff3e33b180</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a0f32f92ce16860e9d024033772b00805</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1, const hardware_interface::InterfaceResources &amp;resource2)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ac8020f8929c4d322475eef0d7600143f</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1, const hardware_interface::InterfaceResources &amp;resource2, const hardware_interface::InterfaceResources &amp;resource3)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a52b97e9e5c4d23ba93f2720c9cece2af</anchor>
      <arglist>(FrankaCombinableHWTests, CanInitROSInterfaces)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a1e13042148f4ca4dec09dac2c39dc2f8</anchor>
      <arglist>(CombinableControllerConflict, ConflictsForIncompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a5dcfbf08be212158ea0e0215781a2a81</anchor>
      <arglist>(CombinableNoControllerConflict, DoesNotConflictForCompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ad3c58e6500c872eb179bd89d1e1e37bd</anchor>
      <arglist>(CombinableNoControllerConflict, CanPrepareSwitchForCompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>type_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a1ac0fd07200763d93de2bb1a2f3b2b96</anchor>
      <arglist>(&quot;SomeControllerClass&quot;)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>unknown_iface_str</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a82e554b0d81f746cabb1e1049c9a5b3b</anchor>
      <arglist>(&quot;hardware_interface::UnknownInterface&quot;)</arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>arm_id</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>abf48872c48c49754d9ec91950e4f37a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::set&lt; std::string &gt;</type>
      <name>cartesian_arm2_set</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a4d4d043e407c06357d19632ba71e3a50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::set&lt; std::string &gt;</type>
      <name>cartesian_set</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>adda930709a0da6bfead3e51f8eb097a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>cp_arm2_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a1c4d6c344b18dae02cf0ba8cb98c4d50</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>cp_arm2_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ac8d28a5ef7cc7afc06f32cb26b1f1b5a</anchor>
      <arglist>(cp_iface_str, cartesian_arm2_set)</arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>cp_cp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a0238b2c3b5afba2831ff84cea41c1f1f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>cp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a3b59a7da86f3b259009ff04582939322</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>cp_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a69417d3246a3167b3b548ebb05a7dcb3</anchor>
      <arglist>(cp_iface_str, cartesian_set)</arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>cv_cp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ad9c3fbea3818524a4da2ac31c6405056</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>cv_cv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aa658a43df4e7dc5de8ecbdc9c14237d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>cv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a91de29c6b6a0f2c58a25c9de7b0d1322</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>cv_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aa359b3082c85865ffe49b10a84cc0613</anchor>
      <arglist>(cv_iface_str, cartesian_set)</arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; std::string, 7 &gt;</type>
      <name>joint_names</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a1089b44a137f22cd44c3b8fc1d47d002</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::set&lt; std::string &gt;</type>
      <name>joints_set</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ac19bac04068f407180f54d511c1cc81f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jp_cp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a4c32491fe2f1f4e92758b8b4188de1b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jp_cv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aac703af11ee4eb4de14575bd997e6198</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a5fce697267d76e06aa2a5df326447638</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jp_jp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ab2813697b0fd4d06593730723f533e61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jp_jp_jp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aa38bbdb9772e52f2014785817b2a1d01</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jp_jv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a7f036bd04808300658137e390ecc2e3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>jp_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aa913a992dcfcd7b4c96c021e7ad72b52</anchor>
      <arglist>(jp_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jt_cp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a28ba77a9a01ae3925bf3614a7ed9c2d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jt_cv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ab1086dba9dae07969f4d430f122da124</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jt_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a8a62388eef49c43310b31caf0fdca7ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jt_jp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aaaf330a22bfb44e5108fe967ed2b75e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jt_jt_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a5e72cbf5f03c1d24b0c11d791c25e1bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jt_jv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a40f5b902baa2446952d5626dcdbe320d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>jt_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a4b2966454e2deba20286a7b65d3fc920</anchor>
      <arglist>(jt_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jv_cp_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a2b52b44b9c0f34df3a466abbdce6587e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jv_cv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a0bd1f40472e11c4e4df5412f18c7183e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>affb006fc83673b4fc7aa9e8b1c1eaede</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>jv_jv_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a8f899d5053c1300e08ea6a1ff4963afb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>jv_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a02a96c5dd27ab23c00bf69e159007026</anchor>
      <arglist>(jv_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>no_id_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a0f6d67e5f8bd5a5f849dcaa9b2059404</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>no_id_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>aa7453c41e9eb7fe5043d6f464a286de0</anchor>
      <arglist>(jp_iface_str, no_id_set)</arglist>
    </member>
    <member kind="variable">
      <type>std::set&lt; std::string &gt;</type>
      <name>no_id_set</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a22b47f4efa4330071496fff7b198c5f3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::ControllerInfo</type>
      <name>unknown_iface_info</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ae5fdcd99f26f5582e1417ecb560ae834</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::InterfaceResources</type>
      <name>unknown_iface_res</name>
      <anchorfile>franka__combinable__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>ad281a994a99138720fd015074e00c7f8</anchor>
      <arglist>(unknown_iface_str, joints_set)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>franka_combined_hw.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>franka__combined__hw_8cpp</filename>
    <includes id="franka__combined__hw_8h" name="franka_combined_hw.h" local="no" imported="no">franka_hw/franka_combined_hw.h</includes>
    <includes id="franka__combinable__hw_8h" name="franka_combinable_hw.h" local="no" imported="no">franka_hw/franka_combinable_hw.h</includes>
    <includes id="franka__hw_8h" name="franka_hw.h" local="no" imported="no">franka_hw/franka_hw.h</includes>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_combined_hw.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>franka__combined__hw_8h</filename>
    <includes id="franka__combinable__hw_8h" name="franka_combinable_hw.h" local="no" imported="no">franka_hw/franka_combinable_hw.h</includes>
    <class kind="class">franka_hw::FrankaCombinedHW</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_hw.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>franka__hw_8cpp</filename>
    <includes id="franka__hw_8h" name="franka_hw.h" local="no" imported="no">franka_hw/franka_hw.h</includes>
    <includes id="resource__helpers_8h" name="resource_helpers.h" local="no" imported="no">franka_hw/resource_helpers.h</includes>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_hw.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>franka__hw_8h</filename>
    <includes id="control__mode_8h" name="control_mode.h" local="no" imported="no">franka_hw/control_mode.h</includes>
    <includes id="franka__cartesian__command__interface_8h" name="franka_cartesian_command_interface.h" local="no" imported="no">franka_hw/franka_cartesian_command_interface.h</includes>
    <includes id="franka__model__interface_8h" name="franka_model_interface.h" local="no" imported="no">franka_hw/franka_model_interface.h</includes>
    <includes id="franka__state__interface_8h" name="franka_state_interface.h" local="no" imported="no">franka_hw/franka_state_interface.h</includes>
    <includes id="resource__helpers_8h" name="resource_helpers.h" local="no" imported="no">franka_hw/resource_helpers.h</includes>
    <class kind="struct">franka_hw::FrankaHW::CollisionConfig</class>
    <class kind="class">franka_hw::FrankaHW</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_hw_controller_switching_test.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/test/</path>
    <filename>franka__hw__controller__switching__test_8cpp</filename>
    <includes id="franka__cartesian__command__interface_8h" name="franka_cartesian_command_interface.h" local="no" imported="no">franka_hw/franka_cartesian_command_interface.h</includes>
    <includes id="franka__hw_8h" name="franka_hw.h" local="no" imported="no">franka_hw/franka_hw.h</includes>
    <class kind="class">franka_hw::ControllerConflict</class>
    <class kind="class">franka_hw::NoControllerConflict</class>
    <namespace>franka_hw</namespace>
    <member kind="function">
      <type>std::string</type>
      <name>arm_id</name>
      <anchorfile>franka__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a97553c590234556cdbf01cae18bb1946</anchor>
      <arglist>(&quot;panda&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>arm_id2</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5706412e36336e391e50eee091202ef7</anchor>
      <arglist>(&quot;panda2&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>cp_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab8c145cec22c3b383dc2194507a5923b</anchor>
      <arglist>(&quot;franka_hw::FrankaPoseCartesianInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>cv_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a28e0cc0a9ccb168233355882372d114c</anchor>
      <arglist>(&quot;franka_hw::FrankaVelocityCartesianInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>INSTANTIATE_TEST_CASE_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5e702eb37e70aaaa108dccc231abc796</anchor>
      <arglist>(nonAdmissibleRequests, ControllerConflict,::testing::Values(std::list&lt; ControllerInfo &gt;{no_id_info}, std::list&lt; ControllerInfo &gt;{unknown_iface_info}, std::list&lt; ControllerInfo &gt;{jt_jt_info}, std::list&lt; ControllerInfo &gt;{jp_jp_info}, std::list&lt; ControllerInfo &gt;{jp_jv_info}, std::list&lt; ControllerInfo &gt;{jp_cv_info}, std::list&lt; ControllerInfo &gt;{jp_cp_info}, std::list&lt; ControllerInfo &gt;{jv_jv_info}, std::list&lt; ControllerInfo &gt;{jv_cv_info}, std::list&lt; ControllerInfo &gt;{jv_cp_info}, std::list&lt; ControllerInfo &gt;{cv_cv_info}, std::list&lt; ControllerInfo &gt;{cv_cp_info}, std::list&lt; ControllerInfo &gt;{cp_cp_info}, std::list&lt; ControllerInfo &gt;{jp_jp_jp_info}))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>INSTANTIATE_TEST_CASE_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ae8977c3aaf9e33a8fca529aeb6b10107</anchor>
      <arglist>(admissibleRequests, NoControllerConflict,::testing::Values(std::list&lt; ControllerInfo &gt;{jp_info}, std::list&lt; ControllerInfo &gt;{jv_info}, std::list&lt; ControllerInfo &gt;{jt_info}, std::list&lt; ControllerInfo &gt;{cv_info}, std::list&lt; ControllerInfo &gt;{cp_info}, std::list&lt; ControllerInfo &gt;{jt_jp_info}, std::list&lt; ControllerInfo &gt;{jt_jv_info}, std::list&lt; ControllerInfo &gt;{jt_cv_info}, std::list&lt; ControllerInfo &gt;{jt_cp_info}, std::list&lt; ControllerInfo &gt;{cp_info, cp_arm2_info}))</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>jp_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1f5c02b34e6cbf9717ac8b347e95cff0</anchor>
      <arglist>(&quot;hardware_interface::PositionJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>jt_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>abb5fddf4cfb7bb6d014a464bdf20637d</anchor>
      <arglist>(&quot;hardware_interface::EffortJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>jv_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afdfcedc82936c37e646538f5daec6863</anchor>
      <arglist>(&quot;hardware_interface::VelocityJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>name_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a661b0555f62ed8d2f27eb8dad677dd3c</anchor>
      <arglist>(&quot;some_controller&quot;)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a6237d49ef4003915f60edc01dc505b2b</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1a874b95d0db833effc4fe2ede969981</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1, const hardware_interface::InterfaceResources &amp;resource2)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aee692ac30c65dfe93ff8b56e2f5fc4a4</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1, const hardware_interface::InterfaceResources &amp;resource2, const hardware_interface::InterfaceResources &amp;resource3)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a791702aa11b1935323c122e3731d507b</anchor>
      <arglist>(ControllerConflict, ConflictsForIncompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aede67f93f509384729a177d1da91e75b</anchor>
      <arglist>(NoControllerConflict, DoesNotConflictForCompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a43b7e64c2fd73be472df1d5877b20163</anchor>
      <arglist>(NoControllerConflict, CanPrepareSwitchForCompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>type_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3e687643b888443524a2bfaf5b2fdb20</anchor>
      <arglist>(&quot;SomeControllerClass&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>unknown_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2ae22461ba2b548829424a776ecd76d6</anchor>
      <arglist>(&quot;hardware_interface::UnknownInterface&quot;)</arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>cartesian_arm2_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aabd78781386e69be18863c9415882d4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>cartesian_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8bce2f19361745b34687b20620ed337b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cp_arm2_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a87feab658a2bfd2fb5efceb0a57fed22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>cp_arm2_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3a4c06e245906d0256ed407b194d43fe</anchor>
      <arglist>(cp_iface_str, cartesian_arm2_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cp_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa48635ae6ca4cb3bc20ea60af81ec50d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ae96f4239963b87c3077808ec35c97f98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>cp_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab838db9ba062783fde0eb468fa1a2ce4</anchor>
      <arglist>(cp_iface_str, cartesian_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cv_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a81e36357be547a24f035e6df25ba97ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cv_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>abaf67cfceb951c925c1a39efda0d8937</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5e729950054c77f4da7c4d011376e274</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>cv_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a82e4cfc4f681780ebabdaf9f3e7795f7</anchor>
      <arglist>(cv_iface_str, cartesian_set)</arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; std::string, 7 &gt;</type>
      <name>joint_names</name>
      <anchorfile>franka__hw__controller__switching__test_8cpp.html</anchorfile>
      <anchor>a1089b44a137f22cd44c3b8fc1d47d002</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>joints_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a83426522b62cfe36647daf5e5c78fc2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa18b50c0eb34a6b2847575bff91201b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a247afdbb3de0d74392679383449e49b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a59b41d7e12e4a8d3cfb3aae23ff9b188</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a9cf52e7e12ee0964c57463accc9eee83</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_jp_jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a7c757500387875c0f5d37ce1fadf6664</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1be6bd13682f4b99a62f559d20d54527</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>jp_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ae92a6aef719c2649465d5e4b828162a4</anchor>
      <arglist>(jp_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ac598a41c36a27d3bec2755cc791dbcab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3f0fe3ebb415ba0570da357b0821dbeb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2221accd14f5108437b9b6376e4b52fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a942a04ffe8c9f853544ada5447511095</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_jt_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afd60eb1d49dc483e8807719090e5021c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a47c74e7c73f20356a8f19747f47b41d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>jt_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ac9a99703d0a1cd1a918760faad6dc3e3</anchor>
      <arglist>(jt_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a26e15f246e1c81ecb8ae49ace62797e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a989d3597fb466f48c49bc3b995a80639</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a0555a897f16be7c36fd07d01c2b0c1bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ac662b9453b619d63a5b824c036fa34dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>jv_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a11e89a81f46b9671a78429c7562bf909</anchor>
      <arglist>(jv_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>no_id_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a283c03300c54637ae2313f6310c8dd4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>no_id_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a48a4c909eb0e2f0a64a7af77db45eab4</anchor>
      <arglist>(jp_iface_str, no_id_set)</arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>no_id_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af2a1c82917c92f005c5c055b6fc46c03</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>unknown_iface_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a86e912651126367fa0a4b804b685e352</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>unknown_iface_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af2c783171b4716ab737099b961552fe8</anchor>
      <arglist>(unknown_iface_str, joints_set)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>franka_hw_interfaces_test.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/test/</path>
    <filename>franka__hw__interfaces__test_8cpp</filename>
    <includes id="franka__cartesian__command__interface_8h" name="franka_cartesian_command_interface.h" local="no" imported="no">franka_hw/franka_cartesian_command_interface.h</includes>
    <includes id="franka__hw_8h" name="franka_hw.h" local="no" imported="no">franka_hw/franka_hw.h</includes>
    <includes id="franka__model__interface_8h" name="franka_model_interface.h" local="no" imported="no">franka_hw/franka_model_interface.h</includes>
    <namespace>franka_hw</namespace>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a95ef687eb313d4a66e7ca43193911e6b</anchor>
      <arglist>(FrankaHWTests, InterfacesWorkForReadAndCommand)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a64f200e044816265bff97bdbb6dd1130</anchor>
      <arglist>(FrankaHWTests, JointLimitInterfacesEnforceLimitsOnCommands)</arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>arm_id</name>
      <anchorfile>franka__hw__interfaces__test_8cpp.html</anchorfile>
      <anchor>abf48872c48c49754d9ec91950e4f37a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; std::string, 7 &gt;</type>
      <name>joint_names</name>
      <anchorfile>franka__hw__interfaces__test_8cpp.html</anchorfile>
      <anchor>a1089b44a137f22cd44c3b8fc1d47d002</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>franka_model_interface.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>franka__model__interface_8h</filename>
    <class kind="class">franka_hw::FrankaModelHandle</class>
    <class kind="class">franka_hw::FrankaModelInterface</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>franka_state_interface.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>franka__state__interface_8h</filename>
    <class kind="class">franka_hw::FrankaStateHandle</class>
    <class kind="class">franka_hw::FrankaStateInterface</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>main.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/test/</path>
    <filename>main_8cpp</filename>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>mainpage.dox</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/</path>
    <filename>mainpage_8dox</filename>
  </compound>
  <compound kind="file">
    <name>resource_helpers.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>resource__helpers_8cpp</filename>
    <includes id="resource__helpers_8h" name="resource_helpers.h" local="no" imported="no">franka_hw/resource_helpers.h</includes>
    <namespace>franka_hw</namespace>
    <member kind="function">
      <type>bool</type>
      <name>findArmIdInResourceId</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa86d54ddd446acb5a2101bfcc944b2c8</anchor>
      <arglist>(const std::string &amp;resource_id, std::string *arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getArmClaimedMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af08f089686416ffb7904fbe86f19b8a9</anchor>
      <arglist>(ResourceWithClaimsMap &amp;resource_map, ArmClaimedMap &amp;arm_claim_map)</arglist>
    </member>
    <member kind="function">
      <type>ControlMode</type>
      <name>getControlMode</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a21fc3cb90700f7fc2b9b9a93c2d40d0a</anchor>
      <arglist>(const std::string &amp;arm_id, ArmClaimedMap &amp;arm_claim_map)</arglist>
    </member>
    <member kind="function">
      <type>ResourceWithClaimsMap</type>
      <name>getResourceMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a6c621829dd30c8ff939de6ae0861966d</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflictingJointAndCartesianClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8210bdfc8b13c520c7ae0aa4996519c7</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflictingMultiClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a46f981cb7be9b444e34a67448f1a7ff5</anchor>
      <arglist>(const ResourceWithClaimsMap &amp;resource_map)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasTrajectoryClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afe0c7328e4572d22118918bf2c332127</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>partiallyClaimsArmJoints</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a57277d4800c9d67de7a506370332af77</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>resource_helpers.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>resource__helpers_8h</filename>
    <includes id="control__mode_8h" name="control_mode.h" local="no" imported="no">franka_hw/control_mode.h</includes>
    <class kind="struct">franka_hw::ResourceClaims</class>
    <namespace>franka_hw</namespace>
    <member kind="typedef">
      <type>std::map&lt; std::string, ResourceClaims &gt;</type>
      <name>ArmClaimedMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a9b9c672b3e064953e816024fc2f9cf0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::map&lt; std::string, std::vector&lt; std::vector&lt; std::string &gt;&gt;&gt;</type>
      <name>ResourceWithClaimsMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1929e38491272fe6fd978483f293a35a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>findArmIdInResourceId</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa86d54ddd446acb5a2101bfcc944b2c8</anchor>
      <arglist>(const std::string &amp;resource_id, std::string *arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getArmClaimedMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af08f089686416ffb7904fbe86f19b8a9</anchor>
      <arglist>(ResourceWithClaimsMap &amp;resource_map, ArmClaimedMap &amp;arm_claim_map)</arglist>
    </member>
    <member kind="function">
      <type>ControlMode</type>
      <name>getControlMode</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a21fc3cb90700f7fc2b9b9a93c2d40d0a</anchor>
      <arglist>(const std::string &amp;arm_id, ArmClaimedMap &amp;arm_claim_map)</arglist>
    </member>
    <member kind="function">
      <type>ResourceWithClaimsMap</type>
      <name>getResourceMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a6c621829dd30c8ff939de6ae0861966d</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflictingJointAndCartesianClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8210bdfc8b13c520c7ae0aa4996519c7</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflictingMultiClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a46f981cb7be9b444e34a67448f1a7ff5</anchor>
      <arglist>(const ResourceWithClaimsMap &amp;resource_map)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasTrajectoryClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afe0c7328e4572d22118918bf2c332127</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>partiallyClaimsArmJoints</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a57277d4800c9d67de7a506370332af77</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>services.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>services_8cpp</filename>
    <includes id="services_8h" name="services.h" local="no" imported="no">franka_hw/services.h</includes>
    <namespace>franka_hw</namespace>
    <member kind="function">
      <type>void</type>
      <name>setCartesianImpedance</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aaaecce4d4097b36e0653a6debe6ac3ca</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetCartesianImpedance::Request &amp;req, franka_msgs::SetCartesianImpedance::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setEEFrame</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3ea221bbc5ef9a51c37fa81ca8012a78</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetEEFrame::Request &amp;req, franka_msgs::SetEEFrame::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setForceTorqueCollisionBehavior</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5bc3c1e677412ddbc5399e843716a637</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetForceTorqueCollisionBehavior::Request &amp;req, franka_msgs::SetForceTorqueCollisionBehavior::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFullCollisionBehavior</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>affe928891aab34a08445e5fe33bbdb68</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetFullCollisionBehavior::Request &amp;req, franka_msgs::SetFullCollisionBehavior::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJointImpedance</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a11044076da3c85a0b7cf255db32ca907</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetJointImpedance::Request &amp;req, franka_msgs::SetJointImpedance::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setKFrame</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a920ea906604afce622214bb82c379e72</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetKFrame::Request &amp;req, franka_msgs::SetKFrame::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setLoad</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aaf86c3d55190a954ba8930c997d60613</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetLoad::Request &amp;req, franka_msgs::SetLoad::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupServices</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab9e19d73067968251ddb61b532966809</anchor>
      <arglist>(franka::Robot &amp;robot, ros::NodeHandle &amp;node_handle, ServiceContainer &amp;services)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>services.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>services_8h</filename>
    <class kind="class">franka_hw::ServiceContainer</class>
    <namespace>franka_hw</namespace>
    <member kind="function">
      <type>ros::ServiceServer</type>
      <name>advertiseService</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af2b4d9a0fcfedaf4c3b64b507908de02</anchor>
      <arglist>(ros::NodeHandle &amp;node_handle, const std::string &amp;name, std::function&lt; void(typename T::Request &amp;, typename T::Response &amp;)&gt; handler)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCartesianImpedance</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aaaecce4d4097b36e0653a6debe6ac3ca</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetCartesianImpedance::Request &amp;req, franka_msgs::SetCartesianImpedance::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setEEFrame</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3ea221bbc5ef9a51c37fa81ca8012a78</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetEEFrame::Request &amp;req, franka_msgs::SetEEFrame::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setForceTorqueCollisionBehavior</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5bc3c1e677412ddbc5399e843716a637</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetForceTorqueCollisionBehavior::Request &amp;req, franka_msgs::SetForceTorqueCollisionBehavior::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFullCollisionBehavior</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>affe928891aab34a08445e5fe33bbdb68</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetFullCollisionBehavior::Request &amp;req, franka_msgs::SetFullCollisionBehavior::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJointImpedance</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a11044076da3c85a0b7cf255db32ca907</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetJointImpedance::Request &amp;req, franka_msgs::SetJointImpedance::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setKFrame</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a920ea906604afce622214bb82c379e72</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetKFrame::Request &amp;req, franka_msgs::SetKFrame::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setLoad</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aaf86c3d55190a954ba8930c997d60613</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetLoad::Request &amp;req, franka_msgs::SetLoad::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupServices</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab9e19d73067968251ddb61b532966809</anchor>
      <arglist>(franka::Robot &amp;robot, ros::NodeHandle &amp;node_handle, ServiceContainer &amp;services)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>trigger_rate.cpp</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/src/</path>
    <filename>trigger__rate_8cpp</filename>
    <includes id="trigger__rate_8h" name="trigger_rate.h" local="no" imported="no">franka_hw/trigger_rate.h</includes>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="file">
    <name>trigger_rate.h</name>
    <path>/tmp/ws/src/franka_ros/franka_hw/include/franka_hw/</path>
    <filename>trigger__rate_8h</filename>
    <class kind="class">franka_hw::TriggerRate</class>
    <namespace>franka_hw</namespace>
  </compound>
  <compound kind="struct">
    <name>franka_hw::FrankaHW::CollisionConfig</name>
    <filename>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</filename>
    <member kind="variable">
      <type>std::array&lt; double, 6 &gt;</type>
      <name>lower_force_thresholds_acceleration</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a9cf4577316a370d080ade0d1e6b73725</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 6 &gt;</type>
      <name>lower_force_thresholds_nominal</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a5d0ad10f653b9a6e9f3d3d49bf6fb580</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>lower_torque_thresholds_acceleration</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a60ceadf11bcd44f72235c9fa34662a46</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>lower_torque_thresholds_nominal</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a7acd8aaf8efab36ef3cde2ce650c9d72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 6 &gt;</type>
      <name>upper_force_thresholds_acceleration</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a0f47847f51dde3ad9788b444f8a4c5a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 6 &gt;</type>
      <name>upper_force_thresholds_nominal</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>aa2e0d4ca276032df2e767bbe4b8bb77d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>upper_torque_thresholds_acceleration</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a4934137b192b2c822ffe2ef812d26a6b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>upper_torque_thresholds_nominal</name>
      <anchorfile>structfranka__hw_1_1FrankaHW_1_1CollisionConfig.html</anchorfile>
      <anchor>a0597453d1212e5cd21db62ce16e74612</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>CombinableControllerConflict</name>
    <filename>classCombinableControllerConflict.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>callCheckForConflict</name>
      <anchorfile>classCombinableControllerConflict.html</anchorfile>
      <anchor>a86b146319e48d003605d8a04ed618b7b</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>callPrepareSwitch</name>
      <anchorfile>classCombinableControllerConflict.html</anchorfile>
      <anchor>a1bca3dab20d7f42cd928fd8db61ea63d</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CombinableControllerConflict</name>
      <anchorfile>classCombinableControllerConflict.html</anchorfile>
      <anchor>a406936e6001156a4441b185785b8fb8f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; franka_hw::FrankaCombinableHW &gt;</type>
      <name>robot_</name>
      <anchorfile>classCombinableControllerConflict.html</anchorfile>
      <anchor>a26025852e64e06ffc8ea0424ca3d9792</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>CombinableNoControllerConflict</name>
    <filename>classCombinableNoControllerConflict.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>callCheckForConflict</name>
      <anchorfile>classCombinableNoControllerConflict.html</anchorfile>
      <anchor>a75623ba7fc4abeb1a134a94b519323ef</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>callPrepareSwitch</name>
      <anchorfile>classCombinableNoControllerConflict.html</anchorfile>
      <anchor>a0b7dc8012723511cc9eff4e04ba0c260</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CombinableNoControllerConflict</name>
      <anchorfile>classCombinableNoControllerConflict.html</anchorfile>
      <anchor>a582e27dea9fb58de3c027ce0725ea935</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; franka_hw::FrankaCombinableHW &gt;</type>
      <name>robot_</name>
      <anchorfile>classCombinableNoControllerConflict.html</anchorfile>
      <anchor>a7e92043e8843e677dd43a1eee3fc3fc5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::ControllerConflict</name>
    <filename>classfranka__hw_1_1ControllerConflict.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>callCheckForConflict</name>
      <anchorfile>classfranka__hw_1_1ControllerConflict.html</anchorfile>
      <anchor>a1866073ca8824484b91d31b39aaf4e65</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>callPrepareSwitch</name>
      <anchorfile>classfranka__hw_1_1ControllerConflict.html</anchorfile>
      <anchor>a5e0aca81981a150889db11c44a0d8a59</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ControllerConflict</name>
      <anchorfile>classfranka__hw_1_1ControllerConflict.html</anchorfile>
      <anchor>ab9ba88537c6528b75eed5987cd13266a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; FrankaHW &gt;</type>
      <name>robot_</name>
      <anchorfile>classfranka__hw_1_1ControllerConflict.html</anchorfile>
      <anchor>a5e1c92b1b629f25d47c84f8e5c26fa18</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaCartesianPoseHandle</name>
    <filename>classfranka__hw_1_1FrankaCartesianPoseHandle.html</filename>
    <base>franka_hw::FrankaStateHandle</base>
    <member kind="function">
      <type></type>
      <name>FrankaCartesianPoseHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>ad1813fa7937997edc506dc95dbf35b40</anchor>
      <arglist>()=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaCartesianPoseHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>a98190bd982c26fdf1d90fbec701ffb06</anchor>
      <arglist>(const FrankaStateHandle &amp;franka_state_handle, std::array&lt; double, 16 &gt; &amp;command, std::array&lt; double, 2 &gt; &amp;elbow)</arglist>
    </member>
    <member kind="function">
      <type>const std::array&lt; double, 16 &gt; &amp;</type>
      <name>getCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>a844b5a45c8a54f6930c23d0161fdc30d</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>a37b091755da28b088892e79c984e0634</anchor>
      <arglist>(const std::array&lt; double, 16 &gt; &amp;command) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>a0a10bbd38414170da45412dc803cb428</anchor>
      <arglist>(const std::array&lt; double, 16 &gt; &amp;command, const std::array&lt; double, 2 &gt; &amp;elbow) noexcept</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::array&lt; double, 16 &gt; *</type>
      <name>command_</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>a241d690f13da4ef26f80e893072e9584</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::array&lt; double, 2 &gt; *</type>
      <name>elbow_</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianPoseHandle.html</anchorfile>
      <anchor>a24d9028a55a8a3bae39c9972c21e009f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaCartesianVelocityHandle</name>
    <filename>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</filename>
    <base>franka_hw::FrankaStateHandle</base>
    <member kind="function">
      <type></type>
      <name>FrankaCartesianVelocityHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>adf7bcf3b81150001bbed8799629b9f60</anchor>
      <arglist>()=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaCartesianVelocityHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>ab58f21f67fbba0bc10a2e32e98c3e5ef</anchor>
      <arglist>(const FrankaStateHandle &amp;franka_state_handle, std::array&lt; double, 6 &gt; &amp;command, std::array&lt; double, 2 &gt; &amp;elbow)</arglist>
    </member>
    <member kind="function">
      <type>const std::array&lt; double, 6 &gt; &amp;</type>
      <name>getCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>a64a89a403d36122a8ea553600ea94894</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>a8087142ef5b8fedeae8930f01dfd4a07</anchor>
      <arglist>(std::array&lt; double, 6 &gt; &amp;command) noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>aaf139dd23a7d9784a7cc74c6eaca4b9c</anchor>
      <arglist>(const std::array&lt; double, 6 &gt; &amp;command, const std::array&lt; double, 2 &gt; &amp;elbow) noexcept</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::array&lt; double, 6 &gt; *</type>
      <name>command_</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>a625da5bae348f94d3fc1fbc09a432f40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::array&lt; double, 2 &gt; *</type>
      <name>elbow_</name>
      <anchorfile>classfranka__hw_1_1FrankaCartesianVelocityHandle.html</anchorfile>
      <anchor>a94e376a17a17c473b9ad4168bcbc5e61</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaCombinableHW</name>
    <filename>classfranka__hw_1_1FrankaCombinableHW.html</filename>
    <base>franka_hw::FrankaHW</base>
    <member kind="function">
      <type>bool</type>
      <name>checkForConflict</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>aa2a84c1da5161ddb38e33f112c8850a7</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;info) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>control</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a040bb29a5f32ee6cdde0d3b4871c65d3</anchor>
      <arglist>(const std::function&lt; bool(const ros::Time &amp;, const ros::Duration &amp;)&gt; &amp;ros_callback=[](const ros::Time &amp;, const ros::Duration &amp;){return true;}) const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>controllerNeedsReset</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>aa5b8428ab18cdfe26154fe3b10447562</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaCombinableHW</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>aac256f1d5ce4757f146c468cb841153a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getArmID</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a31d0a4ffa87fc3a480707cb8ea813fcc</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasError</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a1698d87cf7f2312301f43366a1f13cc2</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initROSInterfaces</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a1e89406fc542ad7fb45ff0c1402c61c3</anchor>
      <arglist>(ros::NodeHandle &amp;robot_hw_nh) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a44e3093eb876aef71423c4f5142c7ed8</anchor>
      <arglist>(const ros::Time &amp;, const ros::Duration &amp;) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetError</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a1699fa199d607af6f70000ebe6796da8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>triggerError</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a48c2df229bf691b9e760dd6b557fb5ef</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>ab96f9d6af06fbd7569d8a059d1bfbdd4</anchor>
      <arglist>(const ros::Time &amp;, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>controlLoop</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>ab2598beb31641841cb8615f22facdcb9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>initRobot</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a481f7798501f60de723542e86e2c74d3</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="private">
      <type>T</type>
      <name>libfrankaUpdateCallback</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a4d0e033ca9b50ec610c449aa84e8ac79</anchor>
      <arglist>(const T &amp;command, const franka::RobotState &amp;robot_state, franka::Duration time_step)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publishErrorState</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a2633e37235878168239e777cf068a054</anchor>
      <arglist>(bool error)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>setRunFunction</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>ab18c130421dcb30b22deea12c189eaaa</anchor>
      <arglist>(const ControlMode &amp;requested_control_mode, bool limit_rate, double cutoff_frequency, franka::ControllerMode internal_controller) override</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>setupServicesAndActionServers</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>aed40e57817f63956f58e42a33f9ccfbc</anchor>
      <arglist>(ros::NodeHandle &amp;node_handle)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; std::thread &gt;</type>
      <name>control_loop_thread_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a1a5bcd980c5cc5bf1c2e7674520e1f1a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_bool</type>
      <name>controller_needs_reset_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>ad48a0085dd38d1009d98a7ed2e0a7fe5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_bool</type>
      <name>error_recovered_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a049992b895873ff843727e45b510d901</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_bool</type>
      <name>has_error_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a7472c2003b4463328483d3d68f895570</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>has_error_pub_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a44e0fb5e362a0e6317386d02ad5838e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; actionlib::SimpleActionServer&lt; franka_msgs::ErrorRecoveryAction &gt; &gt;</type>
      <name>recovery_action_server_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a7eb9e35a86084099136e0127a974a3c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ServiceContainer</type>
      <name>services_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinableHW.html</anchorfile>
      <anchor>a333a9f776baf6e5bda9fa1575281fa55</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaCombinedHW</name>
    <filename>classfranka__hw_1_1FrankaCombinedHW.html</filename>
    <base>combined_robot_hw::CombinedRobotHW</base>
    <member kind="function">
      <type>bool</type>
      <name>controllerNeedsReset</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>aca9156d9a9d557288db9d1d496ff8306</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaCombinedHW</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>aee7f9b585d489d9ecebb55df696c1093</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>ae790d07b59ec430f743994b8d4119178</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>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>a417e3cc255bcf435b68dfce173f8ba3e</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~FrankaCombinedHW</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>a58525e36e8e1e954b89b8b56de6fd7f3</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; actionlib::SimpleActionServer&lt; franka_msgs::ErrorRecoveryAction &gt; &gt;</type>
      <name>combined_recovery_action_server_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>a179555fe1be70646ff561faca11f5c3e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>handleError</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>a8515c172594598b15780ffabe01ed629</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>hasError</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>ac523134eef64b099b4facb67d0d4e222</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>triggerError</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>a5519852bb5fac436098fceca7f09c03a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>is_recovering_</name>
      <anchorfile>classfranka__hw_1_1FrankaCombinedHW.html</anchorfile>
      <anchor>abfc7e2cec16c87f51e2ef58c7a4a6378</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaHW</name>
    <filename>classfranka__hw_1_1FrankaHW.html</filename>
    <base>hardware_interface::RobotHW</base>
    <class kind="struct">franka_hw::FrankaHW::CollisionConfig</class>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>checkForConflict</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a73e581982455acacca51d81e4676e9a6</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;info) const override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>checkJointLimits</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a120261c13cfa7f508061dd5c81d080e5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>control</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a75bd1438ffbfa54ce3ff6a4364df1cc0</anchor>
      <arglist>(const std::function&lt; bool(const ros::Time &amp;, const ros::Duration &amp;)&gt; &amp;ros_callback) const </arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>controllerActive</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a8fcc0a82b0c13cdbd1de7fea38c3ecc3</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>doSwitch</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ab29812769471d212a30dac6c19c12884</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>enforceLimits</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>afb0f49fec764be80e4c89e29706a4936</anchor>
      <arglist>(const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaHW</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>abca52ce19bfa28709efcfe8d0d6404b8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual std::array&lt; double, 7 &gt;</type>
      <name>getJointEffortCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ae8063f56d7e70e0f7537fe1d522f8f2f</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual std::array&lt; double, 7 &gt;</type>
      <name>getJointPositionCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a80bc3da19575532ab827bc9c62f91bed</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual std::array&lt; double, 7 &gt;</type>
      <name>getJointVelocityCommand</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a93067ec2c8ba530188ee70f024ddf100</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>init</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a0323c9d759de8d6ab8fae4bf574e4a48</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;robot_hw_nh) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>initParameters</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a55d479321248ff8bcf80fc73ebb95d16</anchor>
      <arglist>(ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>initROSInterfaces</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ae2775ed9705ec3d1d3e58aea2ce21bde</anchor>
      <arglist>(ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>prepareSwitch</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ab73b14d5f8481cd3cb3d670aeae2de06</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>read</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a8494bbab229cd16bc9bb7c994b01684d</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>reset</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aaa0bc020099cb6dba41728252d0c7df4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual franka::Robot &amp;</type>
      <name>robot</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a0f153739a670bc72d422cd1cb2df1841</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>setupParameterCallbacks</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a064557fa9f0f7cb8e7cfab27eae03eb8</anchor>
      <arglist>(ros::NodeHandle &amp;robot_hw_nh)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>update</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ad8f348151b93a7eebc9ef45a702a29ee</anchor>
      <arglist>(const franka::RobotState &amp;robot_state)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>write</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>afcdec49ec8bb07c48ed3d77ea2cd4e46</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~FrankaHW</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>acf22eb1b80e3ec615173bc6efa743957</anchor>
      <arglist>() override=default</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>commandHasNaN</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a673cc620d6acb15625f6403d96c75f4e</anchor>
      <arglist>(const franka::Torques &amp;command)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>commandHasNaN</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a32f7dda7266b381a4c779993b4d0185f</anchor>
      <arglist>(const franka::JointPositions &amp;command)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>commandHasNaN</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a56bc8a84589c605327e9bbcb64809fe1</anchor>
      <arglist>(const franka::JointVelocities &amp;command)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>commandHasNaN</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aeec15cdb4cd9edb0976e96c63b62f93c</anchor>
      <arglist>(const franka::CartesianPose &amp;command)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>commandHasNaN</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ac408df87375bb8cfde94f4e5bf4a16c2</anchor>
      <arglist>(const franka::CartesianVelocities &amp;command)</arglist>
    </member>
    <member kind="typedef" protection="protected">
      <type>std::function&lt; bool(const franka::RobotState &amp;, franka::Duration)&gt;</type>
      <name>Callback</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ac576bd5140a03864888c68519daa5aa4</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>T</type>
      <name>controlCallback</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a4014fbce5bae60ee693505775ecee499</anchor>
      <arglist>(const T &amp;command, Callback ros_callback, const franka::RobotState &amp;robot_state, franka::Duration time_step)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>initRobot</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ad211498ff17ff1dfb9609a2fcf76d14a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>setRunFunction</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a910bb11c6a3b14f027ad56dcf0d983c7</anchor>
      <arglist>(const ControlMode &amp;requested_control_mode, bool limit_rate, double cutoff_frequency, franka::ControllerMode internal_controller)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setupFrankaCartesianPoseInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a16128e9789d933e1fcb3f9fc6e336eb1</anchor>
      <arglist>(franka::CartesianPose &amp;pose_cartesian_command)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setupFrankaCartesianVelocityInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a60e7f8225648735e054d8b022efee557</anchor>
      <arglist>(franka::CartesianVelocities &amp;velocity_cartesian_command)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setupFrankaModelInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a4d738b3573b7ab159209b7e2e0d4a802</anchor>
      <arglist>(franka::RobotState &amp;robot_state)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setupFrankaStateInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a4dbc96ed57e3054db31bbab11a61afec</anchor>
      <arglist>(franka::RobotState &amp;robot_state)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setupJointCommandInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a34e707d6e834267f1ad256da5cce0713</anchor>
      <arglist>(std::array&lt; double, 7 &gt; &amp;command, franka::RobotState &amp;state, bool use_q_d, T &amp;interface)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>setupJointStateInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ab216faba5316b7ca1680e9af5d313216</anchor>
      <arglist>(franka::RobotState &amp;robot_state)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>setupLimitInterface</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a3a476a1de741f79695f0b64d2580e6cf</anchor>
      <arglist>(joint_limits_interface::JointLimitsInterface&lt; T &gt; &amp;limit_interface, hardware_interface::JointCommandInterface &amp;command_interface)</arglist>
    </member>
    <member kind="function" protection="protected" static="yes">
      <type>static bool</type>
      <name>arrayHasNaN</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a6adcd4d0cf60dd255bfea0d80791fcc7</anchor>
      <arglist>(const std::array&lt; double, size &gt; &amp;array)</arglist>
    </member>
    <member kind="function" protection="protected" static="yes">
      <type>static std::vector&lt; double &gt;</type>
      <name>getCollisionThresholds</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a2f811d66ca087ad8ca387f7767e1df5f</anchor>
      <arglist>(const std::string &amp;name, ros::NodeHandle &amp;robot_hw_nh, const std::vector&lt; double &gt; &amp;defaults)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>arm_id_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a97b5be24f33b2253a637d74ebdd66fa0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>CollisionConfig</type>
      <name>collision_config_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>adc6ac201c82bfe71c0309cd32e361cdf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::atomic_bool</type>
      <name>controller_active_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aa207ee4ba133fdb1b3887c9639b47b40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ControlMode</type>
      <name>current_control_mode_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a4eb4ed0043449742cadefa5809d9c6f0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::Torques</type>
      <name>effort_joint_command_libfranka_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ab481fa379d12af7339a2fc84a5351090</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::Torques</type>
      <name>effort_joint_command_ros_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>abcd805f67e92fb88bd8b218f65a7c911</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::EffortJointInterface</type>
      <name>effort_joint_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a5f695d0eb767c02397372cb5536db00c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::EffortJointSoftLimitsInterface</type>
      <name>effort_joint_limit_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a3545598adde92a2cd78af121bf40f24b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>FrankaModelInterface</type>
      <name>franka_model_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a8480f1a38f8a01fb10670f9d300ed037</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>FrankaPoseCartesianInterface</type>
      <name>franka_pose_cartesian_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a7086c73e105997fe775d873ece1a177b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>FrankaStateInterface</type>
      <name>franka_state_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a2b197ae6181a03bc25875a7e5231d6c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>FrankaVelocityCartesianInterface</type>
      <name>franka_velocity_cartesian_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>af8d77bce759ddf1db22a22a996181ba9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::function&lt; double()&gt;</type>
      <name>get_cutoff_frequency_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ada3ea355cd85b06247ee9def60485240</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::function&lt; franka::ControllerMode()&gt;</type>
      <name>get_internal_controller_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a0e2aab0e386f9ed57345cd56f02643ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::function&lt; bool()&gt;</type>
      <name>get_limit_rate_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a0d26d3a30e63e83e19cad138a9811fc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>initialized_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a08acb4bfdbe78711dc466e74ee56a61d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>joint_limit_warning_threshold_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a3881414ad06c12e6f747c7054fbc1092</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::array&lt; std::string, 7 &gt;</type>
      <name>joint_names_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a209e8f3424efe0fd05725be609d7205a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::JointStateInterface</type>
      <name>joint_state_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a71a3f8c221792e3d833ac3d50e61a8fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>libfranka_cmd_mutex_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a01434e76a69afa29f009de2aacd5a0c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>libfranka_state_mutex_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>af2de5dd88993549670b2345fbf70c539</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; franka::Model &gt;</type>
      <name>model_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a3f4f13a4df9617f50df10ae4e4d6c536</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::CartesianPose</type>
      <name>pose_cartesian_command_libfranka_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a4bcf6ae0cb54478065f7bdb4cebc3684</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::CartesianPose</type>
      <name>pose_cartesian_command_ros_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a9d5962dbb07400fffe3a93aa51a6ba74</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::JointPositions</type>
      <name>position_joint_command_libfranka_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a7fe1fb5677162020a5a68dbf33dcf2a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::JointPositions</type>
      <name>position_joint_command_ros_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a1d65810b55198d9691b25bf3c6ecbc00</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::PositionJointInterface</type>
      <name>position_joint_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aed81f869c0785e8257c9b21ce3a54f48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::PositionJointSoftLimitsInterface</type>
      <name>position_joint_limit_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a0453d8d00992ae08ddd47083a21abcc8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::RealtimeConfig</type>
      <name>realtime_config_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a193b40f1d42ff3f1b805bbef4a9c2749</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; franka::Robot &gt;</type>
      <name>robot_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ad92d666e7ded9c9c24db7418d0fedb88</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>robot_ip_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a88a3373d4deb835fd0a825c14c31b073</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::RobotState</type>
      <name>robot_state_libfranka_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>afe80f4d54e4f6aa47534ebbcb2382ecb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::RobotState</type>
      <name>robot_state_ros_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aa87c69ba0fb5281e2bbe1ad819fb02b5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>ros_cmd_mutex_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aa23bd816eecbd232ca2df39dc5e3f8b4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::mutex</type>
      <name>ros_state_mutex_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a80e2b2029bc0a45bb28594435097434d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::function&lt; void(franka::Robot &amp;, Callback)&gt;</type>
      <name>run_function_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ab53d17aecdb62936defdcde99e9b88b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>urdf::Model</type>
      <name>urdf_model_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ae6965976c623e2ea3c460611d113858b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::CartesianVelocities</type>
      <name>velocity_cartesian_command_libfranka_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a000ca0dd3d505f095fa9ee17967b7563</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::CartesianVelocities</type>
      <name>velocity_cartesian_command_ros_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>ac84657c0511e75821c08a6ea51b51a86</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::JointVelocities</type>
      <name>velocity_joint_command_libfranka_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a97615d220402aec7723b2a0edeb52043</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>franka::JointVelocities</type>
      <name>velocity_joint_command_ros_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a2ce1c75e2e75aa476df6e239b9092b11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>hardware_interface::VelocityJointInterface</type>
      <name>velocity_joint_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>aae00e8f592019644703aaebcc8b6d8db</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>joint_limits_interface::VelocityJointSoftLimitsInterface</type>
      <name>velocity_joint_limit_interface_</name>
      <anchorfile>classfranka__hw_1_1FrankaHW.html</anchorfile>
      <anchor>a4e85e4440436f97a169553d281049e4e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaModelHandle</name>
    <filename>classfranka__hw_1_1FrankaModelHandle.html</filename>
    <member kind="function">
      <type></type>
      <name>FrankaModelHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>ac334b1156574e6a4b1d4128cc23af6af</anchor>
      <arglist>()=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaModelHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a814fbbc91e975d22ebd6e156e52944bd</anchor>
      <arglist>(const std::string &amp;name, franka::Model &amp;model, franka::RobotState &amp;robot_state)</arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 42 &gt;</type>
      <name>getBodyJacobian</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a0cc2601dd9ceb4a23ea430aa6c979368</anchor>
      <arglist>(const franka::Frame &amp;frame) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 42 &gt;</type>
      <name>getBodyJacobian</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a80a1e7c7c9b70a6f8a390ae4c6d0979f</anchor>
      <arglist>(const franka::Frame &amp;frame, const std::array&lt; double, 7 &gt; &amp;q, const std::array&lt; double, 16 &gt; &amp;F_T_EE, const std::array&lt; double, 16 &gt; &amp;EE_T_K) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>getCoriolis</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a896d08a05529eb694b76ba8edee99fec</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>getCoriolis</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a5e9b69ccb2409b035ae76a235c79f379</anchor>
      <arglist>(const std::array&lt; double, 7 &gt; &amp;q, const std::array&lt; double, 7 &gt; &amp;dq, const std::array&lt; double, 9 &gt; &amp;total_inertia, double total_mass, const std::array&lt; double, 3 &gt; &amp;F_x_Ctotal) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>getGravity</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a28152e74ae358e4a12017a5438d37a33</anchor>
      <arglist>(const std::array&lt; double, 3 &gt; &amp;gravity_earth={{0., 0.,-9.81}}) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 7 &gt;</type>
      <name>getGravity</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>ad95ea09e977f7fd6d2e0a527ba62221f</anchor>
      <arglist>(const std::array&lt; double, 7 &gt; &amp;q, double total_mass, const std::array&lt; double, 3 &gt; &amp;F_x_Ctotal, const std::array&lt; double, 3 &gt; &amp;gravity_earth={{0., 0.,-9.81}}) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 49 &gt;</type>
      <name>getMass</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>abaea6fd989e45472118f81686d10aca3</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 49 &gt;</type>
      <name>getMass</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a379fd174a5fa0cadc363b5871093a422</anchor>
      <arglist>(const std::array&lt; double, 7 &gt; &amp;q, const std::array&lt; double, 9 &gt; &amp;total_inertia, double total_mass, const std::array&lt; double, 3 &gt; &amp;F_x_Ctotal) const </arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getName</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a88f37f3c1fe73ce7aa9460809847b416</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 16 &gt;</type>
      <name>getPose</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a690243222f24b5f9b77522a8a95aeadc</anchor>
      <arglist>(const franka::Frame &amp;frame) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 16 &gt;</type>
      <name>getPose</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>ac4adf373e37170a203906c8fd2cfd312</anchor>
      <arglist>(const franka::Frame &amp;frame, const std::array&lt; double, 7 &gt; &amp;q, const std::array&lt; double, 16 &gt; &amp;F_T_EE, const std::array&lt; double, 16 &gt; &amp;EE_T_K) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 42 &gt;</type>
      <name>getZeroJacobian</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>ad2e4f00e18a2e2904edc87f6c311364b</anchor>
      <arglist>(const franka::Frame &amp;frame) const </arglist>
    </member>
    <member kind="function">
      <type>std::array&lt; double, 42 &gt;</type>
      <name>getZeroJacobian</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a89802dbc0e58ff40e91b8b7845da92c9</anchor>
      <arglist>(const franka::Frame &amp;frame, const std::array&lt; double, 7 &gt; &amp;q, const std::array&lt; double, 16 &gt; &amp;F_T_EE, const std::array&lt; double, 16 &gt; &amp;EE_T_K) const </arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const franka::Model *</type>
      <name>model_</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a0c47e6c735f1bd809581b0498d53349b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>ab2e979b4a0e4ca3d68488f2d0432c066</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const franka::RobotState *</type>
      <name>robot_state_</name>
      <anchorfile>classfranka__hw_1_1FrankaModelHandle.html</anchorfile>
      <anchor>a16192f263ce4709d99f557c6d8fabeb1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaModelInterface</name>
    <filename>classfranka__hw_1_1FrankaModelInterface.html</filename>
    <base>HardwareResourceManager&lt; FrankaModelHandle &gt;</base>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaPoseCartesianInterface</name>
    <filename>classfranka__hw_1_1FrankaPoseCartesianInterface.html</filename>
    <base>HardwareResourceManager&lt; FrankaCartesianPoseHandle, hardware_interface::ClaimResources &gt;</base>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaStateHandle</name>
    <filename>classfranka__hw_1_1FrankaStateHandle.html</filename>
    <member kind="function">
      <type></type>
      <name>FrankaStateHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaStateHandle.html</anchorfile>
      <anchor>a53fa76e902a8181d42795379369c8044</anchor>
      <arglist>()=delete</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FrankaStateHandle</name>
      <anchorfile>classfranka__hw_1_1FrankaStateHandle.html</anchorfile>
      <anchor>aa1e678a0ad409591d0ee19b9e45f19c6</anchor>
      <arglist>(const std::string &amp;name, franka::RobotState &amp;robot_state)</arglist>
    </member>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>getName</name>
      <anchorfile>classfranka__hw_1_1FrankaStateHandle.html</anchorfile>
      <anchor>a8b1665ba53cdb85555b0e0ca6de58d0f</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="function">
      <type>const franka::RobotState &amp;</type>
      <name>getRobotState</name>
      <anchorfile>classfranka__hw_1_1FrankaStateHandle.html</anchorfile>
      <anchor>a6e0be7a9ae6e86394ea273f9a84c11cb</anchor>
      <arglist>() const noexcept</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classfranka__hw_1_1FrankaStateHandle.html</anchorfile>
      <anchor>a15abdf997d8480501d66250dab2fc6c8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const franka::RobotState *</type>
      <name>robot_state_</name>
      <anchorfile>classfranka__hw_1_1FrankaStateHandle.html</anchorfile>
      <anchor>ab4c6a16f32cb305e08d9f2a4514b2a77</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaStateInterface</name>
    <filename>classfranka__hw_1_1FrankaStateInterface.html</filename>
    <base>HardwareResourceManager&lt; FrankaStateHandle &gt;</base>
  </compound>
  <compound kind="class">
    <name>franka_hw::FrankaVelocityCartesianInterface</name>
    <filename>classfranka__hw_1_1FrankaVelocityCartesianInterface.html</filename>
    <base>HardwareResourceManager&lt; FrankaCartesianVelocityHandle, hardware_interface::ClaimResources &gt;</base>
  </compound>
  <compound kind="class">
    <name>franka_hw::NoControllerConflict</name>
    <filename>classfranka__hw_1_1NoControllerConflict.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>callCheckForConflict</name>
      <anchorfile>classfranka__hw_1_1NoControllerConflict.html</anchorfile>
      <anchor>adc0beb7d462d48a19da3a966120caf0d</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>callPrepareSwitch</name>
      <anchorfile>classfranka__hw_1_1NoControllerConflict.html</anchorfile>
      <anchor>a4519c3e2f31630b18894aaf2409a61e3</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; info_list)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NoControllerConflict</name>
      <anchorfile>classfranka__hw_1_1NoControllerConflict.html</anchorfile>
      <anchor>a65039ae6af26d70d44d37abf32c4f491</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; FrankaHW &gt;</type>
      <name>robot_</name>
      <anchorfile>classfranka__hw_1_1NoControllerConflict.html</anchorfile>
      <anchor>a8df8a232873256fddb41fa473a14b2c9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>franka_hw::ResourceClaims</name>
    <filename>structfranka__hw_1_1ResourceClaims.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>cartesian_pose_claims</name>
      <anchorfile>structfranka__hw_1_1ResourceClaims.html</anchorfile>
      <anchor>a55a5153f3db3a7fcf512704d585b70f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>cartesian_velocity_claims</name>
      <anchorfile>structfranka__hw_1_1ResourceClaims.html</anchorfile>
      <anchor>a2668310af64175428ebde96da920c9bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>joint_position_claims</name>
      <anchorfile>structfranka__hw_1_1ResourceClaims.html</anchorfile>
      <anchor>aaceed7e0978a7f78a285f9475b46e38d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>joint_torque_claims</name>
      <anchorfile>structfranka__hw_1_1ResourceClaims.html</anchorfile>
      <anchor>a9867b095f677700e538c80a26325c938</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>joint_velocity_claims</name>
      <anchorfile>structfranka__hw_1_1ResourceClaims.html</anchorfile>
      <anchor>ada8a410eb33611ecadffcc9c34c249e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::ServiceContainer</name>
    <filename>classfranka__hw_1_1ServiceContainer.html</filename>
    <member kind="function">
      <type>ServiceContainer &amp;</type>
      <name>advertiseService</name>
      <anchorfile>classfranka__hw_1_1ServiceContainer.html</anchorfile>
      <anchor>a0375ccf2de1637bb6406db977a39ff69</anchor>
      <arglist>(TArgs &amp;&amp;...args)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; ros::ServiceServer &gt;</type>
      <name>services_</name>
      <anchorfile>classfranka__hw_1_1ServiceContainer.html</anchorfile>
      <anchor>a9f8df6d6a02ff4064de7278d2f44cbd9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>franka_hw::TriggerRate</name>
    <filename>classfranka__hw_1_1TriggerRate.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator()</name>
      <anchorfile>classfranka__hw_1_1TriggerRate.html</anchorfile>
      <anchor>a808b03abfa76f0226ebac665ad8d3ce7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TriggerRate</name>
      <anchorfile>classfranka__hw_1_1TriggerRate.html</anchorfile>
      <anchor>a68cde52c634b5bcb56f9276050a52e0d</anchor>
      <arglist>(double rate=30.0)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>period_</name>
      <anchorfile>classfranka__hw_1_1TriggerRate.html</anchorfile>
      <anchor>a447516b7353ac0f006eac0ad6c76a0d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>time_stamp_</name>
      <anchorfile>classfranka__hw_1_1TriggerRate.html</anchorfile>
      <anchor>a6cbf0023238a654a03405b33ef8272b5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>franka_hw</name>
    <filename>namespacefranka__hw.html</filename>
    <class kind="class">franka_hw::ControllerConflict</class>
    <class kind="class">franka_hw::FrankaCartesianPoseHandle</class>
    <class kind="class">franka_hw::FrankaCartesianVelocityHandle</class>
    <class kind="class">franka_hw::FrankaCombinableHW</class>
    <class kind="class">franka_hw::FrankaCombinedHW</class>
    <class kind="class">franka_hw::FrankaHW</class>
    <class kind="class">franka_hw::FrankaModelHandle</class>
    <class kind="class">franka_hw::FrankaModelInterface</class>
    <class kind="class">franka_hw::FrankaPoseCartesianInterface</class>
    <class kind="class">franka_hw::FrankaStateHandle</class>
    <class kind="class">franka_hw::FrankaStateInterface</class>
    <class kind="class">franka_hw::FrankaVelocityCartesianInterface</class>
    <class kind="class">franka_hw::NoControllerConflict</class>
    <class kind="struct">franka_hw::ResourceClaims</class>
    <class kind="class">franka_hw::ServiceContainer</class>
    <class kind="class">franka_hw::TriggerRate</class>
    <member kind="typedef">
      <type>std::map&lt; std::string, ResourceClaims &gt;</type>
      <name>ArmClaimedMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a9b9c672b3e064953e816024fc2f9cf0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::map&lt; std::string, std::vector&lt; std::vector&lt; std::string &gt;&gt;&gt;</type>
      <name>ResourceWithClaimsMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1929e38491272fe6fd978483f293a35a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ControlMode</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afa416558ce4baace5ac6c71bd5d2c98c</anchor>
      <arglist></arglist>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98ca6adf97f83acf6453d4a6a4b1070f3754">None</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98ca6c640e0814bb12aecaa28d237d393467">JointTorque</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98caa10d0bc4b1db478900a14e066c4c3333">JointPosition</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98cab71066787fa2ea98f88027078359cd93">JointVelocity</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98ca5f4d2e0f06b2be984d61e898b354da1e">CartesianVelocity</enumvalue>
      <enumvalue file="namespacefranka__hw.html" anchor="afa416558ce4baace5ac6c71bd5d2c98cab5a449319cc586903a8995a0b463df50">CartesianPose</enumvalue>
    </member>
    <member kind="function">
      <type>ros::ServiceServer</type>
      <name>advertiseService</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af2b4d9a0fcfedaf4c3b64b507908de02</anchor>
      <arglist>(ros::NodeHandle &amp;node_handle, const std::string &amp;name, std::function&lt; void(typename T::Request &amp;, typename T::Response &amp;)&gt; handler)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>arm_id2</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5706412e36336e391e50eee091202ef7</anchor>
      <arglist>(&quot;panda2&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>cp_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab8c145cec22c3b383dc2194507a5923b</anchor>
      <arglist>(&quot;franka_hw::FrankaPoseCartesianInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>cv_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a28e0cc0a9ccb168233355882372d114c</anchor>
      <arglist>(&quot;franka_hw::FrankaVelocityCartesianInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>findArmIdInResourceId</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa86d54ddd446acb5a2101bfcc944b2c8</anchor>
      <arglist>(const std::string &amp;resource_id, std::string *arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getArmClaimedMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af08f089686416ffb7904fbe86f19b8a9</anchor>
      <arglist>(ResourceWithClaimsMap &amp;resource_map, ArmClaimedMap &amp;arm_claim_map)</arglist>
    </member>
    <member kind="function">
      <type>ControlMode</type>
      <name>getControlMode</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a21fc3cb90700f7fc2b9b9a93c2d40d0a</anchor>
      <arglist>(const std::string &amp;arm_id, ArmClaimedMap &amp;arm_claim_map)</arglist>
    </member>
    <member kind="function">
      <type>ResourceWithClaimsMap</type>
      <name>getResourceMap</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a6c621829dd30c8ff939de6ae0861966d</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;info)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflictingJointAndCartesianClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8210bdfc8b13c520c7ae0aa4996519c7</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflictingMultiClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a46f981cb7be9b444e34a67448f1a7ff5</anchor>
      <arglist>(const ResourceWithClaimsMap &amp;resource_map)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasTrajectoryClaim</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afe0c7328e4572d22118918bf2c332127</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>INSTANTIATE_TEST_CASE_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5e702eb37e70aaaa108dccc231abc796</anchor>
      <arglist>(nonAdmissibleRequests, ControllerConflict,::testing::Values(std::list&lt; ControllerInfo &gt;{no_id_info}, std::list&lt; ControllerInfo &gt;{unknown_iface_info}, std::list&lt; ControllerInfo &gt;{jt_jt_info}, std::list&lt; ControllerInfo &gt;{jp_jp_info}, std::list&lt; ControllerInfo &gt;{jp_jv_info}, std::list&lt; ControllerInfo &gt;{jp_cv_info}, std::list&lt; ControllerInfo &gt;{jp_cp_info}, std::list&lt; ControllerInfo &gt;{jv_jv_info}, std::list&lt; ControllerInfo &gt;{jv_cv_info}, std::list&lt; ControllerInfo &gt;{jv_cp_info}, std::list&lt; ControllerInfo &gt;{cv_cv_info}, std::list&lt; ControllerInfo &gt;{cv_cp_info}, std::list&lt; ControllerInfo &gt;{cp_cp_info}, std::list&lt; ControllerInfo &gt;{jp_jp_jp_info}))</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>INSTANTIATE_TEST_CASE_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ae8977c3aaf9e33a8fca529aeb6b10107</anchor>
      <arglist>(admissibleRequests, NoControllerConflict,::testing::Values(std::list&lt; ControllerInfo &gt;{jp_info}, std::list&lt; ControllerInfo &gt;{jv_info}, std::list&lt; ControllerInfo &gt;{jt_info}, std::list&lt; ControllerInfo &gt;{cv_info}, std::list&lt; ControllerInfo &gt;{cp_info}, std::list&lt; ControllerInfo &gt;{jt_jp_info}, std::list&lt; ControllerInfo &gt;{jt_jv_info}, std::list&lt; ControllerInfo &gt;{jt_cv_info}, std::list&lt; ControllerInfo &gt;{jt_cp_info}, std::list&lt; ControllerInfo &gt;{cp_info, cp_arm2_info}))</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>jp_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1f5c02b34e6cbf9717ac8b347e95cff0</anchor>
      <arglist>(&quot;hardware_interface::PositionJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>jt_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>abb5fddf4cfb7bb6d014a464bdf20637d</anchor>
      <arglist>(&quot;hardware_interface::EffortJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>jv_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afdfcedc82936c37e646538f5daec6863</anchor>
      <arglist>(&quot;hardware_interface::VelocityJointInterface&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>name_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a661b0555f62ed8d2f27eb8dad677dd3c</anchor>
      <arglist>(&quot;some_controller&quot;)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a6237d49ef4003915f60edc01dc505b2b</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1a874b95d0db833effc4fe2ede969981</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1, const hardware_interface::InterfaceResources &amp;resource2)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::ControllerInfo</type>
      <name>newInfo</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aee692ac30c65dfe93ff8b56e2f5fc4a4</anchor>
      <arglist>(const std::string &amp;name, const std::string &amp;type, const hardware_interface::InterfaceResources &amp;resource1, const hardware_interface::InterfaceResources &amp;resource2, const hardware_interface::InterfaceResources &amp;resource3)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator&amp;</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a41023350e6e2c463aeba09359cc6f3a8</anchor>
      <arglist>(ControlMode left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode &amp;</type>
      <name>operator&amp;=</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a14ad5e20cbf9531d5633c95d4c460881</anchor>
      <arglist>(ControlMode &amp;left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2dbef19b15b26447214b95ccc0973b20</anchor>
      <arglist>(std::ostream &amp;ostream, ControlMode mode)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator^</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8270a1f589cc045ec58e8b44e0f307f2</anchor>
      <arglist>(ControlMode left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator|</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa04e36b77fe247b4ef736bb0abc2ac24</anchor>
      <arglist>(ControlMode left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode &amp;</type>
      <name>operator|=</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8763373676dcb02e2c2ac1f4e7613a8d</anchor>
      <arglist>(ControlMode &amp;left, ControlMode right)</arglist>
    </member>
    <member kind="function">
      <type>constexpr ControlMode</type>
      <name>operator~</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afb4d4bc5509c24838d523b6f8d90b58a</anchor>
      <arglist>(ControlMode mode)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>partiallyClaimsArmJoints</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a57277d4800c9d67de7a506370332af77</anchor>
      <arglist>(const ArmClaimedMap &amp;arm_claim_map, const std::string &amp;arm_id)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCartesianImpedance</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aaaecce4d4097b36e0653a6debe6ac3ca</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetCartesianImpedance::Request &amp;req, franka_msgs::SetCartesianImpedance::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setEEFrame</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3ea221bbc5ef9a51c37fa81ca8012a78</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetEEFrame::Request &amp;req, franka_msgs::SetEEFrame::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setForceTorqueCollisionBehavior</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5bc3c1e677412ddbc5399e843716a637</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetForceTorqueCollisionBehavior::Request &amp;req, franka_msgs::SetForceTorqueCollisionBehavior::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFullCollisionBehavior</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>affe928891aab34a08445e5fe33bbdb68</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetFullCollisionBehavior::Request &amp;req, franka_msgs::SetFullCollisionBehavior::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setJointImpedance</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a11044076da3c85a0b7cf255db32ca907</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetJointImpedance::Request &amp;req, franka_msgs::SetJointImpedance::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setKFrame</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a920ea906604afce622214bb82c379e72</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetKFrame::Request &amp;req, franka_msgs::SetKFrame::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setLoad</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aaf86c3d55190a954ba8930c997d60613</anchor>
      <arglist>(franka::Robot &amp;robot, const franka_msgs::SetLoad::Request &amp;req, franka_msgs::SetLoad::Response &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupServices</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab9e19d73067968251ddb61b532966809</anchor>
      <arglist>(franka::Robot &amp;robot, ros::NodeHandle &amp;node_handle, ServiceContainer &amp;services)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a95ef687eb313d4a66e7ca43193911e6b</anchor>
      <arglist>(FrankaHWTests, InterfacesWorkForReadAndCommand)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a64f200e044816265bff97bdbb6dd1130</anchor>
      <arglist>(FrankaHWTests, JointLimitInterfacesEnforceLimitsOnCommands)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a791702aa11b1935323c122e3731d507b</anchor>
      <arglist>(ControllerConflict, ConflictsForIncompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aede67f93f509384729a177d1da91e75b</anchor>
      <arglist>(NoControllerConflict, DoesNotConflictForCompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_P</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a43b7e64c2fd73be472df1d5877b20163</anchor>
      <arglist>(NoControllerConflict, CanPrepareSwitchForCompatibleControllers)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>type_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3e687643b888443524a2bfaf5b2fdb20</anchor>
      <arglist>(&quot;SomeControllerClass&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>unknown_iface_str</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2ae22461ba2b548829424a776ecd76d6</anchor>
      <arglist>(&quot;hardware_interface::UnknownInterface&quot;)</arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>cartesian_arm2_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aabd78781386e69be18863c9415882d4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>cartesian_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a8bce2f19361745b34687b20620ed337b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cp_arm2_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a87feab658a2bfd2fb5efceb0a57fed22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>cp_arm2_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3a4c06e245906d0256ed407b194d43fe</anchor>
      <arglist>(cp_iface_str, cartesian_arm2_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cp_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa48635ae6ca4cb3bc20ea60af81ec50d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ae96f4239963b87c3077808ec35c97f98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>cp_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ab838db9ba062783fde0eb468fa1a2ce4</anchor>
      <arglist>(cp_iface_str, cartesian_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cv_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a81e36357be547a24f035e6df25ba97ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cv_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>abaf67cfceb951c925c1a39efda0d8937</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a5e729950054c77f4da7c4d011376e274</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>cv_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a82e4cfc4f681780ebabdaf9f3e7795f7</anchor>
      <arglist>(cv_iface_str, cartesian_set)</arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>joints_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a83426522b62cfe36647daf5e5c78fc2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>aa18b50c0eb34a6b2847575bff91201b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a247afdbb3de0d74392679383449e49b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a59b41d7e12e4a8d3cfb3aae23ff9b188</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a9cf52e7e12ee0964c57463accc9eee83</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_jp_jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a7c757500387875c0f5d37ce1fadf6664</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jp_jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a1be6bd13682f4b99a62f559d20d54527</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>jp_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ae92a6aef719c2649465d5e4b828162a4</anchor>
      <arglist>(jp_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ac598a41c36a27d3bec2755cc791dbcab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a3f0fe3ebb415ba0570da357b0821dbeb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a2221accd14f5108437b9b6376e4b52fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_jp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a942a04ffe8c9f853544ada5447511095</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_jt_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>afd60eb1d49dc483e8807719090e5021c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jt_jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a47c74e7c73f20356a8f19747f47b41d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>jt_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ac9a99703d0a1cd1a918760faad6dc3e3</anchor>
      <arglist>(jt_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_cp_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a26e15f246e1c81ecb8ae49ace62797e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_cv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a989d3597fb466f48c49bc3b995a80639</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a0555a897f16be7c36fd07d01c2b0c1bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>jv_jv_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>ac662b9453b619d63a5b824c036fa34dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>jv_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a11e89a81f46b9671a78429c7562bf909</anchor>
      <arglist>(jv_iface_str, joints_set)</arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>no_id_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a283c03300c54637ae2313f6310c8dd4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>no_id_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a48a4c909eb0e2f0a64a7af77db45eab4</anchor>
      <arglist>(jp_iface_str, no_id_set)</arglist>
    </member>
    <member kind="variable">
      <type>set&lt; string &gt;</type>
      <name>no_id_set</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af2a1c82917c92f005c5c055b6fc46c03</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ControllerInfo</type>
      <name>unknown_iface_info</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>a86e912651126367fa0a4b804b685e352</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>InterfaceResources</type>
      <name>unknown_iface_res</name>
      <anchorfile>namespacefranka__hw.html</anchorfile>
      <anchor>af2c783171b4716ab737099b961552fe8</anchor>
      <arglist>(unknown_iface_str, joints_set)</arglist>
    </member>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title></title>
    <filename>index</filename>
    <docanchor file="index" title="ActionClient Code API">ActionClientAPI</docanchor>
    <docanchor file="index" title="ActionServer Code API">ActionServerAPI</docanchor>
    <docanchor file="index" title="Communication Protocol">protocol</docanchor>
    <docanchor file="index" title="Code API">codeapi</docanchor>
    <docanchor file="index" title="Overview">overview</docanchor>
    <docanchor file="index" title="Crawling algorithm">crawling</docanchor>
    <docanchor file="index" title="Efficiency considerations">efficiency</docanchor>
    <docanchor file="index" title="Minimal dependencies">dependencies</docanchor>
    <docanchor file="index" title="Joint limits representation">limits_representation</docanchor>
    <docanchor file="index" title="Joint limits interface">limits_interface</docanchor>
    <docanchor file="index" title="Examples">example</docanchor>
    <docanchor file="index" title="Joint limits representation">limits_representation_example</docanchor>
    <docanchor file="index" title="Joint limits interface">limits_interface_example</docanchor>
  </compound>
</tagfile>
