<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>caster_app_node.cpp</name>
    <path>/tmp/ws/src/caster/caster_app/src/</path>
    <filename>caster__app__node_8cpp</filename>
    <includes id="dock__server_8h" name="dock_server.h" local="no" imported="no">dock_server.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>caster__app__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>dock_candidate.h</name>
    <path>/tmp/ws/src/caster/caster_app/include/</path>
    <filename>dock__candidate_8h</filename>
    <class kind="struct">CompareCandidates</class>
    <class kind="struct">DockCandidate</class>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; DockCandidate &gt;</type>
      <name>DockCandidatePtr</name>
      <anchorfile>dock__candidate_8h.html</anchorfile>
      <anchor>abef251cae0797b6c24a2250c5cedbfb0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>dock_detect.py</name>
    <path>/tmp/ws/src/caster/caster_app/script/</path>
    <filename>dock__detect_8py</filename>
    <namespace>dock_detect</namespace>
    <member kind="function">
      <type>def</type>
      <name>callback</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a3a0127c07f3a672459fa9bff3ed34a18</anchor>
      <arglist>(data)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>GenerateIdealDock</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a0a1d8a1bd83eddf1cceb14d548f91d30</anchor>
      <arglist>(points_count)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>main</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>aa1de742eb1087bf1e582266602705aa7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>Point32ToNumpy</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a943d7fe8e57acc7cd370b259a8067f61</anchor>
      <arglist>(points)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cluster_pointcloud</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>abfd3599ab46c710131c33a77437a50ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>cluster_threshold</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a72a3f09d266cfdcf052b235588ee261a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>dock_pointcloud</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>ad884d91c130273dc1ec911c7ab441d97</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>dock_pose</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>abb3002aebffdbff4b0dbbd25a11f8b6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>find_dock</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a30d29999a0cfb7dae40899ab75b171ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>icp_distance_threshold</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>ad432d617e2a2ca538cd13a040797436c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ideal_dock_pointcloud</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a5dab07a959ce6e69c739b3042dcdd866</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>max_detect_angle</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a51a906229ef9e4b2b3ef12d44966aa43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>min_detect_angle</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>ab128a73cc120cdf8ab0c4b45220dc36c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>potential_clouds_min_points</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a71f04d9737bbc18b0be644df305348a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>T</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a2d913ca6aeb35233da494f594103308b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>dock_server.cpp</name>
    <path>/tmp/ws/src/caster/caster_app/src/</path>
    <filename>dock__server_8cpp</filename>
    <includes id="dock__server_8h" name="dock_server.h" local="yes" imported="no">dock_server.h</includes>
  </compound>
  <compound kind="file">
    <name>dock_server.h</name>
    <path>/tmp/ws/src/caster/caster_app/include/</path>
    <filename>dock__server_8h</filename>
    <includes id="perception_8h" name="perception.h" local="no" imported="no">perception.h</includes>
    <class kind="class">iqr::DockServer</class>
    <namespace>iqr</namespace>
  </compound>
  <compound kind="file">
    <name>dock_server.py</name>
    <path>/tmp/ws/src/caster/caster_app/script/</path>
    <filename>dock__server_8py</filename>
    <class kind="class">dock_server::DockActionServer</class>
    <namespace>dock_server</namespace>
    <member kind="function">
      <type>def</type>
      <name>main</name>
      <anchorfile>namespacedock__server.html</anchorfile>
      <anchor>af1d7b7c530b405d3cf6f9672fcea303b</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>icp.py</name>
    <path>/tmp/ws/src/caster/caster_app/script/</path>
    <filename>icp_8py</filename>
    <namespace>icp</namespace>
    <member kind="function">
      <type>def</type>
      <name>best_fit_transform</name>
      <anchorfile>namespaceicp.html</anchorfile>
      <anchor>a09b6baa7e00808c9a2e0b727b8e15748</anchor>
      <arglist>(A, B)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>icp</name>
      <anchorfile>namespaceicp.html</anchorfile>
      <anchor>a8ef613952123af15095fe411d5be139c</anchor>
      <arglist>(A, B, init_pose=None, max_iterations=20, tolerance=0.001)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>nearest_neighbor</name>
      <anchorfile>namespaceicp.html</anchorfile>
      <anchor>a203138f3d1bc781cf27deb2c60a4c5e1</anchor>
      <arglist>(src, dst)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>icp_2d.cpp</name>
    <path>/tmp/ws/src/caster/caster_app/src/</path>
    <filename>icp__2d_8cpp</filename>
    <includes id="icp__2d_8h" name="icp_2d.h" local="no" imported="no">icp_2d.h</includes>
    <namespace>icp_2d</namespace>
    <member kind="function">
      <type>double</type>
      <name>alignICP</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>acc326fb79b98aff7f079c999e639e612</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform, size_t max_iterations=10, double min_delta_rmsd=0.000001)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>alignPCA</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a084504e295c186d18eb53d60313edc8a</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>alignSVD</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a21b247852575444a34e9e159c5944aec</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>computeCorrespondences</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>ab790ab32ec65c698fbb8f15f12683569</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; &amp;source, const std::vector&lt; geometry_msgs::Point &gt; &amp;target, std::vector&lt; geometry_msgs::Point &gt; &amp;correspondences)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Point</type>
      <name>getCentroid</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>afc20d1a224a6c7b356d177288b0b6316</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; points)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getRMSD</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a21f56cd0e2258fc6271cea93cdee80c5</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>thetaFromQuaternion</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a7d2e695d108342e507119ce20990255d</anchor>
      <arglist>(const geometry_msgs::Quaternion &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>transform</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a840ee1730917d6a0f4aafc3988b66531</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; &amp;points, double x, double y, double theta)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>icp_2d.h</name>
    <path>/tmp/ws/src/caster/caster_app/include/</path>
    <filename>icp__2d_8h</filename>
    <namespace>icp_2d</namespace>
    <member kind="function">
      <type>double</type>
      <name>alignICP</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>acc326fb79b98aff7f079c999e639e612</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform, size_t max_iterations=10, double min_delta_rmsd=0.000001)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>alignPCA</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a084504e295c186d18eb53d60313edc8a</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>alignSVD</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a21b247852575444a34e9e159c5944aec</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Point</type>
      <name>getCentroid</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>afc20d1a224a6c7b356d177288b0b6316</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; points)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>thetaFromQuaternion</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a7d2e695d108342e507119ce20990255d</anchor>
      <arglist>(const geometry_msgs::Quaternion &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>transform</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a840ee1730917d6a0f4aafc3988b66531</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; &amp;points, double x, double y, double theta)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>laser_processor.cpp</name>
    <path>/tmp/ws/src/caster/caster_app/src/</path>
    <filename>laser__processor_8cpp</filename>
    <includes id="laser__processor_8h" name="laser_processor.h" local="no" imported="no">laser_processor.h</includes>
    <namespace>laser_processor</namespace>
  </compound>
  <compound kind="file">
    <name>laser_processor.h</name>
    <path>/tmp/ws/src/caster/caster_app/include/</path>
    <filename>laser__processor_8h</filename>
    <class kind="struct">laser_processor::CompareSample</class>
    <class kind="class">laser_processor::Sample</class>
    <class kind="class">laser_processor::SampleSet</class>
    <class kind="class">laser_processor::ScanMask</class>
    <class kind="class">laser_processor::ScanProcessor</class>
    <namespace>laser_processor</namespace>
    <member kind="typedef">
      <type>SampleSet *</type>
      <name>SampleSetConstPtr</name>
      <anchorfile>namespacelaser__processor.html</anchorfile>
      <anchor>a33eabfb9a885cb5171217408ca8987bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>SampleSet *</type>
      <name>SampleSetPtr</name>
      <anchorfile>namespacelaser__processor.html</anchorfile>
      <anchor>aeb872326eb71742e45d1874cd4b60eb3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>linear_pose_filter_2d.cpp</name>
    <path>/tmp/ws/src/caster/caster_app/src/</path>
    <filename>linear__pose__filter__2d_8cpp</filename>
    <includes id="linear__pose__filter__2d_8h" name="linear_pose_filter_2d.h" local="no" imported="no">linear_pose_filter_2d.h</includes>
  </compound>
  <compound kind="file">
    <name>linear_pose_filter_2d.h</name>
    <path>/tmp/ws/src/caster/caster_app/include/</path>
    <filename>linear__pose__filter__2d_8h</filename>
    <class kind="class">LinearPoseFilter2D</class>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; LinearPoseFilter2D &gt;</type>
      <name>LinearPoseFilter2DPtr</name>
      <anchorfile>linear__pose__filter__2d_8h.html</anchorfile>
      <anchor>a7c23719e7778acd13554f7700638b810</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>perception.cpp</name>
    <path>/tmp/ws/src/caster/caster_app/src/</path>
    <filename>perception_8cpp</filename>
    <includes id="icp__2d_8h" name="icp_2d.h" local="no" imported="no">icp_2d.h</includes>
    <includes id="perception_8h" name="perception.h" local="no" imported="no">perception.h</includes>
    <member kind="function">
      <type>double</type>
      <name>getPoseDistance</name>
      <anchorfile>perception_8cpp.html</anchorfile>
      <anchor>a5aa24b164c275eb541ab7bb10fb06f4b</anchor>
      <arglist>(const geometry_msgs::Pose a, const geometry_msgs::Pose b)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>perception.h</name>
    <path>/tmp/ws/src/caster/caster_app/include/</path>
    <filename>perception_8h</filename>
    <includes id="dock__candidate_8h" name="dock_candidate.h" local="no" imported="no">dock_candidate.h</includes>
    <includes id="laser__processor_8h" name="laser_processor.h" local="no" imported="no">laser_processor.h</includes>
    <includes id="linear__pose__filter__2d_8h" name="linear_pose_filter_2d.h" local="no" imported="no">linear_pose_filter_2d.h</includes>
    <class kind="class">DockPerception</class>
  </compound>
  <compound kind="struct">
    <name>CompareCandidates</name>
    <filename>structCompareCandidates.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator()</name>
      <anchorfile>structCompareCandidates.html</anchorfile>
      <anchor>a9b9310513810d4fb0929d791f96d8820</anchor>
      <arglist>(DockCandidatePtr a, DockCandidatePtr b)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>laser_processor::CompareSample</name>
    <filename>structlaser__processor_1_1CompareSample.html</filename>
    <member kind="function">
      <type></type>
      <name>CompareSample</name>
      <anchorfile>structlaser__processor_1_1CompareSample.html</anchorfile>
      <anchor>a8812e83ba266bcf92ab2f2a179d66c23</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator()</name>
      <anchorfile>structlaser__processor_1_1CompareSample.html</anchorfile>
      <anchor>a0e05b864b97091b81dfecaa8374ea90c</anchor>
      <arglist>(const Sample *a, const Sample *b)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>dock_server::DockActionServer</name>
    <filename>classdock__server_1_1DockActionServer.html</filename>
    <base>actionlib::action_server::ActionServer</base>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a2f231b40586447f7f6509d82870eb78f</anchor>
      <arglist>(self, name)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__cancel_callback</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>aff4e1fe30dea408be32770b9334005d9</anchor>
      <arglist>(self, gh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__dock_pose_callback</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a01f275ee9285a7cfed1ab5a14c918bf2</anchor>
      <arglist>(self, data)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__goal_callback</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a5d90a4d0066a238983999f97cf775c9e</anchor>
      <arglist>(self, gh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__moveto_dock</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a89fe813160da08dd545cb3caaa4c2f24</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__moveto_dock_ready_allin</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>aacb4ebfbb77e3b6390b13b8275a29a02</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__set_charge_relay</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>aa7abe3a07faf9db53822e2f00f450630</anchor>
      <arglist>(self, state)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>def</type>
      <name>__undock</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a5ef725aee807bb1eff06d88a5a1f0fc7</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__base_frame</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>ab8f9bf11549cccfc2fd6ed6c5bb46b51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__cmd_pub</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>aa491564d23ad99830c31e236755f75b5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__dock_distance</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a4b9c47c76d8d4147ccc44287f55f84a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__dock_ready_pose</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a67b47b917e24e4e58431aa924def8f92</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__dock_ready_pose_2</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a8be0da68d5eb52320b87beaa3443894c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__dock_speed</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a0995253769170d9b1e12902177cbb6a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__docked</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>af8866bda06c83567a65695b51ef1cdef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__map_frame</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a15533b5f2b50133b11de091d90fa97a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__movebase_client</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a6e0ee914fae6c3d6710a90f586e4d9c9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__odom_frame</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a4dc269ad6c17688c40cfcc134eea7906</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__saved_gh</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>afb5562d389e4c8acb93aa79c6c2ac22b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__saved_goal</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a425c047d22116a88fd64f748fa8f3921</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type></type>
      <name>__tf_listener</name>
      <anchorfile>classdock__server_1_1DockActionServer.html</anchorfile>
      <anchor>a045fedbed99f2de06364f98c0e9283ae</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>DockCandidate</name>
    <filename>structDockCandidate.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>valid</name>
      <anchorfile>structDockCandidate.html</anchorfile>
      <anchor>abaa1cce8b273416eb643f49f3f34ebfb</anchor>
      <arglist>(bool dock_found)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>width</name>
      <anchorfile>structDockCandidate.html</anchorfile>
      <anchor>a3d6bed9e3e2d835974df301931e706e6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>dist</name>
      <anchorfile>structDockCandidate.html</anchorfile>
      <anchor>ad91cd5f002c3261c8f9a15e2c8e5e03a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>points</name>
      <anchorfile>structDockCandidate.html</anchorfile>
      <anchor>a4425b86761e8262054856d54dd64f56a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>DockPerception</name>
    <filename>classDockPerception.html</filename>
    <member kind="function">
      <type></type>
      <name>DockPerception</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a72a1be03640429ea42d94c754c48b472</anchor>
      <arglist>(ros::NodeHandle &amp;nh)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getPose</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>ab0f686c745c9970c8a6464f536312efd</anchor>
      <arglist>(geometry_msgs::PoseStamped &amp;pose, std::string frame=&quot;&quot;)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>start</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a60ffd13dae963a6c444f6ea3fd25b8b5</anchor>
      <arglist>(const geometry_msgs::PoseStamped &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>stop</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a00adbcc1bd5e1360f10deb6116a90f68</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a28aab0a38418c49deece9aa9c38a6761</anchor>
      <arglist>(const sensor_msgs::LaserScanConstPtr &amp;scan)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>DockCandidatePtr</type>
      <name>extract</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a79e0f791cd564cce0fe1a5eefe1caecc</anchor>
      <arglist>(laser_processor::SampleSet *cluster)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>fit</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>ad0889b710fa7f732d2ae8bd58699e464</anchor>
      <arglist>(const DockCandidatePtr &amp;candidate, geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static bool</type>
      <name>isValid</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>aebe4d5bf9d5cfe6bf599684a0976cf0a</anchor>
      <arglist>(const tf::Quaternion &amp;q)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>debug_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>af97c9d8cdf3365bc8a5bfd6f7f2fbb73</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>debug_points_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a43d5a7c9bff06b6c3a99a6da0d43f56f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>geometry_msgs::PoseStamped</type>
      <name>dock_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a8a624294bcbfd02e8024f70fe97dfa70</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>dock_mutex_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a860e16b337c790eebadcccc947c35783</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>LinearPoseFilter2DPtr</type>
      <name>dock_pose_filter_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a802178a81290d86d2f39a344d4c245d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>dock_stamp_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>af6ca5b2745762e17cc0ef100f6ec77ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>found_dock_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>af1b5b351b25a86866695d8ca0924a35f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>front_cloud_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a4338ac29ad55d52d03900fec1e245e76</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>ideal_cloud_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>ad1e201f0e993689d9a471ac82501ed1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformListener</type>
      <name>listener_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a15313ea50f90c5cff3b14acc71c58c42</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_alignment_error_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>ab39561483db47838678afdb9f331f6cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>running_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>aa02db428b0f0d3ccf6e5880eacdfa66c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>scan_sub_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a8be5e4468d1846fff495d4867ffd8f3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>tracking_frame_</name>
      <anchorfile>classDockPerception.html</anchorfile>
      <anchor>a23cb5363d7be371d2f98984369e26020</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>iqr::DockServer</name>
    <filename>classiqr_1_1DockServer.html</filename>
    <base>ActionServer&lt; caster_app::DockAction &gt;</base>
    <member kind="typedef">
      <type>actionlib::ServerGoalHandle&lt; caster_app::DockAction &gt;</type>
      <name>GoalHandle</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a8d48504d69924b10a8a3fc6c6db14207</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>docked</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a6d48da8111a02f49ed8f3f6087398b71</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>DockServer</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>ae18c94f0fa5ee0f403eb087587ccbc34</anchor>
      <arglist>(ros::NodeHandle &amp;nh, ros::NodeHandle &amp;private_nh, const std::string &amp;server_name)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Initialize</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>af7776db10f9dbe8d3824ef8c7af7bdf8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>CancelCallback</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a4eb0e711f17e73dc6188bcac3254824e</anchor>
      <arglist>(GoalHandle gh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>GoalCallback</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a991d88885eb23a8da07f0725a2a56490</anchor>
      <arglist>(GoalHandle gh)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>MovebaseDoneCallback</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a536ef4bfd2c13f3d684f152a7bfe7fe3</anchor>
      <arglist>(const actionlib::SimpleClientGoalState &amp;state, const move_base_msgs::MoveBaseResultConstPtr &amp;result)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>MovebaseFeedbackCallback</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>ab1f21a2a09fccccdc51ad84e564f8010</anchor>
      <arglist>(const move_base_msgs::MoveBaseFeedbackConstPtr &amp;feedback)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>MoveToDock</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>ac89b78ee94e7d16b78c5f1a01c901664</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>MoveToDockReady</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a188f47d258c51541a88e6e571cbc88d8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>UnDock</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a7a46089f92a2b9c61b36461ac910d89f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>action_name_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>aa9261ffa22611e92453b3ae72c73afa6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>base_frame_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>acc9eb6b84b3e07c09ea84e616f49c5c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>cmd_pub_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a92ced08418323a62c38589f10f983db8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>dock_distance_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a03fca6a0e8e50c9f00df1cd156793616</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>geometry_msgs::Pose</type>
      <name>dock_ready_pose_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a01580be15add764eb426dc18a5e2eca9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>dock_speed_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a62e67c08fbe30817f05ec4373fef3cfc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>docked_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>ab36ac1332bc7b391df5ea8b075ca06e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>caster_app::DockFeedback</type>
      <name>feedback_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>aaf99ce7da40fe4c0ad558772d1bc1350</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>GoalHandle</type>
      <name>goal_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a970070bed281b525dfbcc1643351af29</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>map_frame_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>aa33b67ffe8d7b6f3d73d7e06227191be</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>actionlib::SimpleActionClient&lt; move_base_msgs::MoveBaseAction &gt;</type>
      <name>move_base_client_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a60828d19f61bf2b55e64f0e0ec502f97</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>adbc6e1872f97dc2e5e11e7eb0ccbbf91</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>odom_frame_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a5de22ff4ab7426bce7b59123f0c1d928</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>DockPerception</type>
      <name>perception_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>ae8337c52708baa3f1e379cc7fe9c84c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>private_nh_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a3932db76e8ffbed1de997bc9a2fa6c20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>caster_app::DockResult</type>
      <name>result_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a091af19b0bd6bfe75ff931a091d110d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf::TransformListener</type>
      <name>tf_listener_</name>
      <anchorfile>classiqr_1_1DockServer.html</anchorfile>
      <anchor>a27a1745cae78289d55e29d4cc310ef23</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>LinearPoseFilter2D</name>
    <filename>classLinearPoseFilter2D.html</filename>
    <member kind="function">
      <type>geometry_msgs::Pose</type>
      <name>filter</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a28442ea111a825674fdf208ecb4da60f</anchor>
      <arglist>(const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LinearPoseFilter2D</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a196fbabb46c58e92cfc6908a8384ce8a</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;b, const std::vector&lt; float &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a5bd9001bd7c50574bb45d9fc2009a2f7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setCoeff</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a5fab8aaee58d9f5ed3390a74777648b9</anchor>
      <arglist>(const std::vector&lt; float &gt; &amp;b, const std::vector&lt; float &gt; &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFilterState</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a46e0b90cc9774fb232e845675a30aaec</anchor>
      <arglist>(const geometry_msgs::Pose &amp;input_pose, const geometry_msgs::Pose &amp;output_pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFilterState</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a2f0d52c8ca895cdc29f340dcbe8dce3c</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Pose &gt; &amp;input_poses, const std::vector&lt; geometry_msgs::Pose &gt; &amp;output_poses)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFilterState</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a7766e863d6b4ab9e34d5f0b90acd5d26</anchor>
      <arglist>(const geometry_msgs::Pose &amp;input_pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setFilterState</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a33c246524292d513767426af2fd83894</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Pose &gt; &amp;input_poses)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>float</type>
      <name>getNewestOutputYaw</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a9ebe43b8b5d829a45076eef7eaf7598a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>float</type>
      <name>getUnnormalizedYaw</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a94b76c999b2487e6a83179fe0ccd290e</anchor>
      <arglist>(geometry_msgs::Pose pose, float reference_yaw)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>geometry_msgs::Pose</type>
      <name>originPose</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>ac44125b1be6851f57f6a73d9bddfdcef</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; float &gt;</type>
      <name>a_</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>ae0182070f0b1939375c267481a9d044d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; float &gt;</type>
      <name>b_</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>ab8c05d4a64acacbefdc13b5626548d8a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::deque&lt; geometry_msgs::Pose &gt;</type>
      <name>in_</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a31cb0aef96704bb1f359a6e038ac0ab2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::deque&lt; geometry_msgs::Pose &gt;</type>
      <name>out_</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a7896f1924465cc5c0f4010f0ee9d6318</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::deque&lt; float &gt;</type>
      <name>yaw_in_</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>aff6bb0e29b63343d34f25a0ded008fc4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::deque&lt; float &gt;</type>
      <name>yaw_out_</name>
      <anchorfile>classLinearPoseFilter2D.html</anchorfile>
      <anchor>a6bf5c99bf6025ea52a732a2181e944ad</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_processor::Sample</name>
    <filename>classlaser__processor_1_1Sample.html</filename>
    <member kind="function" static="yes">
      <type>static Sample *</type>
      <name>Extract</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>a5624bceaab5325e2c7a26f2e5703c122</anchor>
      <arglist>(int ind, const sensor_msgs::LaserScan &amp;scan)</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>index</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>abfe10bdf6f5a81eebd15c66d07c51b31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>intensity</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>a68f754c46ab5832e7d423ccb2097f029</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>range</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>a336b13be0ee5774a85d9de5ab0a37984</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>x</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>aad9292a39232a93732712ff3e4f18153</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>y</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>ac63fcf0f34c85eb6e6b66f5bb55c9b98</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>Sample</name>
      <anchorfile>classlaser__processor_1_1Sample.html</anchorfile>
      <anchor>a68bc59678764bbb31a04c7984566e0d9</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_processor::SampleSet</name>
    <filename>classlaser__processor_1_1SampleSet.html</filename>
    <member kind="function">
      <type>void</type>
      <name>appendToCloud</name>
      <anchorfile>classlaser__processor_1_1SampleSet.html</anchorfile>
      <anchor>a35dfddcac37f3b6f019c5cffff0f05d6</anchor>
      <arglist>(sensor_msgs::PointCloud &amp;cloud, int r=0, int g=0, int b=0)</arglist>
    </member>
    <member kind="function">
      <type>tf::Point</type>
      <name>center</name>
      <anchorfile>classlaser__processor_1_1SampleSet.html</anchorfile>
      <anchor>afafabe8bd57ba19da19fdd6d4d84ff5a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classlaser__processor_1_1SampleSet.html</anchorfile>
      <anchor>aea1a1207f17a2867b4a9fa474f22e73b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SampleSet</name>
      <anchorfile>classlaser__processor_1_1SampleSet.html</anchorfile>
      <anchor>a913c86af139ca45930e4f9b5cfd7304c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~SampleSet</name>
      <anchorfile>classlaser__processor_1_1SampleSet.html</anchorfile>
      <anchor>ac5a08ad9a7be078438153c370491fbe8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>std_msgs::Header</type>
      <name>header</name>
      <anchorfile>classlaser__processor_1_1SampleSet.html</anchorfile>
      <anchor>addb01df1e86c02faf1b6bce3b2844385</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_processor::ScanMask</name>
    <filename>classlaser__processor_1_1ScanMask.html</filename>
    <member kind="function">
      <type>void</type>
      <name>addScan</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>a0f045c7a0df2141b428fc7b3d5317ca4</anchor>
      <arglist>(sensor_msgs::LaserScan &amp;scan)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>a17aace54bf8247b3932785a1fb8e9f5c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasSample</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>a4ac79795950208b7901c12ca91d3bd4c</anchor>
      <arglist>(Sample *s, float thresh)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanMask</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>abf4f33f63d8243d6334248769e363263</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>angle_max</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>ae8250774b1a239a564df14d73e7ac7d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>float</type>
      <name>angle_min</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>a7c900413db5a76b89cddce1324891d2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>filled</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>afbfe8c9751d1ad0d13985565ef34219e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SampleSet</type>
      <name>mask_</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>a60f70368589d095a69531febf7bcd74d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint32_t</type>
      <name>size</name>
      <anchorfile>classlaser__processor_1_1ScanMask.html</anchorfile>
      <anchor>aa80f47ce46856a27b2f87035b7e7af22</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>laser_processor::ScanProcessor</name>
    <filename>classlaser__processor_1_1ScanProcessor.html</filename>
    <member kind="function">
      <type>std::list&lt; SampleSetConstPtr &gt; &amp;</type>
      <name>getClusters</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>ad8365a5226af3bfe9bd786308f1b7249</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>removeLessThan</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>ad6403a67cacbe547091dabc18abe9877</anchor>
      <arglist>(uint32_t num)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanProcessor</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>a68e83ffe9fd33ca72748c5a786048123</anchor>
      <arglist>(const sensor_msgs::LaserScan &amp;scan, ScanMask &amp;mask_, float mask_threshold=0.03)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>splitConnected</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>a25fdc6008ef4ce94455bad1d1474064e</anchor>
      <arglist>(float thresh)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ScanProcessor</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>ad67ad017e4faab7b31b16c11a7ae6512</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::list&lt; SampleSetConstPtr &gt;</type>
      <name>clusters_</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>a54bcbed531fd0c09a9ffb24231420099</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sensor_msgs::LaserScan</type>
      <name>scan_</name>
      <anchorfile>classlaser__processor_1_1ScanProcessor.html</anchorfile>
      <anchor>a9211995bf0de69c2c476a94b94d3e5aa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>dock_detect</name>
    <filename>namespacedock__detect.html</filename>
    <member kind="function">
      <type>def</type>
      <name>callback</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a3a0127c07f3a672459fa9bff3ed34a18</anchor>
      <arglist>(data)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>GenerateIdealDock</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a0a1d8a1bd83eddf1cceb14d548f91d30</anchor>
      <arglist>(points_count)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>main</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>aa1de742eb1087bf1e582266602705aa7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>Point32ToNumpy</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a943d7fe8e57acc7cd370b259a8067f61</anchor>
      <arglist>(points)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cluster_pointcloud</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>abfd3599ab46c710131c33a77437a50ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>cluster_threshold</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a72a3f09d266cfdcf052b235588ee261a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>dock_pointcloud</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>ad884d91c130273dc1ec911c7ab441d97</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>dock_pose</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>abb3002aebffdbff4b0dbbd25a11f8b6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>find_dock</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a30d29999a0cfb7dae40899ab75b171ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>icp_distance_threshold</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>ad432d617e2a2ca538cd13a040797436c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ideal_dock_pointcloud</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a5dab07a959ce6e69c739b3042dcdd866</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>max_detect_angle</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a51a906229ef9e4b2b3ef12d44966aa43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>min_detect_angle</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>ab128a73cc120cdf8ab0c4b45220dc36c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>potential_clouds_min_points</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a71f04d9737bbc18b0be644df305348a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>T</name>
      <anchorfile>namespacedock__detect.html</anchorfile>
      <anchor>a2d913ca6aeb35233da494f594103308b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>dock_server</name>
    <filename>namespacedock__server.html</filename>
    <class kind="class">dock_server::DockActionServer</class>
    <member kind="function">
      <type>def</type>
      <name>main</name>
      <anchorfile>namespacedock__server.html</anchorfile>
      <anchor>af1d7b7c530b405d3cf6f9672fcea303b</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>icp</name>
    <filename>namespaceicp.html</filename>
    <member kind="function">
      <type>def</type>
      <name>best_fit_transform</name>
      <anchorfile>namespaceicp.html</anchorfile>
      <anchor>a09b6baa7e00808c9a2e0b727b8e15748</anchor>
      <arglist>(A, B)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>icp</name>
      <anchorfile>namespaceicp.html</anchorfile>
      <anchor>a8ef613952123af15095fe411d5be139c</anchor>
      <arglist>(A, B, init_pose=None, max_iterations=20, tolerance=0.001)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>nearest_neighbor</name>
      <anchorfile>namespaceicp.html</anchorfile>
      <anchor>a203138f3d1bc781cf27deb2c60a4c5e1</anchor>
      <arglist>(src, dst)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>icp_2d</name>
    <filename>namespaceicp__2d.html</filename>
    <member kind="function">
      <type>double</type>
      <name>alignICP</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>acc326fb79b98aff7f079c999e639e612</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform, size_t max_iterations=10, double min_delta_rmsd=0.000001)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>alignPCA</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a084504e295c186d18eb53d60313edc8a</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>alignSVD</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a21b247852575444a34e9e159c5944aec</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target, geometry_msgs::Transform &amp;transform)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>computeCorrespondences</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>ab790ab32ec65c698fbb8f15f12683569</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; &amp;source, const std::vector&lt; geometry_msgs::Point &gt; &amp;target, std::vector&lt; geometry_msgs::Point &gt; &amp;correspondences)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Point</type>
      <name>getCentroid</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>afc20d1a224a6c7b356d177288b0b6316</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; points)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getRMSD</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a21f56cd0e2258fc6271cea93cdee80c5</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; source, const std::vector&lt; geometry_msgs::Point &gt; target)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>thetaFromQuaternion</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a7d2e695d108342e507119ce20990255d</anchor>
      <arglist>(const geometry_msgs::Quaternion &amp;q)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; geometry_msgs::Point &gt;</type>
      <name>transform</name>
      <anchorfile>namespaceicp__2d.html</anchorfile>
      <anchor>a840ee1730917d6a0f4aafc3988b66531</anchor>
      <arglist>(const std::vector&lt; geometry_msgs::Point &gt; &amp;points, double x, double y, double theta)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>iqr</name>
    <filename>namespaceiqr.html</filename>
    <class kind="class">iqr::DockServer</class>
  </compound>
  <compound kind="namespace">
    <name>laser_processor</name>
    <filename>namespacelaser__processor.html</filename>
    <class kind="struct">laser_processor::CompareSample</class>
    <class kind="class">laser_processor::Sample</class>
    <class kind="class">laser_processor::SampleSet</class>
    <class kind="class">laser_processor::ScanMask</class>
    <class kind="class">laser_processor::ScanProcessor</class>
    <member kind="typedef">
      <type>SampleSet *</type>
      <name>SampleSetConstPtr</name>
      <anchorfile>namespacelaser__processor.html</anchorfile>
      <anchor>a33eabfb9a885cb5171217408ca8987bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>SampleSet *</type>
      <name>SampleSetPtr</name>
      <anchorfile>namespacelaser__processor.html</anchorfile>
      <anchor>aeb872326eb71742e45d1874cd4b60eb3</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
