Global localization-two camera


Hello, I would like to apply global localization on two cameras as shown in the uploaded figure. I position the antenna on the left lens of camera 2, when I have to apply the calibration parameters for GNSS/VIO, I will set:
1)gnss_calibration_parameter.gnss_antenna_position = sl::float3(0,0,0); //for camera 2
2)gnss_calibration_parameter.gnss_antenna_position = sl::float3(-25,-2,0);//for camera 1
Is this correct? The coordinate systems is right handed, y-down (image - default)

Hello,

Currently, the global localization module utilizes a single camera for fusion. While we plan to incorporate data from multiple cameras in the future, this functionality is not yet available.

Regarding your question, the gnss_antenna_position must be set in the coordinate system and units that you define in the InitFusionParameters coordinate system / coordinate_units.

Additionally, concerning your note, the tracking reference is indeed the center of the left optics. Please ensure you include the Y-axis component for camera 2.

Best regards, Tanguy

Hello, I would like to apply global localization on two cameras by making two separate fusions, one for each camera in two separate threads.
If I position the antenna on the left lens of camera 2, when I have to apply the calibration parameters for GNSS/VIO, I will set:
1)gnss_calibration_parameter.gnss_antenna_position = sl::float3(0,+1,0); //for camera 2
2)gnss_calibration_parameter.gnss_antenna_position = sl::float3(-25,-3,0);//for camera 1
Is it correct? Are the signs correct?
Thanks in advance

If I understand well your problem, your transformation should be

  1. gnss_calibration_parameter.gnss_antenna_position = sl::float3(0,-1,0); //for camera 2
  2. gnss_calibration_parameter.gnss_antenna_position = sl::float3(-25,-3,0);//for camera 1
    Be careful the previous transformation supposed that your set the unit to CENTIMETER. By default the unit are set to METER.