Menu
WE'RE HIRING
Free Demo
BUY NOW

SDK 2.8: Meeting the Need for Speed

John Leonard
2022-10-12

The focus of the latest Zivid SDK 2.8 can really be summed up by speed, and better predictability. As usual, we have plenty of good stuff going on, and a big announcement, so let’s go.  

2.8 Changelog API reference C++ API reference .NET

SDK 2.8 release highlights 

No time to read? Check this short video about the 2.8 release highlights: 

 

 

Download SDK 2.8


Faster capture times for Zivid Two 3D cameras 

Faster robot cycle times are always in demand, especially in bin picking and logistics picking operations. There are of course, some physical limitations on how fast robots should operate safely and effectively. But one key goal is that the vision pipeline and processing should not be delayed to the robot’s operation. Zivid 3D cameras are already fast, with capture times down as low as 100 ms and even multiple acquisition high dynamic range (HDR) captures possible in under a second. There are a number of stages in the 3D vision pipeline, as seen in fig.1 We have worked hard on shaving off time across these stages in previous SDKs. This time around, we worked on speeding up the data transfer stage between the 3D camera and the PC that does the 3D processing with the Zivid SDK. Without getting into the specifics of the improvements we have made, it is enough to say the improvements are significant. What matters most is how the improvements affect overall capture time, and in some cases, this is up to x3 times faster with this SDK. The benefits of these improvements are most significant if you are using 1Gbps network speed, if you are taking HDR captures, or if you are using the Stripe engine, or if you are using multiple Zivid Two cameras at the same time.

Capture speed improvements in Zivid SDK 2.8 

Capture speed benchmarks over 1GbE

Zivid SDK 2.8 benchmark results over 1GbE connection

Shorter, more predictable HDR capture times 

This is another improvement that brings shorter overall capture times and, very importantly, brings better predictability with those times. HDR acquisitions and captures are a fundamental advantage of Zivid products and are used extensively by our customers. Many scenes contain shiny metallic parts and may also contain light-absorbing materials such as black rubber. Consequently, the dynamic range of the scene is beyond that which a camera sensor can measure. What is necessary is to expose several times at different aperture or shutter settings to cover the entire range that is present and get high-quality pixel data with good SNR (Signal to Noise Ratio).

Previously, the process was to scan the scene, make an acquisition, then send the RAW image data for 3D processing, then the next scan and acquisition would occur. This would happen as many times as the number of acquisitions used to build the final capture, typically it might be between 3 and 7 acquisitions. While this was happening, the robot would need to remain stationary. 

In SDK 2.8, we have improved this approach to allow the robot to begin moving again in as brief a time as possible. Now, all the scans and acquisitions happen consecutively. When this has finished, the robot can move again, and the data transfer over the ethernet link takes place while the robot is in motion. 

 

 

Auto-discovery of Zivid Two 

Now, when a Zivid Two camera is attached to the ethernet cable, it can be discovered automatically by the SDK using the multicast DNS protocol. The 3D camera becomes visible to both the SDK and Zivid Studio. Alternatively, if a camera.YML file is already present, only IPs/hostnames listed in that file will be visible. 

We have an updated knowledge base article here.

Matrix read/write to .YML files 

This is a time saver for developers. When performing hand-eye calibration, there was a somewhat laborious process of manually opening, reading, and saving files to make matrix transpositions. Now, with:  

Zivid::Matrix4x4 transformBaseToEndEffector(std::string(ZIVID_SAMPLE_DATA_DIR) + robotTransformFile);

API 4 x 4 matrices can be automatically written to and read from .YML files. 

Save image objects to .JPG and .BMP 

You can now save image objects to the popular .jpg and .bmp formats from the API directly.

Ubuntu 22.04 support 

Zivid SDK 2.8 introduces support for the Ubuntu 22.04 LTS release. 

New analysis tools in Zivid Studio 

Zivid Studio is extremely popular with our customers. 3D imaging is a complex task in how it takes place, but in practice, a very empirical process is required to do image studies on the types of scenes and parts that are of interest. Here, Zivid Studio excels, allowing visual inspection of the point clouds and offering a wealth of settings and filters that can be tweaked until everything looks right. Then the move from real-world inspection to programmatic implementation is straightforward as the APIs in the Zivid SDK match up directly to the controls in Zivid Studio. We have been continuously improving Zivid Studio, and to learn more about its range of features, you can go here. 

Zivid Studio now has improved and extended visualization capability with the following: 

  • Point cloud with configurable point size 
  • SNR map 
  • Normal map 
 

 

Developer code samples and knowledge base articles 

As always, we have new additional resources in the Zivid Knowledge Base to help you be more productive. 

New in the Zivid Knowledge Base: 

Reference article: 

  • Recommended Industrial PCs for use with Zivid 3D cameras 

Zivid Academy updates: 

  • Point Cloud Capture Process 
  • 2D Image Capture Process 
  • Firmware Update 
  • Multiple Zivid Cameras 
  • Transform 
  • Normals 
  • Transform via Checkerboard 

Getting Started updates: 

  • Install Zivid on Ubuntu 
  • Zivid Two network configuration 
  • Intel driver Ubuntu 
  • AMD driver Ubuntu 
  • Install OpenCL drivers on Ubuntu 

Software: 

  • Configure C++ samples with CMake  
  • HALCON installation 
  • Install Zivid + HALCON for Linux 
  • API reference 

A new Zivid 3D camera - Zivid Two L100  

And finally, you may have seen that we launched a new industrial 3D camera last week at the Vision show in Stuttgart. The Zivid Two L100 is the second product in the Zivid Two 3D camera family. We will look at Zivid Two L100 in deeper detail in an upcoming blog, but let’s take a quick peek at the specs side by side with Zivid Two M70 (The original Zivid Two is now known as Zivid Two M70).

L100 Packshot with Artwork (2) 

Better bin picking with longer reach 

The Zivid Two L100 is most definitely a product born of deep customer consultation. The Zivid Two has found its way into myriad applications both robot-mounted and stationary. It is such a versatile 3D camera that it is finding uses in multiple industries for bin picking, piece picking, robot guidance, machine tending and assembly. Whilst this versatility is a real plus, all industries will have their own absolute sweet spots for operation. What we heard repeatedly was, we love the Zivid Two for so many reasons, not least it just keeps delivering stunning accurate point clouds, but another 30 cm of reach would be a real bonus for us. 

So, we went to work on making it happen. The result is the Zivid Two L100 with a focus distance of 1000 mm compared to the Zivid Two’s 700 mm. This of course brings a longer overall working distance with deeper reach. Where this really comes into play is it enables the use of extended grippers and end tools so that the end of the robot and the 3D camera do not have to enter the bin itself and thus reduces the risk of collision. This benefit is also attractive to machine tending and logistics applications for very similar reasons. 

A new 3D camera, built on a rock-solid platform 

Whilst the Zivid Two L100 is new, it inherits most of its DNA from the Zivid Two. Therefore, it is compatible with the Zivid SDK, Zivid studio and Tools, and all of our accessories. You can expect all the same level of performance and stability seen with Zivid Two, now you can just go further. 

Zivid Two L100 is available to order from Zivid Sales today. 

Happy Zivid developing! 

Download SDK 2.8

2.8 Changelog API reference C++ API reference .NET

 

You May Also Like

These Stories on software

Subscribe by Email

No Comments Yet

Let us know what you think