How to have faster detections?

When setting up your application with Pickit, the initial objective is that it works reliably and according to its requirements. The how to get more detections article walks you through the different aspects that need to be considered to make this happen.

Once pickable parts are correctly identified by Pickit, one can think about optimizing the time it takes to produce the results. The total computation time is the result of the contribution of three aspects: camera, object detection, and picking configurations. In the following, we describe potential optimizations for each.

Note

This article focuses on faster detection times, which is one of the contributions to the application cycle time. The latter is what typically matters in an application, and you can learn more about optimizing it in the article about how to have faster cycle times.

Image capture

The Pickit cameras expose configuration settings, such that you can select the one that produces the best possible 3D capture. Some settings allow capturing better images at the cost of longer image capture times, so make sure that they are used only if needed.

The expected gain in total detection times is typically less than one second. Most of the optimization potential lies in object detection and picking, described below.

Object detection

The object detection configuration has a significant effect on computation time, in particular the following settings:

  • The Region of Interest (ROI) should exclude, as much as possible, any points not belonging to the parts to be detected.

  • The Matching tolerance: should not be too large. Learn how to set a good value for it here.

  • Consider downsampling the point cloud. Note that, if set too high (coarse), detection results will degrade.

  • The detection speed: should be adequate for your application.

Picking

Pickit provides different strategies that increase the likelihood of an object being pickable. They represent the different ways in which an object can be picked.

Of course, the more ways an object can be picked, the more configurations that need to be potentially checked for pickability (collision prevention, maximum robot flange tilt, flange-ROI distance) which means a higher worst-case computation time. We say worst-case, because if the first pick point candidate is pickable, no further exploration is needed. Conversely, if a part is surrounded by obstacles the robot tool can collide with, it’s likely that multiple pick point candidates will be explored.

For a good compromise between finding pickable objects and computation time, consider the following:

  • If collision prevention is enabled and a CAD tool model is used, follow the tips presented here to simplify your model and speed up collision checks.

  • If the robot tool has flexible orientation, enable the directions that best represent your tool, and also make the best computational compromise.

    Note

    For example, your tool might be a single suction cup with Z rotation enabled. For this tool, full-circle Z-rotation is applicable, but it can be that allowing 180° flips is enough for your application.

    • Full-circle rotation gives the most flexibility, but has the slowest worst-case computation time (up to the full circle needs to be checked).

    • 180° flips is a less flexible option, but has a much better worst-case computation time (at most two configurations need to be checked).

    ../../_images/faster_detections_flexibility.png