:return: """ place_pose.position.z += vertical_offset self.move(place_pose, MoveType.JOINTS) # pre-place pose place_pose.position.z -= vertical_offset self.move(place_pose, MoveType.JOINTS) # place pose self.release() place_pose.position.z += vertical_offset self.move(place_pose, MoveType.JOINTS) # pre-place pose def robot_joints(self) -> List[Joint]: return rest.call(rest.Method.GET, f"{self.settings.url}/joints", list_return_type=Joint) home.__action__ = ActionMetadata(blocking=True) # type: ignore move.__action__ = ActionMetadata(blocking=True) # type: ignore suck.__action__ = ActionMetadata(blocking=True) # type: ignore release.__action__ = ActionMetadata(blocking=True) # type: ignore pick.__action__ = ActionMetadata(blocking=True, composite=True) # type: ignore place.__action__ = ActionMetadata(blocking=True, composite=True) # type: ignore AbstractDobot.DYNAMIC_PARAMS = { "end_effector_id": DPT(AbstractDobot.get_end_effectors_ids.__name__, set()), }
an: Optional[str] = None) -> bool: return rest.call(rest.Method.GET, f"{self.settings.url}/suctions/{suction_id}/attached", return_type=bool) move.__action__ = ActionMetadata(blocking=True) # type: ignore move_relative.__action__ = ActionMetadata(blocking=True) # type: ignore move_relative_joints.__action__ = ActionMetadata( blocking=True) # type: ignore suck.__action__ = ActionMetadata(blocking=True) # type: ignore release.__action__ = ActionMetadata(blocking=True) # type: ignore is_item_attached.__action__ = ActionMetadata(blocking=True) # type: ignore Aubo.DYNAMIC_PARAMS = { "end_effector_id": DPT(Aubo.get_end_effectors_ids.__name__, set()), "gripper_id": DPT(Aubo.grippers.__name__, set()), "suction_id": DPT(Aubo.suctions.__name__, set()), "input_id": DPT(Aubo.inputs.__name__, set()), "output_id": DPT(Aubo.outputs.__name__, set()), } Aubo.CANCEL_MAPPING.update({ Aubo.move.__name__: Aubo.stop.__name__, Aubo.move_relative.__name__: Aubo.stop.__name__, Aubo.move_relative_joints.__name__: Aubo.stop.__name__, })