def grasp(self, obj: Object) -> bool: """Grasp object if it is detected. Note: The does not actuate the gripper, but instead simply attaches the detected object to the gripper to 'fake' a grasp. :param obj: The object to grasp if detected. :return: True if the object was detected/grasped. """ detected = self._proximity_sensor.is_detected(obj) if detected: self._grasped_objects.append(obj) self._old_parents.append(obj.get_parent()) obj.set_parent(self._attach_point, keep_in_place=True) return detected
def grasp(self, obj: Object) -> bool: """Attach the object to the suction cup if it is detected. Note: The does not move the object up to the suction cup. Therefore, the proximity sensor should have a short range in order for the suction grasp to look realistic. :param obj: The object to grasp if detected. :return: True if the object was detected/grasped. """ detected = self._proximity_sensor.is_detected(obj) # Check if detected and that we are not already grasping it. if detected and obj not in self._grasped_objects: self._grasped_objects.append(obj) self._old_parents.append(obj.get_parent()) # type: ignore obj.set_parent(self._attach_point, keep_in_place=True) return detected