Settings Selector based on Capture Speed
This section provides detailed guidance on the best camera settings based on your time budget from the moment you trigger an acquisition until you get the point cloud. Here we also consider your PC specs because data transfer and point cloud processing depend on that as well.
You have determined which Zivid camera to use for your Bin Picking application, and you have mounted it and positioned it correctly. The next step is to select the camera settings that meet your cycle time requirements, given your PC specs. If you haven’t got a PC yet, then this section is also about finding the PC specs that will meet your capture time requirements in combination with the settings used.
Camera settings
Workpieces commonly found in industrial Bin Picking and Machine Tending can be anything from plastic and rubber parts to shiny metallic cylinders, with notable variations in size, color, and material. Typical for these manufacturing and factory automation applications is that the bin often contains only one type of part. Capture time is generally between 700-1500 ms, and accurate point cloud data is more important than having complete surface coverage.
We have split the Bin Picking application into several categories based on scene complexity. For each category, we specify and recommend settings that meet the given imaging requirements and capture speed requirements.
Diffuse
Diffuse settings work well for relatively simple scenes without strong reflections and high dynamic range requirements. The scene can, in this case, include anything from opaque plastics, and dark absorptive material like rubber, to various diffuse metals. Some metals that are considered diffuse are iron and titanium. Other metals such as aluminum and steel that are brushed, anodized, coarse bead blasted or coarse sandblasted are also diffused due to these processes. Coated and painted metals can also fall into the diffuse category. The image below depicts a scene with typical objects that Diffuse settings are suitable for.
小技巧
Chose Diffuse settings for absorptive and diffuse plastics and metal.
Semi-Specular
Semi-specular settings work well for scenes with some reflections that hence require a higher dynamic range. Some metals that are typically considered semi-specular are bronze, brass, and copper. Other metals such as steel and aluminum can also be semi-specular after undergoing surface finishing such as fine sandblasting, fine bead blasting, and satin finishing. Here is an example of a scene where Semi-Specular settings will do the job.
小技巧
Chose Semi-Specular settings for reflective plastics and metals that are not too specular, e.g. brass, bronze, copper, and sandblasted or satin-finished aluminum and steel.
Specular
Specular settings are suitable for scenes where you have shiny and reflective parts and therefore need a lot of dynamic range. Metals that are considered highly specular are aluminum, stainless steel and chrome-plated steel. In general, metals that go through surface finishing processes such as polishing, buffing, and electro-plating are specular due to these processes. Dark but reflective plastics also fall into the specular category. The figure below is an example of objects to use Specular settings with.
小技巧
Chose Specular settings for highly reflective dark plastics and metals with fine surface finishing such as polished aluminum, stainless and chrome-plated steel.
Small Features
Small Features settings were made with a special focus on preserving shape and 3D edges for objects with fine details / small features, as well as thin and overlapping objects. The accuracy of object detection and pose estimation for such geometrically intricate workpieces relies on maintaining their true-to-reality shape and distinct depth differences. The figure below illustrates objects such as screws, bolts, gears, and very thin metal sheets/plates as examples of objects with small features.
小技巧
Chose Small Features settings for small workpieces such as screws, bolts, nuts, and thin overlapping objects such as washers and very thin metal sheets/plates.
Settings Selector Table
The following table represents a settings selector tool based on the required capture time budget. The same table indicates the performance and thus the cost of a PC that can meet your capture speed requirements. Check out 推荐的工业 PC to see examples of High-End, Mid-End, and Low-End configurations.
If you experience artifacts in the form of ripples/waves across the whole point cloud, choose 50/60 Hz to select presets adapted to the ambient light (grid) frequency. If the ambient light is unproblematic, select Off for optimal performance.
To download the desired settings file, you can also connect to the camera (your specific model) in Zivid Studio, select the preset settings, turn on Ambient Light Adaption, and export the settings.
小心
The capture time with settings adapted for ambient light frequency might be longer.
To download the desired settings file, you can also connect to the camera (your specific model) in Zivid Studio, select the preset settings, turn on Ambient Light Adaption, and export the settings.
小心
The capture time with settings adapted for ambient light frequency might be longer.
备注
If you do not need color in your point cloud, you can disable it by setting Sampling::Color
to disabled
to save capture time.
The color in the preset settings is enabled by default.
小技巧
You can disable the Contrast Distortion filter when using Stripe Engine to better preserve the sharpness of 3D edges. This is only possible with Zivid 2+.
To demonstrate reaching the above requirements for bin picking we continuously run benchmark capture programs with our cameras on various PCs. The following table shows the results.
Manufacturing Settings |
Intel UHD i5G1 |
NVIDIA 4070 |
Intel UHD 770 |
---|---|---|---|
Low-end [1] |
High-end [2] |
||
NA |
NA |
NA |
|
815 (±6) ms |
413 (±3) ms |
617 (±3) ms |
|
816 (±7) ms |
414 (±3) ms |
617 (±3) ms |
|
1680 (±10) ms |
706 (±7) ms |
1102 (±8) ms |
|
1686 (±15) ms |
706 (±7) ms |
1102 (±8) ms |
|
NA |
NA |
NA |
|
2663 (±302) ms |
1427 (±4) ms |
1911 (±6) ms |
|
2667 (±286) ms |
1427 (±4) ms |
1913 (±6) ms |
|
NA |
NA |
NA |
|
6521 (±481) ms |
852 (±7) ms |
2827 (±123) ms |
|
6590 (±454) ms |
853 (±8) ms |
2816 (±132) ms |
Manufacturing Settings |
Intel UHD 750 |
Intel UHD i3G1 |
NVIDIA 3070 |
---|---|---|---|
High-end [3] |
Low-end [4] |
High-end [5] |
|
693 (±13) ms |
1105 (±12) ms |
303 (±7) ms |
|
693 (±13) ms |
1104 (±11) ms |
302 (±5) ms |
|
1248 (±67) ms |
1892 (±92) ms |
615 (±11) ms |
|
1245 (±68) ms |
1894 (±128) ms |
617 (±11) ms |
|
1857 (±101) ms |
2637 (±226) ms |
1169 (±15) ms |
|
1860 (±103) ms |
2639 (±261) ms |
1172 (±16) ms |
High-end machine with GPU: Intel UHD Graphics 750 (ID:0x4C8A) and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz, 10GbE
Low-end machine with GPU: Intel UHD Graphics i3 G1 (ID:0x8A56) and CPU: Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz, 1GbE
High-end machine with GPU: NVIDIA GeForce RTX 3070 and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz, 10GbE
Manufacturing Settings |
Intel UHD 750 |
Intel UHD i3G1 |
NVIDIA 3070 |
---|---|---|---|
High-end [6] |
Low-end [7] |
High-end [8] |
|
801 (±2) ms |
1147 (±4) ms |
440 (±2) ms |
|
971 (±2) ms |
1299 (±3) ms |
605 (±3) ms |
|
1323 (±6) ms |
1754 (±4) ms |
870 (±4) ms |
|
1312 (±6) ms |
1740 (±3) ms |
852 (±13) ms |
|
1813 (±8) ms |
2277 (±6) ms |
1304 (±5) ms |
|
1806 (±7) ms |
2269 (±7) ms |
1319 (±4) ms |
High-end machine with GPU: Intel UHD Graphics 750 (ID:0x4C8A) and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz, 10GbE
Low-end machine with GPU: Intel UHD Graphics i3 G1 (ID:0x8A56) and CPU: Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz, 1GbE
High-end machine with GPU: NVIDIA GeForce RTX 3070 and CPU: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz, 10GbE
Testing 3D Settings
We can use Zivid Studio to test 3D settings.
To import the settings in Zivid Studio:
Click on File → Import Capture Settings
Navigate to the location of your settings file
Click Open
小技巧
Drag and drop a YML file to import the settings to Zivid Studio - added in Zivid SDK 2.5.
Settings can be loaded using the Zivid SDK as well.
std::cout << "Loading settings from file" << std::endl;
const auto settingsFile =
std::string(ZIVID_SAMPLE_DATA_DIR) + "/Settings/" + settingsFolder(camera) + "/Settings01.yml";
const auto settings = Zivid::Settings(settingsFile);
Should the quality of the point clouds prove insufficient, check out some of our advanced tutorials:
In the next section, we cover Optimizing Robot Cycle Times for speed by making use of multithreading.