Another quarter, another Zivid SDK out the door! This SDK is not one of our biggest but has some important tweaks, and improvements focused on ROS 2 and GenICam support, making it easier for you to integrate Zivid into your existing workflows.
Table of contents
No time to read? Watch this short video about this release instead:
Many of our customers use 3rd-party software and tools in their development workflows. Some of the most commonly used are ROS 2 and GenICam (through HALCON). ROS 2 (Robot Operating System 2) is an open-source framework for managing robot applications. It is designed to complement real-time automation systems, and it has cross-platform support. Zivid has been steadily adding feature support to ROS 2, and in this release, we have further improved the feature parity toward our SDK. A particularly useful addition is the fuller support for hand-eye calibration and infield correction, which are essential features in setting up and installing robot cells.
Hand-eye calibration is the process of determining the spatial relationship (transformation) between a 3D camera (eye) and the robot’s end effector (hand). This process is essential for object manipulation and pick-and-place operations. There are 2 main types of hand-eye calibration:
The process involves the robot moving to multiple poses while the camera observes a calibration target, such as a checkerboard. The system collects corresponding points from the camera and robot coordinate frames. The result is a precise alignment between machine vision data and robotic movement. Zivid takes pride in our self-developed hand-eye algorithm, which outperforms traditional open-source ones. Now, you can run the algorithm in ROS 2.
Infield correction is a tool designed to verify and correct the dimension trueness of Zivid cameras. This technique helps the 3D camera maintain a high degree of accuracy and helps overcome environmental effects on performance.
Zivid infield correction in ROS 2.
For Halcon customers, we’ve introduced the ability to capture 2D only using GenICam (Generic Interface for Cameras). This enables 2D image acquisition in Halcon, which you can later use in, for example, AI segmentation. Halcon now has the same capture modes as Zivid Studio: 2D, 3D, or 2D+3D. This feature complements the ability to make 3D and 2D captures simultaneously and to make 3D-only captures.
Example code showing 2D, 3D and 2D+3D capture modes.
Zivid provides calibration boards for performing hand-eye calibration and infield correction operations. There were occasions when the checkerboard could not be reliably identified in very cluttered scenes. Our engineers have done some nice work in the background, which now means the checkerboard is always identified regardless of how complicated and busy the scene around it is.
Calibration checkerboard detected in a cluttered scene.
The Zivid 2+ R-series introduced a new Zivid Vision Engine called Sage Engine. In this release, we have moved Sage out of experimental. Zivid Sage Engine is built for exceptional point cloud quality in scenes with highly specular and reflective objects and bins. This engine is specifically designed to overcome reflection artifacts and only produces points with a high degree of validation and correctness. Because of this strictness, the Sage Engine is an excellent fit for inspection applications requiring high-quality point clouds. This is especially useful when inspecting holes and small features, and high repeatability is important.
Sage Engine removes reflection artifacts.
With the R-series, Zivid took 2D imaging to a completely new level of sophistication. But of course, things can always be improved. SDK 2.15 pushes the 2D imaging quality up a notch with better noise reduction in the image. This improvement is especially noticeable on flat and uniform surfaces.
This feature enables the user to set the origin of the point cloud’s coordinate system. This helps give a much easier and more intuitive method of inspecting the scene, especially when measuring depth across an object in the scene. Users can transform their point clouds to a Region of Interest or load a predefined transform. In the following visual, we can observe the depth map of a measurement board containing holes of varying depth. This depth map is without ROI transformation.
Point cloud without ROI transformation.
The 3D camera captures a test board containing various holes of differing depths. The holes have a 2 mm in-depth difference from left to right and have different diameters from front to back. The point cloud is now transformed to the point cloud to the ROI coordinate system (top left corner of ROI box). This can be verified by observing the common depth map coloring of the holes from front to back in the box.
Point cloud transformed to ROI.
One of the data structures available to Zivid users is the normals. Normals are surface vectors which are perpendicular to the surface at a given point. Normals are essential to understanding the shape and orientation of an object and are often used for edge detection in bin-picking and pick-and-place tasks. This SDK has improved the accuracy of the normal, making edges sharper and truer to reality.
Normals before.
Normals now with SDK 2.15.
Support for Ubuntu 20.04 will be phased out after SDK 2.15, as it reaches its end-of-life (EOL).
That's a wrap! For more details, check out the full changelog. We hope this release offers valuable enhancements to streamline your applications and simplify your development journey. Cheers!
These Stories on Zivid Software
Zivid brings
Gjerdrums
N-0484, Oslo
Norway
No Comments Yet
Let us know what you think