Unit 5: Grasping, about pick_and_place.py

Why these have been duplicated 3 times:
obj.object.primitives[0].dimensions[0] < 0.03 or
obj.object.primitives[0].dimensions[0] > 0.25 or
obj.object.primitives[0].dimensions[0] < 0.03 or
obj.object.primitives[0].dimensions[0] > 0.25 or
obj.object.primitives[0].dimensions[0] < 0.03 or
obj.object.primitives[0].dimensions[0] > 0.25:
in the following code?

def getGraspableObject(self):
graspable = None
for obj in self.objects:
# need grasps
if len(obj.grasps) < 1:
continue
# check size
if obj.object.primitives[0].dimensions[0] < 0.03 or
obj.object.primitives[0].dimensions[0] > 0.25 or
obj.object.primitives[0].dimensions[0] < 0.03 or
obj.object.primitives[0].dimensions[0] > 0.25 or
obj.object.primitives[0].dimensions[0] < 0.03 or
obj.object.primitives[0].dimensions[0] > 0.25:
continue
# has to be on table
if obj.object.primitive_poses[0].position.z < 0.5:
continue
print (obj.object.primitive_poses[0], obj.object.primitives[0])
return obj.object, obj.grasps
# nothing detected
return None, None

Hello @Kane168 ,

That’s a typo in the code. I’ve already fixed it in the notebooks. It can be updated to:

if obj.object.primitives[0].dimensions[0] < 0.03 or \
   obj.object.primitives[0].dimensions[0] > 0.25:

Thanks for the feedback!