Huge problem when doing calibration in Zed360

I have some issues that I cannot solve when I am doing fusion (calibration) for two ZED cameras. I am using Python 3.14.5, pyzed 5.3, ZED SDK 5.3, CUDA 13.

And I have two laptops with all the same settings and versions, with each laptop connected to one ZedCam.

Let me illustrate the flow of how I work with the fusion of ZedCam.

First, I run the python file (publisher.py) in the cmd of two laptops.

(here is my publisher.py)

import pyzed.sl as sl

zed = sl.Camera()

print(zed.get_sdk_version())

print(dir(sl.CommunicationParameters))

init = sl.InitParameters()

status = zed.open(init)

if status != sl.ERROR_CODE.SUCCESS:

exit()

zed.enable_positional_tracking()

body_params = sl.BodyTrackingParameters()

body_params.enable_tracking = True

body_params.detection_model = sl.BODY_TRACKING_MODEL.HUMAN_BODY_ACCURATE

body_params.body_format = sl.BODY_FORMAT.BODY_38

zed.enable_body_tracking(body_params)

comm = sl.CommunicationParameters()

comm.set_for_local_network(30000)

runtime_params = sl.RuntimeParameters()

#runtime_params.enable_fill_mode = True

#runtime_params.confidence_threshold = 95

#runtime_params.remove_saturated_areas = True

body_runtime_param = sl.BodyTrackingRuntimeParameters()

body_runtime_param.detection_confidence_threshold = 50

status = zed.start_publishing(comm)

print(“Publishing:”, status)

print(“Serial Number:”, zed.get_camera_information().serial_number)

bodies = sl.Bodies()

while True:

if zed.grab() == sl.ERROR_CODE.SUCCESS:

    zed.retrieve_bodies(bodies, body_runtime_param)

    if len(bodies.body_list) > 0:

        print("Detected bodies:", len(bodies.body_list))

Second, I open ‘Zed360’ for the calibration (to get the calibration.json file) in one laptop and in ‘set my room’ , I type the ‘serial number’ and ‘IP Address’ of my two Zed Cameras under ‘Edge Local Network workflow (manual)’. Then I saw two cameras added to the ‘camera list’ and I pressed the button of ‘set your room’ . And I saw the 3D camera models of two ZED Cameras, however they are overlapping. I try to move one camera in real world then the 3D model of this camera is also moving, however when I move the other camera physically, it’s 3D model in ‘ZED360’ is static and it’s delta data is remain 0.00ms (I had checked with the ‘ZED Sensor Viewer’ app, this ZedCam has no problem or broke, everything in ‘ZED Sensor Viewer’ are normal). And both camera ratio detection data remain 0.000%. Also, I cannot see the skeleton of my body tracking in the ‘Zed360’. (I got some photos attached below)

I also tried to connect two ZED Cameras into one computer. In ‘Zed360’, I press ‘auto discover’ inside ‘set your room’ . Then, I saw both cameras appear on the camera list and the 3D models of two ZED Cameras were placed in the correct position, not sticking together. Also, I saw the skeleton, and the delta data also moved for two ZED Cameras. However, the ratio section data of both cameras still are 0%. Hence, I slightly adjust one ZEDcam position in the real world, then the whole ‘Zed360’ app crashes (shown not responding to Zed360’). Later, I tried everything again, however, it always showed no response.

I just followed the steps of calibration in your official website. But why did I fail? What’s the problem? Or does the ‘Zed360’ app have some bugs? As before I used the ‘ZED Explore’ to do the streaming, but it failed. The stream video just pops up once, the screen of the stream video black out. Hence, I use the samples of streamer.py and receiver.py files in the ZED Python SDK. Then streaming can probably run.

I am so confused about such issues, how can i solve these problems?

Hello,

Thank you for the detailed report and for sharing your publisher script. Before we can pinpoint the cause of the failed
calibration (0.000% detection ratio, static camera model with 0.00 ms delta, and the ZED360 crash), we need a few
diagnostics from both machines. Could you please provide the following:

  1. Diagnostic reports
    Run ZED_Diagnostic on BOTH laptops and attach the generated report files. This gives us the camera model, serial, firmware,
    exact SDK 5.3.x version, OS, and USB controller layout.

  2. Verbose publisher logs
    Re-run publisher.py on both machines with init_params.sdk_verbose = 1 and attach the FULL console output. Please also add a
    print of len(bodies.body_list) inside the grab loop so we can confirm bodies are actually detected and published on each
    sender.

  3. ZED360 terminal output and crash logs
    Launch ZED360 from a terminal during the calibration attempt (Windows: run ZED360.exe from cmd; Linux: run ZED360 from a
    shell) and attach the full terminal output — in particular, please tell us whether “WRONG BODY FORMAT” appears. Also include
    the ZED360 version and any crash log/dump from the single-PC crash.

  4. Fusion configuration file
    Attach the fusion configuration JSON that ZED360 generated/used (the per-camera serial, IP, and port entries).

  5. Two-laptop network check
    From each laptop, run ping , then test port 30000 reachability:

  • Windows (PowerShell): Test-NetConnection -Port 30000
  • Linux: nc -vzu 30000

Please also state whether the link is Ethernet or Wi-Fi and whether both machines are on the same subnet.

  1. Firewall/antivirus status
    Report the firewall status on both laptops:
  • Windows: netsh advfirewall show allprofiles
  • Ubuntu: sudo ufw status verbose

Then temporarily disable the firewall on both machines and retry the two-laptop calibration once. A blocked UDP port 30000
would explain both the frozen 0.00 ms delta and the ZED Explorer stream going black between the same machines.

  1. Calibration procedure
    Please confirm whether a single person was walking slowly through the OVERLAPPING field of view of both cameras during the
    entire calibration attempt. This is required for the detection ratio to rise above 0%.

  2. Sender configuration per the Fusion docs
    Retry with the sender configured as recommended:
    body_param.body_format = sl.BODY_FORMAT.BODY_18
    body_param.enable_tracking = False
    body_param.enable_body_fitting = False
    and let us know whether skeletons and a non-zero ratio then appear in ZED360. Your current script uses BODY_38 with tracking
    enabled, which ZED360 can be sensitive to.

  3. Single-PC setup
    For the test with both cameras on one laptop, please confirm whether the cameras are on separate USB3 controllers; if not,
    lower both to HD720@15 and retry — two cameras on one controller can saturate USB bandwidth. After any ZED360 crash, fully
    unplug and replug both cameras before retrying. Optionally, you may also test SDK 5.4.0, which fixes a streaming receiver
    rejoin issue (stream going black) and USB re-enumeration problems after a crash.

With the diagnostic reports, logs, and the results of the network and configuration checks above, we should be able to isolate whether this is a network/firewall issue, a calibration-procedure issue, or a defect on our side, and follow up
quickly.