Once a part to detect has been defined, pick points need to be associated to it. A pick point represents where an object can be picked by the robot. It is specified as a position and orientation relative to the object, where the robot Tool Center Point (TCP) should move to perform a pick. What constitutes a good pick point depends on both the gripping device and the object to be picked.
This article focuses on how pick points are created and managed in the generic Pickit Teach workflow. Pickit also provides convenient wizards for creating pick points for the following particular cases:
Multiple pick points per model¶
A single object can often be picked from more than one point. Having multiple pick points associated to a single Teach model has a two-fold advantage:
Increase the likelihood that objects are pickable even if they overlap or are close to bin walls. Below, two possible pick points for picking a socket with a suction gripper are shown: the left one (in orange) is unpickabe due to collisions with the bin, while the right one (in green) is pickable.
Specify pick points for models where only one part is visible at a time. This is the case for full object models taught from CAD. Below, pick points for the top (left) and bottom (right) sides of a socket are shown.
Pick point creation and management¶
The Define pick points section of the picking page allows to create and manage the pick points of Teach models:
Add pick point creates a new pick point. Once created, a pick point can be enabled/disabled and its visibility can be toggled.
⋮ button, provides access to duplicating or deleting an existing pick point.
Select tool, sets the tool model to use for this pick point.
Priority, can be optionally set such that pick points with lower priority are considered only if higher priority ones are unpickable.
Symmetry axis, can be optionally associated to the pick point. This is especially relevant for parts with axial symmetry.
Pick point selection¶
When an object has multiple ways of being picked, Pickit smartly selects the best one to use. It does so by following these steps:
Sort the pick points
If a pick point tolerates variations, because it either has a symmetry axis or the robot tool has a flexible pick orientation, prefer orientations that are closer to the preferred pick point orientation.
Find a pickable point
Select a pick point from the sorted list.
If the initial configuration is unpickable (e.g. it’s too tilted or collides with the bin or other objects) but the pick point tolerates variations, search for a pickable configuration that deviates as little as possible from the preferred orientation.
If a pickable configuration is found, use it to pick the object, else continue with the next pick point.
No pickable points? If no pickable point is found, the object is labeled as unpickable.
If you click on a particular detection in the detection grid, you can learn which pick point was selected for picking. Also, if an object is unpickable, you can learn the reason why its pick points were not considered pickable.