Examples of singulation.

Some of the training objects used.

Seven robots collecting grasp data.

The objects used at evaluation time. To make the task challenging, we aimed for a large variety of object sizes, textures, and shapes.

When presented with a set of interlocking blocks that cannot be picked up together, the policy separates one of the blocks from the rest before picking it up.

When presented with a difficult-to-grasp object, the policy figures out it should reposition the gripper and regrasp it until it has a firm hold.

When grasping in clutter, the policy probes different objects until the fingers hold one of them firmly, before lifting.

When we perturbed the robot by intentionally swatting the object out of the gripper -- something it had not seen during training -- it automatically repositioned the gripper for another attempt.