<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>safety_limiter.cpp</name>
    <path>/tmp/ws/src/neonavigation/safety_limiter/src/</path>
    <filename>safety__limiter_8cpp</filename>
    <class kind="class">safety_limiter::SafetyLimiterNode::polygon</class>
    <class kind="class">safety_limiter::SafetyLimiterNode</class>
    <class kind="class">safety_limiter::SafetyLimiterNode::vec</class>
    <namespace>safety_limiter</namespace>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>safety__limiter_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>pcl::PointXYZ</type>
      <name>operator*</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>a46424073f4139d10d6a6e8574c5d8082</anchor>
      <arglist>(const pcl::PointXYZ &amp;a, const float &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>pcl::PointXYZ</type>
      <name>operator+</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>ab6b04a3ea6245a987e035dad3de13783</anchor>
      <arglist>(const pcl::PointXYZ &amp;a, const pcl::PointXYZ &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>pcl::PointXYZ</type>
      <name>operator-</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>aa287fe9a4e2d4e40c1143f437695ea45</anchor>
      <arglist>(const pcl::PointXYZ &amp;a, const pcl::PointXYZ &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>XmlRpc_isNumber</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>aff3bc3920de679e313f330633e7f9ce8</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;value)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_safety_limiter.cpp</name>
    <path>/tmp/ws/src/neonavigation/safety_limiter/test/src/</path>
    <filename>test__safety__limiter_8cpp</filename>
    <includes id="test__safety__limiter__base_8h" name="test_safety_limiter_base.h" local="no" imported="no">test_safety_limiter_base.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a8989ed1f112ad2c92062bd0e0a4ebdaa</anchor>
      <arglist>(SafetyLimiterTest, Timeouts)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a51a464ed3c231d042cf5f81dae9ca972</anchor>
      <arglist>(SafetyLimiterTest, CloudBuffering)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>aeba1f9b3ad114384adcdfff38e618f8f</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitLinear)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a2d1ed17f37af5297cbc66e507d965e66</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitLinearBackward)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>aafdb7a8d8a8671f0f81ad83c7e9939c1</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitLinearEscape)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>ab08b10591d9b9fcaf4662468ae29bd4e</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitAngular)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a10951f5d373379ddd9745bf539293066</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitAngularEscape)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a343cd55fdc423d69c2f91d36453153f3</anchor>
      <arglist>(SafetyLimiterTest, NoCollision)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a567a7d1906e3c08253b6f8246564bc67</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitLinearSimpleSimulation)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a40598eb6f5de265b4960bd590b94f874</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitMaxVelocitiesValues)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter_8cpp.html</anchorfile>
      <anchor>a4e683483759a5d2ef8b6b891208bbede</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitOmniDirectional)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_safety_limiter2.cpp</name>
    <path>/tmp/ws/src/neonavigation/safety_limiter/test/src/</path>
    <filename>test__safety__limiter2_8cpp</filename>
    <includes id="test__safety__limiter__base_8h" name="test_safety_limiter_base.h" local="no" imported="no">test_safety_limiter_base.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__safety__limiter2_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__safety__limiter2_8cpp.html</anchorfile>
      <anchor>a5e5a002a7b2821e8514e23847cd2866a</anchor>
      <arglist>(SafetyLimiterTest, SafetyLimitLinearSimpleSimulationWithMargin)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_safety_limiter_base.h</name>
    <path>/tmp/ws/src/neonavigation/safety_limiter/test/include/</path>
    <filename>test__safety__limiter__base_8h</filename>
    <class kind="class">SafetyLimiterTest</class>
  </compound>
  <compound kind="class">
    <name>safety_limiter::SafetyLimiterNode::polygon</name>
    <filename>classsafety__limiter_1_1SafetyLimiterNode_1_1polygon.html</filename>
    <member kind="function">
      <type>float</type>
      <name>dist</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1polygon.html</anchorfile>
      <anchor>ad47cf34429d6c00ed734972934a37717</anchor>
      <arglist>(const vec &amp;a) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>inside</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1polygon.html</anchorfile>
      <anchor>a898faa0eb268f1cf1d9af3b44644f524</anchor>
      <arglist>(const vec &amp;a) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>move</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1polygon.html</anchorfile>
      <anchor>a633cc86d7ed6b200333a63857410f990</anchor>
      <arglist>(const float &amp;x, const float &amp;y, const float &amp;yaw)</arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; vec &gt;</type>
      <name>v</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1polygon.html</anchorfile>
      <anchor>a6fb103b198672b8827c86e54ea76b90d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>safety_limiter::SafetyLimiterNode</name>
    <filename>classsafety__limiter_1_1SafetyLimiterNode.html</filename>
    <class kind="class">safety_limiter::SafetyLimiterNode::polygon</class>
    <class kind="class">safety_limiter::SafetyLimiterNode::vec</class>
    <member kind="function">
      <type></type>
      <name>SafetyLimiterNode</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a340eb2375d59c665a441014d3f88436b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>spin</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a604d5bf89cb44e0142372486c3471620</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbCloud</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a83c2beae825dfb4cfc0098148a224e76</anchor>
      <arglist>(const sensor_msgs::PointCloud2::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbDisable</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a0658124e5f367557cc85936975ac84ae</anchor>
      <arglist>(const std_msgs::Bool::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbParameter</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a5b67bc293cd3c3a236cc03d4bda3e8c6</anchor>
      <arglist>(const SafetyLimiterConfig &amp;config, const uint32_t)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbPredictTimer</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ab7bc1c3dad5d788daea9beeeb7b03d74</anchor>
      <arglist>(const ros::TimerEvent &amp;event)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbTwist</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ad66f142fe29aab45b775222c90c07850</anchor>
      <arglist>(const geometry_msgs::Twist::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbWatchdogReset</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a88fd7a925395d94468d523b448af567c</anchor>
      <arglist>(const std_msgs::Empty::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbWatchdogTimer</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a18e490a6fae263283b30ef7ba2ed1b47</anchor>
      <arglist>(const ros::TimerEvent &amp;event)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>diagnoseCollision</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a2b149f7f99903d9c0506ba64978e31fd</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>geometry_msgs::Twist</type>
      <name>limit</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a761c5a3b0c5dde8c23629fdd9f2ba2b6</anchor>
      <arglist>(const geometry_msgs::Twist &amp;in)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>geometry_msgs::Twist</type>
      <name>limitMaxVelocities</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a6df22a44889b97b48486202c7979a730</anchor>
      <arglist>(const geometry_msgs::Twist &amp;in)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>predict</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aa7f4539bfe0f42640c0dd409c079ff56</anchor>
      <arglist>(const geometry_msgs::Twist &amp;in)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>acc_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a01cca54b0c7c2647725c9cec85e6287a</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>allow_empty_cloud_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a601a785bac1b249e94a486a8348431a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>base_frame_id_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a8a802eb8bdf92b465ab45abe122ac788</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>pcl::PointCloud&lt; pcl::PointXYZ &gt;::Ptr</type>
      <name>cloud_accum_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>afa170af0afb4b52064a6faa815ee26bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>cloud_clear_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aad5cc5db1d280d87479609396ee48762</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>d_escape_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aaec6cba62ff92180e663cfdd95f6a94a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>d_margin_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ad9369bb2d99a90094daaa611682a0a88</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>diagnostic_updater::Updater</type>
      <name>diag_updater_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a9b22616a3059c789468ffdb00093a467</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>disable_timeout_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a89d4562968aab742bff94f775e48e4dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>downsample_grid_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a0728c9d0a701d4f1b312f82dd4b6a2f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>dt_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a0f08cf6cae80333ed2dab722898ce3d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::string</type>
      <name>fixed_frame_id_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a0fe49450e5285875900a2d96a22dd74a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>polygon</type>
      <name>footprint_p</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a08967f3c4f8f8e9cc0a430e339e66aea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>float</type>
      <name>footprint_radius_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aa8f3d109b7df23aa119506c9d6b7064e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>has_cloud_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aaaac61fb26560642feaee504a57af5af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>has_collision_at_now_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>adcb83c56f656e779e7d3e768eadf3450</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>has_twist_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a460c5d74006632abfb8afd4ee1f67ecb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Duration</type>
      <name>hold_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a24445f89f84c4157f03f4fc903282b4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>hold_off_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a513d78f8662017730bf5a0838bb26319</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>hz_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a6d3a592c073350b4d10538d04121d727</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>last_cloud_stamp_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a8b7e736da2409c967bdc28248e3990ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>last_disable_cmd_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>af7b4e681dbe146409a5fdebb51685d4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>max_values_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ae57d87ee07e7aca1ac3412dbb70340af</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a81daacc8ec5c46bee26145fcb1b9f549</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; dynamic_reconfigure::Server&lt; SafetyLimiterConfig &gt; &gt;</type>
      <name>parameter_server_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a21f34fbd1ec8b4a1161a61789797be05</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>boost::recursive_mutex</type>
      <name>parameter_server_mutex_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>af617e3b38e6d08b312026a8665926652</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>pnh_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a79cc3bc7881a0429e023fbae517e6962</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_cloud_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a7f4b56b1cebab3c9351155ff9ca2bb9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_status_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a288062d60b035d193f9e959be05d01e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_twist_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a957b6931e3f1542e86fe6452318fa47f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>r_lim_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ab2c97f61f0b1ce31214f9bf804a28f33</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Time</type>
      <name>stuck_started_since_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a845f0fc0e03fc98ddc891fcda1f61f59</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; ros::Subscriber &gt;</type>
      <name>sub_clouds_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a402014e1cf0424364e40f9342ae3a8a4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_disable_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a52a5fe1113c407e081d5843624e261ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_twist_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a124a2019aa886264f8f1bee6470237d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_watchdog_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aa8389f3159d80fbdb525973088f8a595</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf2_ros::Buffer</type>
      <name>tfbuf_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a146271304ee17f128f24184b06d7b779</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf2_ros::TransformListener</type>
      <name>tfl_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a85fdf9d15fb27a828c8a821c9de0ca94</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>timeout_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a292bc75fc964a1641a3db4ecb080a8cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>tmax_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a7df0e8435c42d7067bd9b27618915cd0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>geometry_msgs::Twist</type>
      <name>twist_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a07111f1705983d1985ff3995b7ddf152</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>vel_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a3d24113d2fd4f880b44a85b4abd3ebdc</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Duration</type>
      <name>watchdog_interval_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a9e816626d8b68a096c24176d9761e9b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>bool</type>
      <name>watchdog_stop_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ab51551961388976c86694dd69320ff12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Timer</type>
      <name>watchdog_timer_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>ad9c50db3429589af6a7ae7269fe76e4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>yaw_escape_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>aca7360aa8306c055efa475f8311831df</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>yaw_margin_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>acf496dffe3c21c7920bd732bc1b0a7e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>z_range_</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>acc1ed45bfef4a09066285e35b3684b43</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="protected" static="yes">
      <type>static constexpr float</type>
      <name>EPSILON</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode.html</anchorfile>
      <anchor>a66412b8cdcf6c7dcc2072bf4b409b52b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>SafetyLimiterTest</name>
    <filename>classSafetyLimiterTest.html</filename>
    <member kind="function">
      <type>void</type>
      <name>broadcastTF</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a325ac1b148e07cc277067960d7d1ef5a</anchor>
      <arglist>(const std::string parent_frame_id, const std::string child_frame_id, const float lin, const float ang)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasDiag</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a5c609e4372ae507d1bc17861431cc7e1</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasStatus</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a508981af739d529b732fa71b77a220ba</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>publishEmptyPointPointcloud2</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>af36ef67aa2139ad3fabef809208317b5</anchor>
      <arglist>(const std::string frame_id, const ros::Time stamp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>publishSinglePointPointcloud2</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>ad7808d5cea67c1a52035e981cd2747b6</anchor>
      <arglist>(const float x, const float y, const float z, const std::string frame_id, const ros::Time stamp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>publishTwist</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a4a2f22d4434f95d475c32fce91bb8ec1</anchor>
      <arglist>(const float lin, const float ang, const float lin_y=0.0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>publishWatchdogReset</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a8fbc9d741253440c45bf371d79988aaf</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>SafetyLimiterTest</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a55cca476f90ff56dd87c2188572dd62e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>geometry_msgs::Twist::ConstPtr</type>
      <name>cmd_vel_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a7e14a79908147e3c2ee16ba466be3ce6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>diagnostic_msgs::DiagnosticArray::ConstPtr</type>
      <name>diag_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>ab313b7cd2cbd39fb4122a00fd20c4f55</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>safety_limiter_msgs::SafetyLimiterStatus::ConstPtr</type>
      <name>status_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>aa8e9eb424c5224a15eb96c46c93b7ab9</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbCmdVel</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a8fc7c663629afaa550a911dce6cabac4</anchor>
      <arglist>(const geometry_msgs::Twist::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbDiag</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a3f6846a5e78adfb5e3acc38bcc8cd0a4</anchor>
      <arglist>(const diagnostic_msgs::DiagnosticArray::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>cbStatus</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>ab535d259b7ef44ce15595f613eabd32d</anchor>
      <arglist>(const safety_limiter_msgs::SafetyLimiterStatus::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a4db0d10342eb237789735197a2b8b73e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_cloud_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>af59dc8c737cab9236867dd214bbe9db8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_cmd_vel_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a1f744001b6e80e6f8165912dd045c4a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Publisher</type>
      <name>pub_watchdog_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a773578703458dc30eb27fd67872bb475</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_cmd_vel_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a395bd0c0e5efd15ee6c3876d879a8c9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_diag_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>af9d1d11dd8ea7e216a07e36e6abbdbcf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::Subscriber</type>
      <name>sub_status_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>aeb090c6fbb9effa16c196c3722b9172e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>tf2_ros::TransformBroadcaster</type>
      <name>tfb_</name>
      <anchorfile>classSafetyLimiterTest.html</anchorfile>
      <anchor>a522f1e97cf311f4838669cf525e63d57</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>safety_limiter::SafetyLimiterNode::vec</name>
    <filename>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</filename>
    <member kind="function">
      <type>float</type>
      <name>cross</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a864d6a6ff29d94cc70711e85708b16cc</anchor>
      <arglist>(const vec &amp;a) const</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>dist</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>ab6e742d3ee7f7786e9e5ff97b58f4571</anchor>
      <arglist>(const vec &amp;a) const</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>dist_line</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a1ad0edd0ad863215764f3a60a4c467f0</anchor>
      <arglist>(const vec &amp;a, const vec &amp;b) const</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>dist_linestrip</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a79f7788f1986432787152d77f21b77f9</anchor>
      <arglist>(const vec &amp;a, const vec &amp;b) const</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>dot</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a240e1f0478c82513fb8327c665c3d0a1</anchor>
      <arglist>(const vec &amp;a) const</arglist>
    </member>
    <member kind="function">
      <type>vec</type>
      <name>operator-</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a9daf27f5b3a462390628a0a09e7e0226</anchor>
      <arglist>(const vec &amp;a) const</arglist>
    </member>
    <member kind="function">
      <type>float &amp;</type>
      <name>operator[]</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>ae034c40ee9eb7766fca33e172be8e20f</anchor>
      <arglist>(const int &amp;i)</arglist>
    </member>
    <member kind="function">
      <type>const float &amp;</type>
      <name>operator[]</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a4576de7acc744d282434ec002aefa86c</anchor>
      <arglist>(const int &amp;i) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>a4fa838cb42827150ef39f1479de54395</anchor>
      <arglist>(const float x, const float y)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>vec</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>ab79689377cc3a66b31065cfebefda3b3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>c</name>
      <anchorfile>classsafety__limiter_1_1SafetyLimiterNode_1_1vec.html</anchorfile>
      <anchor>adfbe07ef48d0554f5923dfece35677ff</anchor>
      <arglist>[2]</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>safety_limiter</name>
    <filename>namespacesafety__limiter.html</filename>
    <class kind="class">safety_limiter::SafetyLimiterNode</class>
    <member kind="function">
      <type>pcl::PointXYZ</type>
      <name>operator*</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>a46424073f4139d10d6a6e8574c5d8082</anchor>
      <arglist>(const pcl::PointXYZ &amp;a, const float &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>pcl::PointXYZ</type>
      <name>operator+</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>ab6b04a3ea6245a987e035dad3de13783</anchor>
      <arglist>(const pcl::PointXYZ &amp;a, const pcl::PointXYZ &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>pcl::PointXYZ</type>
      <name>operator-</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>aa287fe9a4e2d4e40c1143f437695ea45</anchor>
      <arglist>(const pcl::PointXYZ &amp;a, const pcl::PointXYZ &amp;b)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>XmlRpc_isNumber</name>
      <anchorfile>namespacesafety__limiter.html</anchorfile>
      <anchor>aff3bc3920de679e313f330633e7f9ce8</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;value)</arglist>
    </member>
  </compound>
</tagfile>
