<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>arm1_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>arm1__kinematic__controller_8cpp</filename>
    <includes id="arm1__kinematic__controller_8h" name="arm1_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/arm1_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>arm1_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>arm1__kinematic__controller_8h</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
    <class kind="class">qb_chain_controllers::Arm1KinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="file">
    <name>arm2_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>arm2__kinematic__controller_8cpp</filename>
    <includes id="arm2__kinematic__controller_8h" name="arm2_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/arm2_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>arm2_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>arm2__kinematic__controller_8h</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
    <class kind="class">qb_chain_controllers::Arm2KinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="file">
    <name>arm_v1_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>arm__v1__kinematic__controller_8cpp</filename>
    <includes id="arm__v1__kinematic__controller_8h" name="arm_v1_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/arm_v1_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>arm_v1_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>arm__v1__kinematic__controller_8h</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
    <class kind="class">qb_chain_controllers::ArmV1KinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="file">
    <name>arm_v2_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>arm__v2__kinematic__controller_8cpp</filename>
    <includes id="arm__v2__kinematic__controller_8h" name="arm_v2_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/arm_v2_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>arm_v2_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>arm__v2__kinematic__controller_8h</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
    <class kind="class">qb_chain_controllers::ArmV2KinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="file">
    <name>delta_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>delta__kinematic__controller_8cpp</filename>
    <includes id="delta__kinematic__controller_8h" name="delta_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/delta_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>delta_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>delta__kinematic__controller_8h</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
    <class kind="class">qb_chain_controllers::DeltaKinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="file">
    <name>qb_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>qb__kinematic__controller_8cpp</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>qb_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>qb__kinematic__controller_8h</filename>
    <class kind="class">qb_chain_controllers::KitKinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="file">
    <name>wrist_kinematic_controller.cpp</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/src/</path>
    <filename>wrist__kinematic__controller_8cpp</filename>
    <includes id="wrist__kinematic__controller_8h" name="wrist_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/wrist_kinematic_controller.h</includes>
  </compound>
  <compound kind="file">
    <name>wrist_kinematic_controller.h</name>
    <path>/tmp/ws/src/qb_chain/qb_chain_controllers/include/qb_chain_controllers/</path>
    <filename>wrist__kinematic__controller_8h</filename>
    <includes id="qb__kinematic__controller_8h" name="qb_kinematic_controller.h" local="no" imported="no">qb_chain_controllers/qb_kinematic_controller.h</includes>
    <class kind="class">qb_chain_controllers::WristKinematicController</class>
    <namespace>qb_chain_controllers</namespace>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::Arm1KinematicController</name>
    <filename>classqb__chain__controllers_1_1Arm1KinematicController.html</filename>
    <base>qb_chain_controllers::KitKinematicController</base>
    <member kind="function">
      <type></type>
      <name>Arm1KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1Arm1KinematicController.html</anchorfile>
      <anchor>a95e9a15b3e49dbc4af056ad1307fc158</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Arm1KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1Arm1KinematicController.html</anchorfile>
      <anchor>aec37910d9dc0c769a6abacd9e26f3895</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1Arm1KinematicController.html</anchorfile>
      <anchor>a7e9889d980fc0c8f355593a2094ff39b</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1Arm1KinematicController.html</anchorfile>
      <anchor>ad6fd00aa2c7b8d3ee7cb1afa69fe0718</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>link_length_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm1KinematicController.html</anchorfile>
      <anchor>a23de7756b6c4e572030ae00a1d3aba8a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::Arm2KinematicController</name>
    <filename>classqb__chain__controllers_1_1Arm2KinematicController.html</filename>
    <base>qb_chain_controllers::KitKinematicController</base>
    <member kind="function">
      <type></type>
      <name>Arm2KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>ab953b6d522fed8048f1a57989a7e282e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Arm2KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a8af94f9aec84040b3f8e237b5df5c0a8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a3abd8f285c29487ac03899215857aa28</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>ac6f0a3ee0bd2615222bc151b7e315628</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>isValidSolution</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a52e54afd8fcbe987bbd8e59ee5e4f2f6</anchor>
      <arglist>(KDL::JntArray jointVariables, KDL::Frame end_effector_pose)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Vector</type>
      <name>ang_tol_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a8e4d9cfe9d43622ea0e53277b3170f7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Chain</type>
      <name>chain_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a64f4f21f3f4dd3dafbed18e2a72b5a05</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>TRAC_IK::TRAC_IK</type>
      <name>ik_solver_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>ad2d9533d70a2583bf0aa80578e4c9d1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Vector</type>
      <name>pos_tol_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>aea8710c94917de5b9499e524f120b33a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::JntArray</type>
      <name>q_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a4c0b32078c1186657a45a0489988e02e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Twist</type>
      <name>tolerances_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a0fc3d11a8d7f6ffa73e2c52226be9a9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>valid_</name>
      <anchorfile>classqb__chain__controllers_1_1Arm2KinematicController.html</anchorfile>
      <anchor>a7999f4c3d3157aec5ef81bcd2736a211</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::ArmV1KinematicController</name>
    <filename>classqb__chain__controllers_1_1ArmV1KinematicController.html</filename>
    <base>qb_chain_controllers::KitKinematicController</base>
    <member kind="function">
      <type></type>
      <name>ArmV1KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV1KinematicController.html</anchorfile>
      <anchor>a1680581819a87be97af199d775554fca</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ArmV1KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV1KinematicController.html</anchorfile>
      <anchor>a562f4350c41ddc1f8bae4f9b697a1f0c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV1KinematicController.html</anchorfile>
      <anchor>af425f93a82e7cc16e649157979eba758</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV1KinematicController.html</anchorfile>
      <anchor>a03aca675c0d229dbdf278f6dd4308983</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>link_length_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV1KinematicController.html</anchorfile>
      <anchor>a094bafbc5cd6a11592212a6844dbc77b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::ArmV2KinematicController</name>
    <filename>classqb__chain__controllers_1_1ArmV2KinematicController.html</filename>
    <base>qb_chain_controllers::KitKinematicController</base>
    <member kind="function">
      <type></type>
      <name>ArmV2KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a977683c18f9542fa710ff30bf604cf7f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ArmV2KinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a618d766d1bdb6bfe47c03db592f279dd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>ab4fa4a3c8d985aaedb64583155817d67</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a91ca98c1e22871d5b394aaa77b003d40</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>isValidSolution</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>ab7cf989842bbec66444950f2d66497c5</anchor>
      <arglist>(KDL::JntArray jointVariables, KDL::Frame end_effector_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>targetPosesAndRollCallback</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a122a553f2d9aebac110fdbc18d20c34b</anchor>
      <arglist>(const qb_chain_msgs::MoveAndRotateChain &amp;qb_msg)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Vector</type>
      <name>ang_tol_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a07811ee0443aa7c97758b96e0c021f4f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Chain</type>
      <name>chain_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>ac1dd48395f7ec86b5442fe09b6f2435b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>TRAC_IK::TRAC_IK</type>
      <name>ik_solver_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a34989d2c6c90487a086f06a2a52ef409</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Vector</type>
      <name>pos_tol_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a4166b09ec31b1d2e494d3c3edd9a2b5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::JntArray</type>
      <name>q_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a3df58c1083f4893c8e86f1d1b0efef1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>roll_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>af162b9c43ad02f76ef594506c0e732ad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>target_poses_and_roll_sub_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>a18efabb7f00518d9a83b627d4f672561</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Twist</type>
      <name>tolerances_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>ad05733787492ad5a3b78e7330348af17</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>valid_</name>
      <anchorfile>classqb__chain__controllers_1_1ArmV2KinematicController.html</anchorfile>
      <anchor>ab574310d7082f4168809d0609d4f11d0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::DeltaKinematicController</name>
    <filename>classqb__chain__controllers_1_1DeltaKinematicController.html</filename>
    <base>qb_chain_controllers::KitKinematicController</base>
    <member kind="function">
      <type></type>
      <name>DeltaKinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1DeltaKinematicController.html</anchorfile>
      <anchor>a640d528c514d37497b8ed7634de0efde</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~DeltaKinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1DeltaKinematicController.html</anchorfile>
      <anchor>aa1f57cc2632ab0a4de5e82f7c3c66c3b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1DeltaKinematicController.html</anchorfile>
      <anchor>a8bc899ecf156ce6069089f72b51b28c3</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1DeltaKinematicController.html</anchorfile>
      <anchor>a312e159b95da613e5eb5580daae74879</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>kitStatePublisher</name>
      <anchorfile>classqb__chain__controllers_1_1DeltaKinematicController.html</anchorfile>
      <anchor>a72fdd0ae5b8d957f74271c1f2f27ffda</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;motor_joints, const geometry_msgs::Point &amp;ee_pose) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>link_length_</name>
      <anchorfile>classqb__chain__controllers_1_1DeltaKinematicController.html</anchorfile>
      <anchor>ac769da4bc10e59d8bdf6c5891828f2f6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::KitKinematicController</name>
    <filename>classqb__chain__controllers_1_1KitKinematicController.html</filename>
    <base>Controller&lt; hardware_interface::PositionJointInterface &gt;</base>
    <member kind="function">
      <type>bool</type>
      <name>init</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a7b0bddc5bb6b9fb07b7a2d428a9e5e3d</anchor>
      <arglist>(hardware_interface::PositionJointInterface *robot_hw, ros::NodeHandle &amp;root_nh, ros::NodeHandle &amp;controller_nh) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>KitKinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ae7d6b324b4061e4bc6f8d7fe6d03de10</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>starting</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aa3d85a97d20183a5911d6f109d980261</anchor>
      <arglist>(const ros::Time &amp;time) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stopping</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>acad878c0db04252b321c8eb2951ddf1b</anchor>
      <arglist>(const ros::Time &amp;time) override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aeb94950bd55845f6c157fc83646d1548</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~KitKinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ac6a2c252b0a4983cf1c2c4647f257068</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>actionActiveCallback</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aec88daa8431c49f9f1a38e0fb9008476</anchor>
      <arglist>(const std::string &amp;controller)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>actionDoneCallback</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a6acea216c3f4bb8a531daf92d5335627</anchor>
      <arglist>(const actionlib::SimpleClientGoalState &amp;state, const control_msgs::FollowJointTrajectoryResultConstPtr &amp;result, const std::string &amp;controller)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>actionFeedbackCallback</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ac595133427e4ffbee18dd1cae0d60eea</anchor>
      <arglist>(const control_msgs::FollowJointTrajectoryFeedbackConstPtr &amp;feedback, const std::string &amp;controller)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>buildCube</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aa0b8c7b6453b47eadcd873b4c5d68804</anchor>
      <arglist>(visualization_msgs::InteractiveMarker &amp;interactive_marker)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>buildEndEffectorControl</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a11ac8e0583075a4dd158792fc53f239f</anchor>
      <arglist>(visualization_msgs::InteractiveMarker &amp;interactive_marker)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>cartesianLinearPlanner</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a1c1b94559065a673fb0548beba63b366</anchor>
      <arglist>(const geometry_msgs::Point &amp;target_pose, std::vector&lt; std::vector&lt; double &gt;&gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>computeDistance</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ab65fdd499c31dda6ad2f63cbb2795558</anchor>
      <arglist>(const geometry_msgs::Point &amp;from_pose, const geometry_msgs::Point &amp;to_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>computeIntermediatePosesTo</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a21402180e53d43fa38dba83da89a7110</anchor>
      <arglist>(const geometry_msgs::Point &amp;target_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; std::vector&lt; double &gt; &gt;</type>
      <name>computeIntermediateStiffnessesTo</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ada1b9d92611ec74641de0724c81783c7</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;target_joint_stiffnesses, const int &amp;size)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::map&lt; std::string, trajectory_msgs::JointTrajectory &gt;</type>
      <name>computeJointTrajectories</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ad632a1d234784e76ecc0190e14316475</anchor>
      <arglist>(const std::vector&lt; std::vector&lt; double &gt;&gt; &amp;motor_positions, const std::vector&lt; std::vector&lt; double &gt;&gt; &amp;motor_stiffness, const double &amp;target_time_from_start, const double &amp;previous_time_from_start)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>fillMotorJointTrajectories</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a44c4c5cd1788a8b0619ce69e3bd78ad0</anchor>
      <arglist>(const std::map&lt; std::string, trajectory_msgs::JointTrajectory &gt; &amp;motor_joint_trajectories)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>filter</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a9dc7348809e9a5621f022548c0996371</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;b, const std::vector&lt; double &gt; &amp;a, const std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;y)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>filterMotorJointTrajectories</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a82044403690424e30677705634a13570</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;b, const std::vector&lt; double &gt; &amp;a)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>filterMotorJointTrajectory</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a16c0af0439df08504945cc25bbc1f1d3</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;b, const std::vector&lt; double &gt; &amp;a, trajectory_msgs::JointTrajectory &amp;motor_joint_trajectory)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aea4341532885ce57247c233ddb9ae671</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)=0</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>getMotorJointNames</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a0e81362401b48096043ed16d75784538</anchor>
      <arglist>(const int &amp;id)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>trajectory_msgs::JointTrajectory</type>
      <name>getMotorJointTrajectory</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a87ed7eb29dd5ffeee51db895c628cef4</anchor>
      <arglist>(const int &amp;id)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::string</type>
      <name>getMotorName</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a2fc70ce73e5ecd518cb8e12e8d9fe290</anchor>
      <arglist>(const int &amp;id)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>getMotorPosition</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a6828546cf4dc510cf0f292716f260a51</anchor>
      <arglist>(const int &amp;id)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>getMotorPositions</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a930a704124435ba994eb311c9bed1b75</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>getMotorStiffness</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a9e9e2ed9195a4d11f3de08e3e3c66de4</anchor>
      <arglist>(const int &amp;id)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>getMotorStiffnesses</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>acbde9c9eddf275f40840c3e94ea02975</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>getTrajectoryLastPositions</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a0d8febf30ba44f32e5d9156ea681cf76</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>getTrajectoryLastStiffnesses</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a0bcca13895c6f3a07f01b05a8216cf01</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>getTrajectoryLastTimeFromStart</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a50209b9e0fa82068645fb120046cb9ba</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>initMarkers</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a56cff00b307d9b9063702f739d0ab4b7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>interactiveMarkerCallback</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>af2170ed5225a2cc291bdf7f0a5ae4f5e</anchor>
      <arglist>(const visualization_msgs::InteractiveMarkerFeedbackConstPtr &amp;feedback)</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ae002246d3de64219f88d6087618566cf</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)=0</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual bool</type>
      <name>kitStatePublisher</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ab7c4016f730b8bd5600319f6316f8103</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;motor_joints, const geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>move</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a0c53fff6e1e04136251c76b426abfe77</anchor>
      <arglist>(const trajectory_msgs::JointTrajectory &amp;joint_trajectory, const std::string &amp;motor)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>move</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a4a2dd51dcebe99bb017520b330261585</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>parseVector</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>afce041a7a466ea03c1f28edc5e659525</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;xml_value, const int &amp;size, std::vector&lt; double &gt; &amp;vector)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>parseWaypointTrajectory</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>afe6e438f4a020a6394596648baa594c2</anchor>
      <arglist>(ros::NodeHandle &amp;node_handle)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>startWaypointTrajectory</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a74e377ac23fe4bd0720d7ad1147d466e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>targetPosesCallback</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a7f9bfac816e5df3bcca56aac5ab80cc8</anchor>
      <arglist>(const qb_chain_msgs::MoveChain &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>T</type>
      <name>xmlCast</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a3fdc162da9847b3da695154e163d5c43</anchor>
      <arglist>(XmlRpc::XmlRpcValue xml_value)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::CallbackQueuePtr</type>
      <name>callback_queue_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ac40748da308f54b305ca4d4755fe4bb2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>visualization_msgs::InteractiveMarker</type>
      <name>controls_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a834e9918016df7e61b555d9265a09373</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>geometry_msgs::Point</type>
      <name>ee_offset_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a306611ec3bc2beccc1ccf49edfc45a71</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>feedback_active_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a06e8d820b0e22074ef67c0b25d2dd4dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>geometry_msgs::Point</type>
      <name>feedback_position_old_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a6669873cc30d8403001b76d02f9498fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>filter_param_a_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ab4bc5f25d4367da64299167f75137a2e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; double &gt;</type>
      <name>filter_param_b_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a3f1204cda4538ba10b5f2d6c8df4b92b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>filter_trajectory_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a9f26f317a18778831c51b402f3251106</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>free_joint_state_publisher_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a767cab9da960926c63db626d4990dac0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; interactive_markers::InteractiveMarkerServer &gt;</type>
      <name>interactive_commands_server_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a08669eeb34ca17a77828be365f4cd43a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>kinematic_config_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a335ef5645b73b140d61c107fbd735964</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>max_displacement_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aa2c53a4740f4e0566cba0e4d894e6255</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>motion_request_accepted_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>aaa203451b60d9e61a9ea28a0493e64f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::map&lt; std::string, std::unique_ptr&lt; actionlib::SimpleActionClient&lt; control_msgs::FollowJointTrajectoryAction &gt; &gt; &gt;</type>
      <name>motor_action_clients_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ad64c0d481c9c137e7cad89db2ed66e5b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::map&lt; std::string, std::vector&lt; std::string &gt; &gt;</type>
      <name>motor_joint_names_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a1d3fc5ba9763c8885f1911a65386e16f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::map&lt; std::string, trajectory_msgs::JointTrajectory &gt;</type>
      <name>motor_joint_trajectories_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a2178759fbd8a08be5d9945d3dab5ed62</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::map&lt; std::string, hardware_interface::JointHandle &gt;</type>
      <name>motor_joints_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a4d335f22247cd04d6a2d74579c4bac3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; std::string &gt;</type>
      <name>motor_names_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a0d7459b30cefcc49124b38de0ed1d980</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>node_handle_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a247925a25b0ba799a513792b1d817426</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>node_handle_control_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a43d15888750e0647f11d8a39ced3d0e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std_msgs::Bool</type>
      <name>request_accepted_msg_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a695448a3c3eb8d2859cc4ad24ed306a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::AsyncSpinner</type>
      <name>spinner_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a0c14419de53338e7feab0c8d1448249f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>target_poses_sub_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ae3fd343ad5907c00b3a7aba94507c53d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf2_ros::TransformBroadcaster</type>
      <name>tf_broadcaster_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a23407d4a42d4ed47e888ed003e2656af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>type_of_robot_movement_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a63ac7c285fd5e9398f66552a1d54e249</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>use_interactive_markers_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a4c367d0b30cf1c278a9d29c27e580f0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>use_waypoints_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a7c0034d551fd4cf88942ed1e3a58d800</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>waypoint_namespace_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>a10dc6a360c3d56f22d39f7b169852f4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::WallTimer</type>
      <name>waypoint_setup_timer_</name>
      <anchorfile>classqb__chain__controllers_1_1KitKinematicController.html</anchorfile>
      <anchor>ada6e832b53a9ec14881c8c1d6675a1f6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>qb_chain_controllers::WristKinematicController</name>
    <filename>classqb__chain__controllers_1_1WristKinematicController.html</filename>
    <base>qb_chain_controllers::KitKinematicController</base>
    <member kind="function">
      <type></type>
      <name>WristKinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>ada5d0cd96143fe64106dcb4f0244e3fa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~WristKinematicController</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>ad415bf5830929dc874df6b266ec0d5ac</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>forwardKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>aced25db9a2c4ca61c976ee6b0617a54c</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;joint_positions, geometry_msgs::Point &amp;ee_pose)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>inverseKinematics</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>ad6a8e6a8e67a7380a0964bc34902fa87</anchor>
      <arglist>(const geometry_msgs::Point &amp;ee_pose, std::vector&lt; double &gt; &amp;joint_positions)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>isValidSolution</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>a645209f8bc14c74cd0f68069ecef0044</anchor>
      <arglist>(KDL::JntArray jointVariables, KDL::Frame end_effector_pose)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Vector</type>
      <name>ang_tol_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>aa8c8f0d8da7acb5aae43b278d7927450</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Chain</type>
      <name>chain_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>ac3ad3c87affdac3f4bbe916e9cb3ce4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>TRAC_IK::TRAC_IK</type>
      <name>ik_solver_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>a215ba76138e90a644f5114e547f2ca37</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Vector</type>
      <name>pos_tol_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>a6e9446284343db34566c89ec8d8996ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::JntArray</type>
      <name>q_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>a3886435d414244bb8a65707abcb5de0d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>KDL::Twist</type>
      <name>tolerances_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>a2efe78cbb47c22c2810f45ff2c71d898</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>valid_</name>
      <anchorfile>classqb__chain__controllers_1_1WristKinematicController.html</anchorfile>
      <anchor>af96fb2fafbb9c07212d984d307ae78e6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>qb_chain_controllers</name>
    <filename>namespaceqb__chain__controllers.html</filename>
    <class kind="class">qb_chain_controllers::Arm1KinematicController</class>
    <class kind="class">qb_chain_controllers::Arm2KinematicController</class>
    <class kind="class">qb_chain_controllers::ArmV1KinematicController</class>
    <class kind="class">qb_chain_controllers::ArmV2KinematicController</class>
    <class kind="class">qb_chain_controllers::DeltaKinematicController</class>
    <class kind="class">qb_chain_controllers::KitKinematicController</class>
    <class kind="class">qb_chain_controllers::WristKinematicController</class>
  </compound>
</tagfile>
