From c3da97875368e040722b64c659bee81116ea9764 Mon Sep 17 00:00:00 2001 From: Michel Breyer Date: Mon, 13 Sep 2021 23:15:52 +0200 Subject: [PATCH] Add min IG stopping criterion --- active_grasp/nbv.py | 9 +++++++-- active_grasp/simulation.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/active_grasp/nbv.py b/active_grasp/nbv.py index dd30966..ce3e252 100644 --- a/active_grasp/nbv.py +++ b/active_grasp/nbv.py @@ -57,7 +57,8 @@ class NextBestView(MultiViewPolicy): def __init__(self): super().__init__() self.min_z_dist = rospy.get_param("~camera/min_z_dist") - self.max_views = 80 + self.max_views = 50 + self.min_gain = 0.0 def activate(self, bbox, view_sphere): super().activate(bbox, view_sphere) @@ -88,7 +89,11 @@ class NextBestView(MultiViewPolicy): utilities = gains / np.sum(gains) - costs / np.sum(costs) self.vis.views(self.base_frame, self.intrinsic, views, utilities) i = np.argmax(utilities) - nbv, _ = views[i], gains[i] + nbv, gain = views[i], gains[i] + + if gain < self.min_gain: + self.done = True + self.x_d = nbv def best_grasp_prediction_is_stable(self): diff --git a/active_grasp/simulation.py b/active_grasp/simulation.py index d75f3b8..5a5fd14 100644 --- a/active_grasp/simulation.py +++ b/active_grasp/simulation.py @@ -133,7 +133,7 @@ class RandomScene(Scene): def load(self, rng, attempts=10): self.load_support(self.center) - urdfs, scale = rng.choice(self.object_urdfs, 5), 0.8 + urdfs, scale = rng.choice(self.object_urdfs, 4), 0.8 for urdf in urdfs: uid = self.load_object(urdf, Rotation.identity(), np.zeros(3), scale) lower, upper = p.getAABB(uid)