<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>cluster.cpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>cluster_8cpp</filename>
    <includes id="cluster_8hpp" name="cluster.hpp" local="yes" imported="no">cluster.hpp</includes>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>normalize_angle</name>
      <anchorfile>cluster_8cpp.html</anchorfile>
      <anchor>a2f3d328f4bbd9e8e5424160a454d5faf</anchor>
      <arglist>(double angle)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>normalize_angle_positive</name>
      <anchorfile>cluster_8cpp.html</anchorfile>
      <anchor>a375074e71d07270d080e6a3b5c298df6</anchor>
      <arglist>(double angle)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>shortest_angular_distance</name>
      <anchorfile>cluster_8cpp.html</anchorfile>
      <anchor>abda4a71f51e237ff8ed23d3253e6bb13</anchor>
      <arglist>(double from, double to)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>cluster.hpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>cluster_8hpp</filename>
    <includes id="l__shape__tracker_8hpp" name="l_shape_tracker.hpp" local="yes" imported="no">l_shape_tracker.hpp</includes>
    <class kind="class">Cluster</class>
    <member kind="typedef">
      <type>std::pair&lt; double, double &gt;</type>
      <name>Point</name>
      <anchorfile>cluster_8hpp.html</anchorfile>
      <anchor>ac1a9ea059cf63831784b76751e06ec21</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; Point &gt;</type>
      <name>pointList</name>
      <anchorfile>cluster_8hpp.html</anchorfile>
      <anchor>ace3544402ba7d0ac39e22c484709e856</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>datmo.cpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>datmo_8cpp</filename>
    <includes id="datmo_8hpp" name="datmo.hpp" local="yes" imported="no">datmo.hpp</includes>
  </compound>
  <compound kind="file">
    <name>datmo.hpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>datmo_8hpp</filename>
    <includes id="cluster_8hpp" name="cluster.hpp" local="yes" imported="no">cluster.hpp</includes>
    <class kind="class">Datmo</class>
    <member kind="typedef">
      <type>std::vector&lt; double &gt;</type>
      <name>l_shape</name>
      <anchorfile>datmo_8hpp.html</anchorfile>
      <anchor>a5e635fa798d5a7c803b636e174f332f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; l_shape &gt;</type>
      <name>l_shapes</name>
      <anchorfile>datmo_8hpp.html</anchorfile>
      <anchor>aeb02b692c026b09af2a5b867e3447de9</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::pair&lt; double, double &gt;</type>
      <name>Point</name>
      <anchorfile>datmo_8hpp.html</anchorfile>
      <anchor>ac1a9ea059cf63831784b76751e06ec21</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; Point &gt;</type>
      <name>pointList</name>
      <anchorfile>datmo_8hpp.html</anchorfile>
      <anchor>ace3544402ba7d0ac39e22c484709e856</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>kalman.cpp</name>
    <path>/tmp/ws/src/datmo/src/kalman-cpp/</path>
    <filename>kalman_8cpp</filename>
    <includes id="kalman_8hpp" name="kalman.hpp" local="yes" imported="no">kalman.hpp</includes>
  </compound>
  <compound kind="file">
    <name>kalman.hpp</name>
    <path>/tmp/ws/src/datmo/src/kalman-cpp/</path>
    <filename>kalman_8hpp</filename>
    <class kind="class">KalmanFilter</class>
  </compound>
  <compound kind="file">
    <name>l_shape_tracker.cpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>l__shape__tracker_8cpp</filename>
    <includes id="l__shape__tracker_8hpp" name="l_shape_tracker.hpp" local="yes" imported="no">l_shape_tracker.hpp</includes>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>normalize_angle</name>
      <anchorfile>l__shape__tracker_8cpp.html</anchorfile>
      <anchor>a2f3d328f4bbd9e8e5424160a454d5faf</anchor>
      <arglist>(double angle)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>normalize_angle_positive</name>
      <anchorfile>l__shape__tracker_8cpp.html</anchorfile>
      <anchor>a375074e71d07270d080e6a3b5c298df6</anchor>
      <arglist>(double angle)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>shortest_angular_distance</name>
      <anchorfile>l__shape__tracker_8cpp.html</anchorfile>
      <anchor>abda4a71f51e237ff8ed23d3253e6bb13</anchor>
      <arglist>(double from, double to)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>l_shape_tracker.hpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>l__shape__tracker_8hpp</filename>
    <includes id="kalman_8hpp" name="kalman.hpp" local="yes" imported="no">kalman-cpp/kalman.hpp</includes>
    <class kind="class">LshapeTracker</class>
    <member kind="typedef">
      <type>std::pair&lt; double, double &gt;</type>
      <name>Point</name>
      <anchorfile>l__shape__tracker_8hpp.html</anchorfile>
      <anchor>ac1a9ea059cf63831784b76751e06ec21</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Eigen::Matrix&lt; double, 6, 1 &gt;</type>
      <name>Vector6d</name>
      <anchorfile>l__shape__tracker_8hpp.html</anchorfile>
      <anchor>a13a6330b4a41b96b124a1ab827e22be8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>pi</name>
      <anchorfile>l__shape__tracker_8hpp.html</anchorfile>
      <anchor>a43016d873124d39034edb8cd164794db</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>main.cpp</name>
    <path>/tmp/ws/src/datmo/src/</path>
    <filename>main_8cpp</filename>
    <includes id="datmo_8hpp" name="datmo.hpp" local="yes" imported="no">datmo.hpp</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Cluster</name>
    <filename>classCluster.html</filename>
    <member kind="function">
      <type></type>
      <name>Cluster</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a1223ceb9890dd7ba82f298a6d1ce4851</anchor>
      <arglist>(unsigned long int id, const pointList &amp;, const double &amp;, const std::string &amp;, const tf::Transform &amp;ego_pose)</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getArrowVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a62d2ca508443aa1a123dea194353a377</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getBoundingBoxCenterVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>affa7e1565687ffbd4d9cb72cf7ed99ed</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getBoundingBoxVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a903e9e675bf2513d8f2715bb2ccac8aa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getBoxModelKFVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a616bd111ef473000ecd9c10c42ac385f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getBoxSolidVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a781660ab2a6f60eea4ffea684afe7653</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getClosestCornerPointVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>afcf663fb61eb92d5a9b259eb1037ddba</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getClusterVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>aacd9bbee4509a41497fce6e1589f4909</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getLineVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a79d16406617f10b417e74d1bf9392954</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getLShapeVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a5bad82d4910f4596d3f7b12873095f10</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getThetaBoxVisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a27c0ffc48f76fd0fb58c4cefd7fad519</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getThetaL1VisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ae4e9e0357f503297ab59ede3619d951e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>getThetaL2VisualisationMessage</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ae953ed7941f393d63f2128bba3d88915</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::pair&lt; double, double &gt;</type>
      <name>mean</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>afd44bac0fd11198c4b2567c2c5ff7c66</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>meanX</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a3719df130b94e25ec470daeab1a97ddb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>meanY</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>aadb7029be82c01a377173d229db5fb93</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a77af93329a5a302ab1ff72009ce05486</anchor>
      <arglist>(const pointList &amp;, const double dt, const tf::Transform &amp;ego_pose)</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>a</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a008e0e289031cab0972ffcc5d2d42ff6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned long int</type>
      <name>age</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>acdf2bb4574dd5e99aef85abf458c95aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>b</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a821520e0069f32f4c1c70f4fce9c4453</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>comega</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ab3d7b4df2cf95722123463bb8e10d0e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cvx</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a5e83ecc9b5cfb071824dff69561bd71e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cvy</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a1ba08d3752fc7d25056d4d02e663560a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cx</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a7a0982107a62eabb8f8ba696b38a1512</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cy</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a5095f1a4d0219ccf5fb90ecf649e343d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Point</type>
      <name>ego_coordinates</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a430ddc253f707c896608056e64e713d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>frame_name</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a2400385f59937b90fd4d2e8d8ce8e8c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>g</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a202ff973866ed434e200bd7116647cee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned long int</type>
      <name>id</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a2bb0c214df9662a5b301b09f53348419</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>L1</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ae1fdb39db1c8ff7d4a02c4902cc7bd1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>L1_box</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a29849daad09342a40945d9d637737a26</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>L2</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a1b00fc8595232a7b39f16bb00f7ebc9c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>L2_box</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a6f2939164d7505ad82cfbb31d4b00120</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>length_box</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a4434eefbb6b50d214f898a7bc805d63b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>LshapeTracker</type>
      <name>Lshape</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a851f848fe06cfebfd25c533ff912e501</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>datmo::Track</type>
      <name>msg_track_box_kf</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>acd8130d7d77bfef1c5de5e96e8152d06</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>old_thetaL1</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>aa0c7e12f751ce79eeb11a0f1c32b5cb8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>omega_ukf</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a72fe7198d7e3f69d988b112f3d7f6fbc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>psi</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ac858e59ad5b4ea6c3f13bd6c937a748c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>r</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>abf8a41f62469ff3511ba6a88126e344d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>th</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a2b51263050f1cbcbf4bf2419696ffdde</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>thetaL1</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a8d831e3be7421985706db14fdbeeb07d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>thetaL2</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a729d82119662dbff6250d53f92f64bfb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>vx_ukf</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>abb194b15ed2a6138a84e20b5dbc03750</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>vy_ukf</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a619a6d88616f6a0f0c916597c82d152a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>width_box</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>aa565d504c07ea21da9be2ff521012b9c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>x_ukf</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ab8d91f0f1e88e95a203788b46473ca84</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>y_ukf</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a8d2d7d30f04c8e5517534d7b0bfdf2de</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>areaCriterion</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a135316abb008bc9f0e2f03fe417a87ac</anchor>
      <arglist>(const VectorXd &amp;, const VectorXd &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>calcMean</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ad527014c9de282d73f7a95edf40980f3</anchor>
      <arglist>(const pointList &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>closenessCriterion</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ac778fe80b837e9d070e6e689db7f795c</anchor>
      <arglist>(const VectorXd &amp;, const VectorXd &amp;, const double &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>Point</type>
      <name>lineIntersection</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a11b8bd505f018c669f26021e35972896</anchor>
      <arglist>(double &amp;, double &amp;, double &amp;, double &amp;, double &amp;, double &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>perpendicularDistance</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a5bcca35b0752c645bd326072e8b8133c</anchor>
      <arglist>(const Point &amp;, const Point &amp;, const Point &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>populateTrackingMsgs</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ab334112004df18fcaeff6d3a90b7f2d6</anchor>
      <arglist>(const double &amp;dt)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>ramerDouglasPeucker</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a714503e2d3b24a42218697fb6e3c93cc</anchor>
      <arglist>(const std::vector&lt; Point &gt; &amp;, double, std::vector&lt; Point &gt; &amp;)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>rectangleFitting</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>aac09dff898f9926db000fbab47ceeda0</anchor>
      <arglist>(const pointList &amp;)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>visualization_msgs::Marker</type>
      <name>boxcenter_marker_</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a6300d18ed2b3f0078d0b02dcbd10920c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Point</type>
      <name>closest_corner_point</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ade4da7b206e1355200a8f643f66e8802</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; Point &gt;</type>
      <name>corner_list</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a797913c7fc327be344fc181383b1ac7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; Point &gt;</type>
      <name>l1l2</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>af13713a73d921e84d0ab8ec9fddff22f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::pair&lt; double, double &gt;</type>
      <name>mean_values</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a1fb724691fb2dd999ad96251f7ee4646</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>pointList</type>
      <name>new_cluster</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>ac576e0ccf3b9b1107dd7d7533138c144</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::pair&lt; double, double &gt;</type>
      <name>previous_mean_values</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>a745048a277cd2b8a9dd681091cd90a1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>tf2::Quaternion</type>
      <name>quaternion</name>
      <anchorfile>classCluster.html</anchorfile>
      <anchor>afa235a062142ff1943dffc0b6ce7c5e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>Datmo</name>
    <filename>classDatmo.html</filename>
    <member kind="function">
      <type>void</type>
      <name>callback</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a3479a539faceda9aa5ca259b89a9a98a</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>Clustering</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a64d1701ff55f90b27ca6cb8e19edbfea</anchor>
      <arglist>(const sensor_msgs::LaserScan::ConstPtr &amp;, vector&lt; pointList &gt; &amp;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Datmo</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a73c4fa345bc3a66953c36dbfa413e26e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>transformPointList</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a2aaf9f965491e46a17bb47580a1fc5d9</anchor>
      <arglist>(const pointList &amp;, pointList &amp;)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>visualiseGroupedPoints</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a09ad88a97eee37c286219d250678938c</anchor>
      <arglist>(const vector&lt; pointList &gt; &amp;)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Datmo</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>acf38cfbdb4bc0464900e59b75ca6cc25</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>tf::TransformListener</type>
      <name>tf_listener</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>ad4bca45cb739c7e09707a9a921e7236f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned long int</type>
      <name>cclusters</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>ab920e9acce29b170200a5bbf2548c0b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned long int</type>
      <name>cg</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>aa625dc64a873fe171712bc95e5769fae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>vector&lt; Cluster &gt;</type>
      <name>clusters</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>abaed5bb4bbf849eff2b3703999654d21</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>dt</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a0885f6117bb0fb4e9ff19c44b334721c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>dth</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a150e12ab31128493a4b4135377e4e251</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>euclidean_distance</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>ad86a55f07501aac55735dabfa00f8ffc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>lidar_frame</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>afc408699a0c275d1c3408e1b4d688289</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>max_cluster_size</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a4fcbf132c4d3f20b6bba6643ea8888e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>p_marker_pub</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>aa8f7e63261699a659d9958155e3a6551</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_marker_array</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>ada86049c4b35da989342c8256ac7e708</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_tracks_box_kf</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a4ecdc9f2ec6f07a25b4a2befdbb48a3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>sensor_msgs::LaserScan</type>
      <name>scan</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a65e6482e396a4d4526d33706f725acd0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_scan</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>aebdf74c250042e1a7d9f1c0fee4dcb2c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>time</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>ac1f94ee0cac28ca31b5b0aced8657126</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>w_exec_times</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a7632f35fe41606825814d846e045c68c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>world_frame</name>
      <anchorfile>classDatmo.html</anchorfile>
      <anchor>a43820dfc0b0e74273076c5968a77a30e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>KalmanFilter</name>
    <filename>classKalmanFilter.html</filename>
    <member kind="function">
      <type>void</type>
      <name>changeStates</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a02f6624efebda80f82648064a2282b8e</anchor>
      <arglist>(const Eigen::VectorXd &amp;new_states)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>aa5c8b24270c41353c7eafc0b81b90afa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>init</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a0940a83df44f1d2b821ac2be55c972bb</anchor>
      <arglist>(double t0, const Eigen::VectorXd &amp;x0)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>KalmanFilter</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>abcfeb90f1e474e155911d51040efa1d2</anchor>
      <arglist>(double dt, const Eigen::MatrixXd &amp;A, const Eigen::MatrixXd &amp;C, const Eigen::MatrixXd &amp;Q, const Eigen::MatrixXd &amp;R, const Eigen::MatrixXd &amp;P)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>KalmanFilter</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>aab2cc3677e9fcb19fff16b84c997f30a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>Eigen::VectorXd</type>
      <name>state</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a155e177e3eb6771b61550d8c811cebfc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>time</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>afe539f1dafd86c2702f5655cbb4f5830</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>afc7f1531ab0567cfe5852c38fef6afdf</anchor>
      <arglist>(const Eigen::VectorXd &amp;y)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a2433c1cebee639484b21babafc96b6b8</anchor>
      <arglist>(const Eigen::VectorXd &amp;y, double dt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a5864adcb5fd36d1c44363125c8015c27</anchor>
      <arglist>(const Eigen::VectorXd &amp;y, double dt, const Eigen::MatrixXd A)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>A</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a5ce7bc329f9f99f560051b32459d48d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>C</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a2b621defbf55d32c20fc6981e588fc6a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>K</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>aae02a65659ac21c75f4aab80546a1232</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>P</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a7c80973a7b79bce62493ae37fbee037d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>P0</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>ab3671676a533749d62742861ea4301b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>Q</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a7e637b523f319771b19cd5285bd7edb2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::MatrixXd</type>
      <name>R</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a43e799a8c18402323ed3dcd8a9a8cacd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>dt</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a29ea72ae4fce1782263f599fdcf1e7a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::MatrixXd</type>
      <name>I</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>af3410200b25289ce54d69d35e8cb1f2d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>initialized</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a6d2e67724c98ad6ff9ebdb9f16b82ecd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>m</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a2d10a31788fa811aaf6e7c21956c79b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>n</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a5914647e098d323cb061dad2777e99ae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>t</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>aada236d58639ae5789432d728bea6896</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>t0</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a6082c85859eb58b8b1d96425f7ec251b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::VectorXd</type>
      <name>x_hat</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>ad0fcef77fe00213f3f2979e68f7959fd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Eigen::VectorXd</type>
      <name>x_hat_new</name>
      <anchorfile>classKalmanFilter.html</anchorfile>
      <anchor>a25269e579876e7976df78945c5e28284</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>LshapeTracker</name>
    <filename>classLshapeTracker.html</filename>
    <member kind="function">
      <type>void</type>
      <name>BoxModel</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>ad613e62001956cb222e83577f47ef71c</anchor>
      <arglist>(double &amp;x, double &amp;y, double &amp;vx, double &amp;vy, double &amp;theta, double &amp;psi, double &amp;omega, double &amp;L1, double &amp;L2, double &amp;length, double &amp;width)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LshapeTracker</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a0b7749bfd4d07c674b919c4ed8d5a16f</anchor>
      <arglist>(const double &amp;x_corner, const double &amp;y_corner, const double &amp;L1, const double &amp;L2, const double &amp;theta, const double &amp;dt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LshapeTracker</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a935e7845f9769a0459436b3617334c02</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>update</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a478ce295dbd79dda3600bd60819e4dd8</anchor>
      <arglist>(const double &amp;thetaL1, const double &amp;x_corner, const double &amp;y_corner, const double &amp;L1, const double &amp;L2, const double &amp;dt, const int cluster_size)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>ClockwisePointSwitch</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a7e2ceb91cba73f8effe15adca131e04c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>CounterClockwisePointSwitch</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>afef0e718ab6afdca04213014fbce152d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>detectCornerPointSwitch</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a35650ad38b30a57f5a85136e595a8dd8</anchor>
      <arglist>(const double &amp;from, const double &amp;to, const double dt)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>detectCornerPointSwitchMahalanobis</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a54d737decfb998117ce3cd763a2cd784</anchor>
      <arglist>(const double &amp;from, const double &amp;to, const double dt)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>detectCornerPointSwitchMahalanobis</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>abd6a3dc87efdab2df7aae93a86989fb8</anchor>
      <arglist>(const double &amp;from, const double &amp;to, const double L1, const double L2, const double x_corner, const double y_corner)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>findOrientation</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a84890d730a5596c1f18f3dbb39e7436e</anchor>
      <arglist>(double &amp;psi, double &amp;length, double &amp;width)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>findTurn</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a3d35b48d846f66e59047ebc5af75ca7a</anchor>
      <arglist>(const double &amp;new_angle, const double &amp;old_angle)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>current_size</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>ac1a12da5e4e2ae2710291f8212e0091a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KalmanFilter</type>
      <name>dynamic_kf</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a19adb7a7920f618eb9109985089ac989</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>L1_old</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a0ef6c56418f07e34c9990441faf27ca2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>L2_old</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>ab00d2212274f7d4429aeb3117269265d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>old_thetaL1</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a1420919134cdbb03ed089e37645a7152</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>KalmanFilter</type>
      <name>shape_kf</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a2d058eb96c9b426e5876e61b1ed7bb72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>test1</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a8530ffd07736fa7574de0bd557f2f2b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>test2</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a03e275cab975e1e2c3e6a0ae1e306bfa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>test3</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a1571d2d378916eae0fa0362b8da2b23f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>x_old</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a044ac407c67de6ca6827910bb5e51083</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>y_old</name>
      <anchorfile>classLshapeTracker.html</anchorfile>
      <anchor>a375107d52a83a3217004c266fa4001dc</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
