From 92fc2b940bd7ce2e38e111e43f4408a678aba033 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mart=C3=AD=20Morta=20Garriga?= <mmorta@iri.upc.edu>
Date: Tue, 22 Oct 2013 10:31:58 +0000
Subject: [PATCH] using velocity to define the safe area

---
 include/safe_cmd_alg_node.h | 2 +-
 src/safe_cmd_alg_node.cpp   | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/safe_cmd_alg_node.h b/include/safe_cmd_alg_node.h
index 69bbce4..0460d93 100644
--- a/include/safe_cmd_alg_node.h
+++ b/include/safe_cmd_alg_node.h
@@ -68,7 +68,7 @@ class SafeCmdAlgNode : public algorithm_base::IriBaseAlgorithm<SafeCmdAlgorithm>
     // [action client attributes]
     bool front_obstacle_;
     bool rear_obstacle_;
-    float radius_;
+    float scale_;
     bool is_point_in_safe_area_(const sensor_msgs::LaserScan::ConstPtr& scan);
 
   public:
diff --git a/src/safe_cmd_alg_node.cpp b/src/safe_cmd_alg_node.cpp
index c88d9d0..e1d1342 100644
--- a/src/safe_cmd_alg_node.cpp
+++ b/src/safe_cmd_alg_node.cpp
@@ -4,7 +4,7 @@ SafeCmdAlgNode::SafeCmdAlgNode(void) :
   algorithm_base::IriBaseAlgorithm<SafeCmdAlgorithm>(),
   front_obstacle_(false),
   rear_obstacle_(false),
-  radius_(0.5)
+  scale_(1)
 {
   //init class attributes if necessary
   //this->loop_rate_ = 2;//in [Hz]
@@ -134,7 +134,7 @@ bool SafeCmdAlgNode::is_point_in_safe_area_(const sensor_msgs::LaserScan::ConstP
   uint i=0;
   while (i < scan->ranges.size())
   {
-    if(scan->ranges[i] < radius_ && scan->ranges[i] > scan->range_min)
+    if(scan->ranges[i] < fabs(last_twist_.linear.x)*scale_ && scan->ranges[i] > scan->range_min)
       return true;
     i++;
   }
-- 
GitLab