3D machine vision blog - Zivid

Zivid SDK 2.13 streamlines development

Written by Amy Landau | 2024-07-04

Hello everyone! Summer is here, and so is SDK 2.13! This is a slimmer SDK than you might be used to from us here at Zivid, but it packs in some valuable features. So, let’s get straight into what we’ve brought you this time. 

 

Doubling Down on Ease-of-Use

Zivid SDKs often deliver new features and improvements across different areas, such as point cloud quality, new filters, etc. In SDK 2.13, we have gone squarely with ease of use and flexibility. We are committed to continuously making Zivid 3D cameras simpler and easier to use.

 

ArUco Marker Detection and Hand-eye Calibration

ArUco markers have become a staple in computer vision for detecting and identifying objects. The best part about them? They are very easy to get a hold of! Plenty of websites have ArUco marker generators, so you can print however many you need in whatever size.

 

To fully take advantage of ArUco markers' accessibility, ArUco marker detection has now been integrated into the Zivid SDK. This feature makes it easier than ever to get pose information from these markers in your scene, much like the detection found in OpenCV. This feature supports all ArUco dictionaries.

This functionality makes it easier to perform touch tests in different places and positions, create a stitching turntable, detect container ID, and do whatever else you can think up!

This new detection feature enables customers to use ArUco markers to perform Zivid’s hand-eye calibration. This can significantly simplify the hand-eye calibration of a robot in deployment by having ArUco markers permanently placed in the cell instead of requiring the addition of a checkerboard or other calibration target every time hand-eye needs to be performed. ArUco markers are designed to be space efficient, making them easy to integrate into a working space or onto the end effector of a robot. 

 

A popular approach is to mount the markers on the end-of-arm tool (EOAT). In this configuration, during a calibration procedure, the robot moves to various poses, and the Zivid 3D camera captures the markers in the specific pose. Performing the calibration process in this way requires minimal personnel intervention since there is no need to add or remove the calibration object from the scene.

Keep in mind, even though you do not need the Zivid checkerboard to perform hand-eye calibration now, you still will need it for maintenance routines like infield correction

Best Practices and Recommendations for ArUco Marker Hand-Eye

Much like performing hand-eye calibration with the Zivid checkerboard, we have some recommendations on how to get the best quality hand-eye calibration with ArUco markers.

Choosing your poses

  • Have at least six different robot poses
  • Ideally nine diverse poses as a minimum will yield better results.

Feature detection for ArUco markers

  • Make sure that your markers are properly secured and will not deform during the hand-eye calibration. If this happens, it could lead to poor calibration results.
  • While using only one marker for this task is possible, it's better to use multiple markers in your scene to get more data for a better-quality hand-eye calibration.
  • Each marker should be seen at least twice, keep this in mind when choosing your robot poses and marker placement.
  • The total number of detected markers across all poses should be at least 20
  • For example, if you have ten poses, in each of the corresponding Zivid captures, there should be two visible ArUco markers.

Simplified Camera Network Configuration

Zivid Studio now has a new Cameras Window.

There is now a more streamlined and intuitive network configuration process with Zivid 3D cameras both from the SDK and in Zivid Studio. Zivid Studio features a new Cameras window where IP and subnets can be configured. Studio will show all discovered Zivid cameras on the same network as the PC, including cameras with non-matching IP/Subnet addresses. 

An example of the new camera configuration settings.

This new functionality in Zivid Studio makes it far easier for first-time users, new cell setups, and any time you buy a new camera. Camera configuration used to be a tricky task, but now it's fully exposed to the user to help streamline every step of the setup process.

Once you have found your cameras, there is a wide range of options that are now easily accessible to you:

  • Set the camera into static IP mode or DHCP mode.
  • Change the static IP and subnet of the cameras.
  • Connect to multiple cameras at the same time.
  • Check their firmware and hardware revision by hovering over the Camera Model.
  • Update multiple cameras’ firmware simultaneously through this GUI.

Another bonus of the new camera configuration setup is the ability to connect and maintain connections to multiple cameras at the same time in Zivid Studio.

Before, you had to connect and disconnect each time, which could be time-consuming on a low-end PC. Now, once both cameras are connected, it is easy and fast to switch between them for comparison testing, checking views, and choosing the right camera for your application.

ROS 2 support

Alongside the Zivid 2.13 SDK release, Zivid has also introduced a new ROS driver to support ROS 2. The ROS 2 driver will only support camera settings via the YAML file. The production release for the ROS 2 driver is expected at the end of July.

If you are interested in testing out the new driver, check out the ROS 2 preview changelog. Please let us know if you have any feedback or questions!

Other News

There are some other minor considerations with SDK 2.13, which are:

  • Ubuntu 24.04 is now supported.
  • Only C++17 will be supported from SDK 2.14 onwards, C++11 support ends with SDK 2.13.
  • Improved point cloud quality on brighter objects that easily overexpose when doing HDR with the Stripe engine.

We hope you like the new ease-of-use features in this SDK, and we’ll see you again for SDK 2.14!