Add min IG stopping criterion
This commit is contained in:
parent
9d25cba092
commit
c3da978753
@ -57,7 +57,8 @@ class NextBestView(MultiViewPolicy):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.min_z_dist = rospy.get_param("~camera/min_z_dist")
|
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):
|
def activate(self, bbox, view_sphere):
|
||||||
super().activate(bbox, view_sphere)
|
super().activate(bbox, view_sphere)
|
||||||
@ -88,7 +89,11 @@ class NextBestView(MultiViewPolicy):
|
|||||||
utilities = gains / np.sum(gains) - costs / np.sum(costs)
|
utilities = gains / np.sum(gains) - costs / np.sum(costs)
|
||||||
self.vis.views(self.base_frame, self.intrinsic, views, utilities)
|
self.vis.views(self.base_frame, self.intrinsic, views, utilities)
|
||||||
i = np.argmax(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
|
self.x_d = nbv
|
||||||
|
|
||||||
def best_grasp_prediction_is_stable(self):
|
def best_grasp_prediction_is_stable(self):
|
||||||
|
@ -133,7 +133,7 @@ class RandomScene(Scene):
|
|||||||
|
|
||||||
def load(self, rng, attempts=10):
|
def load(self, rng, attempts=10):
|
||||||
self.load_support(self.center)
|
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:
|
for urdf in urdfs:
|
||||||
uid = self.load_object(urdf, Rotation.identity(), np.zeros(3), scale)
|
uid = self.load_object(urdf, Rotation.identity(), np.zeros(3), scale)
|
||||||
lower, upper = p.getAABB(uid)
|
lower, upper = p.getAABB(uid)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user