ZED One Stereo Calibration

I recently purchased a ZED Box with Nvidia Orin connected to two cameras ZED X One cameras manually placed in stereo.

I have successfully installed the camera driver and can run ZED_Diagnostic with all green check marks and ZED_Media_Server with image streams and saved videos for both cameras at the same time.

The issue lies with the calibration build steps linked here. I attempted to build from the git calibration repo, but when running ./zedx_one_stereo_calibration in the terminal it is consistently unable to connect to the cameras with this error message:

Opening cameras with IDs: 0 and 1
[ArgusCapture] Create camera provider :
[ArgusCapture] Use camera provider : 0xaaaadfa7cc20
[ArgusCapture] Nb Sensors detected : 2
[ArgusCapture] Camera at Port0 is opening
[ArgusCapte] → Create Session for Port 0
[ArgusCapture] → Invalid Capture Session0 // status : 3
[ArgusCapture] Create camera provider :
[ArgusCapture] Use camera provider : 0xaaaadfa7cc20
[ArgusCapture] Nb Sensors detected : 2
[ArgusCapture] Camera at Port1 is opening
[ArgusCapte] → Create Session for Port 1
[ArgusCapture] → Invalid Capture Session0 // status : 3
Failed to open Camera, error code INVALID_CAPTURE_SESSION

I tried rebuilding the library, rebooting the cameras, and rebooting the ZED box with no success. I am wondering if you have any suggestions to solve this problem. Thank you.

Hi @nhorgan
Welcome to the Stereolabs community

Are you running the ZED Media Server in the background as a service?
If you started the service, it keeps the cameras open, so they are not available to the zedx_one_stereo_calibration application.

Try to kill the service before launching ./zedx_one_stereo_calibration:
sudo service stop zed_media_server_cli
or
sudo systemctl stop zed_media_server_cli.service

I now have gotten it further where it fails with this message:

Segmentation fault (core dumped)

Through some debugging, I have determined that this occurs at this line of code cv::resize(rgb_l, rgb_d, display_size); within the main.cpp.

Any ideas how to get past it?

Please copy and paste the full log of the crash.

./zedx_one_stereo_calibration 2> error.txt
Argus Capture Version : 1.1.0
##################
Device : 0
Name : ZEDXONE_CAM1
Badge : zedx_ar0234
Serial Number : 304219413
Available : 1
##################
Device : 1
Name : ZEDXONE_CAM0
Badge : zedx_ar0234
Serial Number : 301258240
Available : 1
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Opening cameras with IDs: 0 and 1
\[ArgusCapture\] Create camera provider : 
\[ArgusCapture\] Use camera provider : 0xaaaad2a69830
\[ArgusCapture\] Nb Sensors detected : 2
\[ArgusCapture\] Camera at Port0 is opening
\[ArgusCapte\] --> Create Session for Port 0
\[ArgusCapture\] --> Create Session Done
\[ArgusCapture\] --> Create producer Done
\[ArgusCapture\]\[Debug\] :  Wait for connection
\[ArgusCapture\] --> Create request Done
\[ArgusCapture\] --> Create stream Done
\[\[ArgusCapture\]\[Debug\] :  Wait for consumer
\[ArgusCapture\]\[Debug\] :  Done for connection
\[ArgusCapture\] --> configure stream Done
\[ArgusCapture\] --> Using Resolution 1920x1200@59
\[ArgusCapture\] --> configure consumer Done
\[ArgusCapture\] --> Waiting for New frames
\[ArgusCapture\] --> Dispatch Request 
\[ArgusCapture\] --> Ready!
\[ArgusCapture\] Create camera provider : 
\[ArgusCapture\] Use camera provider : 0xaaaad2a69830
\[ArgusCapture\] Nb Sensors detected : 2
\[ArgusCapture\] Camera at Port1 is opening
\[ArgusCapte\] --> Create Session for Port 1
\[ArgusCapture\] --> Create Session Done
\[ArgusCapture\] --> Create producer Done
\[ArgusCapture\]\[Debug\] :  Wait for connection
\[ArgusCapture\] --> Create request Done
\[ArgusCapture\] --> Create stream Done
\[\[ArgusCapture\]\[Debug\] :  Wait for consumer
\[ArgusCapture\] --> configure stream Done
\[ArgusCapture\] --> Using Resolution 1920x1200@59
\[ArgusCapture\] --> configure consumer Done
\[ArgusCapture\] --> Waiting for New frames
\[ArgusCapture\]\[Debug\] :  Done for connection
\[ArgusCapture\] --> Dispatch Request 
\[ArgusCapture\] --> Ready!

 

The calibration process requires a checkerboard of known characteristics.
Expected checkerboard size: 9x6 - 25mm
Change those values in the code depending on the checkerboard you are using!

 

Segmentation fault (core dumped)

Have you solved the problem?
I’ve tried to reproduce it, but the crash does not happen.

Hi,

I got exactly the same error today while trying to pair two pairs of ZED X ONE. Has a solution been found?

No, I have still found no solution. The problem persists.

Segmentation fault in cv::resize with Argus capture on aarch64

Hi,

I ran the code with gdb and here is the output in case it can help you:

user@GTW-ONX16-ubuntu:~/ZED_Calibration/zedx-one-capture/sample_mono/build$ gdb ./argus_camera
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see: https://www.gnu.org/software/gdb/bugs/
Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/
For help, type "help".
Type "apropos word" to search for commands related to "word"...

Reading symbols from ./argus_camera... (No debugging symbols found in ./argus_camera)
(gdb) run
Starting program: /home/user/ZED_Calibration/zedx-one-capture/sample_mono/build/argus_camera
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0xffffe4fd2840 (LWP 7656)]
[New Thread 0xffffe47c2840 (LWP 7657)]
[New Thread 0xffffe1fb2840 (LWP 7658)]
[New Thread 0xffffdab65840 (LWP 7659)]
Argus Capture Version : 1.1.0
[New Thread 0xffffda355840 (LWP 7661)]

##################
Device : 0
Name : ZEDXONE_CAM1
Badge : zedx_ar0234
Available : 1
##################
Device : 1
Name : ZEDXONE_CAM3
Badge : zedx_ar0234
Available : 1
##################
Device : 2
Name : ZEDXONE_CAM0
Badge : zedx_ar0234
Available : 1
##################
Device : 3
Name : ZEDXONE_CAM2
Badge : zedx_ar0234
Available : 1

[ArgusCapture] Create camera provider :
[ArgusCapture] Use camera provider : 0xaaaaab054590
[ArgusCapture] Nb Sensors detected : 4
[ArgusCapture] Camera at Port0 is opening
[ArgusCapte] --> Create Session for Port 0
[New Thread 0xffffd9b45840 (LWP 7726)]
[ArgusCapture] --> Create Session Done
[New Thread 0xffffd92fc840 (LWP 7727)]
[New Thread 0xffffd8aec840 (LWP 7728)]
[ArgusCapture][Debug] : Wait for connection
[ArgusCapture] --> Create producer Done
[ArgusCapture] --> Create request Done
[ArgusCapture] --> Create stream Done
[[ArgusCapture][Debug] : Wait for consumer
[ArgusCapture][Debug] : Done for connection
[ArgusCapture] --> configure stream Done
[ArgusCapture] --> Using Resolution 1920x1200@59
[New Thread 0xffffcb71f840 (LWP 7730)]
[New Thread 0xffffcaf0f840 (LWP 7731)]
[ArgusCapture] --> configure consumer Done
[ArgusCapture] --> Waiting for New frames
[ArgusCapture] --> Dispatch Request
[ArgusCapture] --> Ready!
Press 's' to save images, 'q' to quit, sorry

Thread 1 "argus_camera" received signal SIGSEGV, Segmentation fault.
0x0000fffff7a86218 in cv::resize(cv::_InputArray const&, cv::_OutputArray const&, cv::Size, double, double, int) ()
from /lib/aarch64-linux-gnu/libopencv_imgproc.so.4.5d
(gdb)