From 8891a53cfbe6202ab4b4916c349d0a09e420b655 Mon Sep 17 00:00:00 2001 From: Steve Macenski Date: Wed, 17 Jan 2024 04:28:18 -0800 Subject: [PATCH 1/3] Update collision_checker.cpp Signed-off-by: Steve Macenski --- nav2_smac_planner/src/collision_checker.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nav2_smac_planner/src/collision_checker.cpp b/nav2_smac_planner/src/collision_checker.cpp index 20d288809da..328a88f9db3 100644 --- a/nav2_smac_planner/src/collision_checker.cpp +++ b/nav2_smac_planner/src/collision_checker.cpp @@ -107,7 +107,7 @@ bool GridCollisionChecker::inCollision( // if footprint, then we check for the footprint's points, but first see // if the robot is even potentially in an inscribed collision footprint_cost_ = costmap_->getCost( - static_cast(x), static_cast(y)); + static_cast(x + 0.5), static_cast(y + 0.5)); if (footprint_cost_ < possible_inscribed_cost_) { if (possible_inscribed_cost_ > 0) { @@ -157,7 +157,7 @@ bool GridCollisionChecker::inCollision( } else { // if radius, then we can check the center of the cost assuming inflation is used footprint_cost_ = costmap_->getCost( - static_cast(x), static_cast(y)); + static_cast(x + 0.5), static_cast(y + 0.5)); if (footprint_cost_ == UNKNOWN && traverse_unknown) { return false; From 1f3745ff56098780ddd654334c70c9d682a92f8a Mon Sep 17 00:00:00 2001 From: Steve Macenski Date: Wed, 17 Jan 2024 09:06:31 -0800 Subject: [PATCH 2/3] Fix tests Signed-off-by: Steve Macenski --- nav2_smac_planner/test/test_a_star.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nav2_smac_planner/test/test_a_star.cpp b/nav2_smac_planner/test/test_a_star.cpp index f048cc55503..5c6ecb3a0e2 100644 --- a/nav2_smac_planner/test/test_a_star.cpp +++ b/nav2_smac_planner/test/test_a_star.cpp @@ -164,8 +164,8 @@ TEST(AStarTest, test_a_star_se2) EXPECT_TRUE(a_star.createPath(path, num_it, tolerance, expansions.get())); // check path is the right size and collision free - EXPECT_EQ(num_it, 3186); - EXPECT_EQ(path.size(), 64u); + EXPECT_EQ(num_it, 3146); + EXPECT_EQ(path.size(), 63u); for (unsigned int i = 0; i != path.size(); i++) { EXPECT_EQ(costmapA->getCost(path[i].x, path[i].y), 0); } @@ -229,8 +229,8 @@ TEST(AStarTest, test_a_star_lattice) EXPECT_TRUE(a_star.createPath(path, num_it, tolerance)); // check path is the right size and collision free - EXPECT_EQ(num_it, 26); - EXPECT_GT(path.size(), 47u); + EXPECT_EQ(num_it, 22); + EXPECT_GT(path.size(), 46u); for (unsigned int i = 0; i != path.size(); i++) { EXPECT_EQ(costmapA->getCost(path[i].x, path[i].y), 0); } From 743a09d3fc3530fc33409d0ce652c99284086183 Mon Sep 17 00:00:00 2001 From: Steve Macenski Date: Fri, 19 Jan 2024 02:18:42 -0800 Subject: [PATCH 3/3] Update test_a_star.cpp Signed-off-by: Steve Macenski --- nav2_smac_planner/test/test_a_star.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nav2_smac_planner/test/test_a_star.cpp b/nav2_smac_planner/test/test_a_star.cpp index 5c6ecb3a0e2..730193f8027 100644 --- a/nav2_smac_planner/test/test_a_star.cpp +++ b/nav2_smac_planner/test/test_a_star.cpp @@ -230,7 +230,7 @@ TEST(AStarTest, test_a_star_lattice) // check path is the right size and collision free EXPECT_EQ(num_it, 22); - EXPECT_GT(path.size(), 46u); + EXPECT_GT(path.size(), 45u); for (unsigned int i = 0; i != path.size(); i++) { EXPECT_EQ(costmapA->getCost(path[i].x, path[i].y), 0); }