Dear ZED Team,
Recently, I have been working with the Fusion API, specifically the Livelink (Fusion) project, using three ZED 2i cameras connected to the same local computer.
As part of the workflow, the Fusion API requires the multi-camera calibration JSON file generated by ZED360 as input. I am particularly interested in understanding the pose field in this configuration file, which consists of 16 numerical values.
My questions are as follows:
-
Could you please clarify what these 16 values in the
posefield represent?-
Are they a 4×4 transformation matrix?
-
If so, what is the order (row-major or column-major), and how are rotation and translation encoded?
-
-
If some of these values correspond to camera position (translation), are the units expressed in meters (e.g., 1.39 m, 0.88 m, etc.)?
-
I recall seeing a statement suggesting that the first camera connected to the computer is set as the world origin (x = 0, y = 0, z = 0).
However, after inspecting the code and printing the camera translations at runtime, I noticed that Camera 0 does not have a (0, 0, 0) translation.-
Could you clarify where the Fusion world coordinate origin is defined?
-
Is the origin tied to a specific camera, or is it a virtual coordinate frame derived from calibration?
-
I have attached:
-
The calibration JSON file generated by ZED360
cali-demo.json (2.6 KB)
-
A code snippet showing the printed camera translations, which appears to be related to the values in the calibration file
-
Code:
-
for (const auto& cfg: configurations){ std::cout << "serial: " << cfg.serial_number << ", comm type: "<< static_cast<int>(cfg.communication_parameters.getType()) << std::endl; auto t = cfg.pose.getTranslation(); std::cout << "pose translation: "<< t.x << ", " << t.y << ", " <<t.z << std::endl; } -
Output:
serial: 31122074, comm type: 1 pose translation: 0, 1.3984, 0 serial: 33616805, comm type: 1 pose translation: 0.384386, 1.34435, 6.95971 serial: 37635958, comm type: 1 pose translation: -2.87276, 1.27234, 5.40546
-
The motivation behind these questions is that, before proceeding to analyze fused skeleton joint data, I would like to have a clear understanding of the coordinate system and spatial reference frame used by the Fusion API.
Thank you very much for your time and support.
Best regards,
waystogetthere