Two Zed Cameras in rigid body : How to keep there Transform synced

Hi all,
I have two Zed cameras fixed together like that :

Now I would like to display their position using the PositionnalTracking module in a OpenGL window.

I initialize them with “initial_world_transform” parameters :

    positional_tracking_parameters.initial_world_transform = sl::Transform(sl::Rotation(), sl::Translation(0, 0, -75));
    zed1.enablePositionalTracking(positional_tracking_parameters);
    positional_tracking_parameters.initial_world_transform = sl::Transform(sl::Rotation(M_PI, sl::Translation(0, 1, 0)), sl::Translation(0, 0, 75));
    zed2.enablePositionalTracking(positional_tracking_parameters);

It works well but their relative positions are not synced over the time :

At initialization :

After few time :

I tried to force the second camerasrelative position synced with the first one using the enablePositionalTracking() function but this is a blocking and very consuming time function.

Is there a better way to do that ?

Thank you

Hi @psykokwak
we are working on a major release of the ZED SDK that will natively provide this feature.
Meanwhile, the only way is to use the reset_positional_tracking function to update the position of one camera with respect to the other.

Hi @Myzhar, Thank you for your answer.
Do you have an idea of the date of this release ?
Thanks.

We are in the beta testing stage, fixing the latest issues and verifying that everything works as expected.
The new SDK will be ready soon.

1 Like

Great!
Does it fixes the multi camera mapping issue ? See : Realtime mapping using two cameras at the same time - #4 by psykokwak

Yes, that’s the scope…

1 Like