Fusion Calibration Not Working

I am using a fusion server combined with four Zed 2i sensors, and four Zed Box Xavier NX 8GB computers, as outlined in this thread.

I can now successfully connect to all four cameras from Zed360, which are running the camera streaming sender Python example.

Zed360 shows all four cameras, and four accompanying stick figure skeletons. However, when I walk throughout the space, the calibration never completes, and the skeletons never merge. The resulting config file (which is not correctly calibrated) is as follows:

{
    "35415565": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "192.168.0.51:30000",
                "type": "STREAM"
            }
        },
        "world": {
            "rotation": [
                0.0,
                0.0,
                0.0
            ],
            "translation": [
                0.0,
                -1.0115034580230713,
                0.0
            ]
        }
    },
    "36205937": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "192.168.0.52:30002",
                "type": "STREAM"
            }
        },
        "world": {
            "rotation": [
                0.06137102097272873,
                -0.017675090581178665,
                -0.023768071085214615
            ],
            "translation": [
                0.12181863188743591,
                -1.2511177062988281,
                0.17241908609867096
            ]
        }
    },
    "37926095": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "192.168.0.54:30006",
                "type": "STREAM"
            }
        },
        "world": {
            "rotation": [
                0.052837055176496506,
                -0.11187252402305603,
                0.1903730183839798
            ],
            "translation": [
                -2.2479231357574463,
                -1.5031689405441284,
                -0.7774171233177185
            ]
        }
    },
    "39930155": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "192.168.0.53:30004",
                "type": "STREAM"
            }
        },
        "world": {
            "rotation": [
                0.11773711442947388,
                -3.092029571533203,
                -0.43477118015289307
            ],
            "translation": [
                0.8118799328804016,
                -1.678109049797058,
                3.5668108463287354
            ]
        }
    }
}

I also tried using two cameras, thinking I had too many sensors for my studio test space, and they yielded this (also incorrectly calibrated) config file:

{
    "35415565": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "192.168.0.51:30000",
                "type": "STREAM"
            }
        },
        "world": {
            "rotation": [
                0.0,
                0.0,
                0.0
            ],
            "translation": [
                0.0,
                -1.0030548572540283,
                0.0
            ]
        }
    },
    "39930155": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "192.168.0.53:30004",
                "type": "STREAM"
            }
        },
        "world": {
            "rotation": [
                -0.018235743045806885,
                -0.9002956748008728,
                -0.002383040962740779
            ],
            "translation": [
                2.5495002269744873,
                -1.3166497945785522,
                0.2370414137840271
            ]
        }
    }
}

I’d love any input on how to get the calibration to function properly. I did notice the erroneous values from the first sensor, where many of the rotation and translation variables are being set to zero.

Thanks for your help!

I just tried the two camera solution with a different pair of cameras, and the first camera always appears to have those zero values for rotation translation. It doesn’t matter which camera it is, those values never get properly set.

Hi,

This is expected. The origin of the coordinate system is placed below one camera, on the ground (that explains the translation value), aligned with the camera, that’s why the rotation is set to zero.

Stereolabs Support

The network latency issue in this thread was causing the calibration problems. Once there was no latency, calibration worked as expected.