Problem with gnss fusion calibration not ending

I asked a question last time, but didn’t get an answer, so I’m posting it as the main question again.

  • Host configuration:
    • ROS 2 Foxy
    • zed-ros2-wrapper -b humble-4.1.4
    • ZED SDK 4.1.4
  1. GPS Topic: When I check the /fix topic using ros2 topic echo, the covariance data appears to be normal, as shown below:

  1. GNSS Fusion: I perform GNSS fusion by running the following command:
    ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedx enable_gnss:=true
  • I modified config/common.yaml to set gnss_enable: true, but this did not take effect, so I forcibly set it via the terminal.
  1. Results:
  • The /zed/zed_node/pose/origin_fix topic shows the following:

  • The /zed/zed_node/pose/fused_fix topic shows the following:

Although the latitude, longitude, and altitude appear to be correct, the covariance in /origin_fix is filled with -1.
5. Code Review: I reviewed the zed_camera_component.cpp code at line 8170:

  • It seems that if the covariance type is COVARIANCE_TYPE_UNKNOWN, it is filled with -1. However, in my case, the type is 2, which is not unknown.
  1. Logs and Timestamp Issue: I am also seeing logs indicating “covariance is small, and the timestamp is mismatched.” These logs repeat very quickly:


Calibration in progress continues without end

Questions:

  1. Why is the covariance in /origin_fix filled with -1 when the covariance type is 2 (not COVARIANCE_TYPE_UNKNOWN)?
  2. Could there be a configuration or process I missed in enabling proper GNSS fusion?
  3. Regarding the timestamp issue:
  • What might cause the timestamp mismatch?
  • Is there a recommended approach to synchronize timestamps for ZED and GNSS fusion?
  1. Is the continuation of calibration a timestamp issue or an inability to subscribe to the covariance value? There is no problem with the GPS values ​​I publish.

I would greatly appreciate your advice and suggestions to resolve these issues. Thank you!

1 Like

Having the same issue here

Having the same issue here. Are there already any solutions?

Hi @Myzhar,

I’m trying to use GNSS data to fuse them with my four ZED X cameras.

I run the GPS node as well as the ZED_multi node with the following command.

ros2 launch zed_multi_camera zed_multi_camera.launch.py cam_names:='[zed_front_left,zed_front_right, zed_rear_left,zed_rear_right]' cam_models:='[zedx,zedx,zedx,zedx]' cam_ids:='[0,1,2,3]' enable_gnss:='true'

I get the following output and it is not ending…

[component_container_isolated-1] [INFO] [1751291358.067493098] [zed_multi.zed_rear_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.067573666] [zed_multi.zed_rear_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.067595488] [zed_multi.zed_rear_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.067609470] [zed_multi.zed_rear_right]:   * Translation: {542910.302,5229445.245,-1.389}
[component_container_isolated-1] [INFO] [1751291358.067626013] [zed_multi.zed_rear_right]:   * Rotation: {0.000,0.000,-0.145}
[component_container_isolated-1] [INFO] [1751291358.068394830] [zed_multi.zed_front_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.068455208] [zed_multi.zed_front_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.068476805] [zed_multi.zed_front_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.068492420] [zed_multi.zed_front_right]:   * Translation: {542910.444,5229445.292,-1.408}
[component_container_isolated-1] [INFO] [1751291358.068509154] [zed_multi.zed_front_right]:   * Rotation: {0.000,0.000,-1.079}
[component_container_isolated-1] [INFO] [1751291358.116438827] [zed_multi.zed_front_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.116571901] [zed_multi.zed_front_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.116597947] [zed_multi.zed_front_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.116614265] [zed_multi.zed_front_right]:   * Translation: {542910.444,5229445.291,-1.408}
[component_container_isolated-1] [INFO] [1751291358.116635895] [zed_multi.zed_front_right]:   * Rotation: {0.000,0.000,-1.079}
[component_container_isolated-1] [INFO] [1751291358.125328539] [zed_multi.zed_front_left]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.125460109] [zed_multi.zed_front_left]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.125482699] [zed_multi.zed_front_left]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.125495658] [zed_multi.zed_front_left]:   * Translation: {542910.361,5229445.129,-1.496}
[component_container_isolated-1] [INFO] [1751291358.125600543] [zed_multi.zed_front_left]:   * Rotation: {0.000,0.000,-0.624}
[component_container_isolated-1] [INFO] [1751291358.131323540] [zed_multi.zed_rear_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.131427401] [zed_multi.zed_rear_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.131448423] [zed_multi.zed_rear_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.131462213] [zed_multi.zed_rear_right]:   * Translation: {542910.302,5229445.245,-1.389}
[component_container_isolated-1] [INFO] [1751291358.131480803] [zed_multi.zed_rear_right]:   * Rotation: {0.000,0.000,-0.144}
[component_container_isolated-1] [INFO] [1751291358.136357711] [zed_multi.zed_rear_left]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.136454309] [zed_multi.zed_rear_left]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.136473635] [zed_multi.zed_rear_left]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.136486786] [zed_multi.zed_rear_left]:   * Translation: {542910.224,5229445.314,-1.294}
[component_container_isolated-1] [INFO] [1751291358.136504576] [zed_multi.zed_rear_left]:   * Rotation: {0.000,-0.000,0.893}
[component_container_isolated-1] [INFO] [1751291358.184217759] [zed_multi.zed_front_left]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.184331796] [zed_multi.zed_front_left]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.184351410] [zed_multi.zed_front_left]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.184369008] [zed_multi.zed_front_left]:   * Translation: {542910.361,5229445.129,-1.496}
[component_container_isolated-1] [INFO] [1751291358.184390893] [zed_multi.zed_front_left]:   * Rotation: {0.000,0.000,-0.624}
[component_container_isolated-1] [INFO] [1751291358.194808960] [zed_multi.zed_rear_left]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.195334218] [zed_multi.zed_rear_left]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.195361448] [zed_multi.zed_rear_left]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.195413666] [zed_multi.zed_rear_left]:   * Translation: {542910.224,5229445.314,-1.294}
[component_container_isolated-1] [INFO] [1751291358.195436064] [zed_multi.zed_rear_left]:   * Rotation: {0.000,-0.000,0.892}
[component_container_isolated-1] [INFO] [1751291358.199026447] [zed_multi.zed_rear_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.199117574] [zed_multi.zed_rear_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.199138564] [zed_multi.zed_rear_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.199151907] [zed_multi.zed_rear_right]:   * Translation: {542910.302,5229445.245,-1.389}
[component_container_isolated-1] [INFO] [1751291358.199169793] [zed_multi.zed_rear_right]:   * Rotation: {0.000,0.000,-0.145}
[component_container_isolated-1] [INFO] [1751291358.201115065] [zed_multi.zed_front_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.201189425] [zed_multi.zed_front_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.201210031] [zed_multi.zed_front_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.201224238] [zed_multi.zed_front_right]:   * Translation: {542910.444,5229445.291,-1.408}
[component_container_isolated-1] [INFO] [1751291358.201242028] [zed_multi.zed_front_right]:   * Rotation: {0.000,0.000,-1.079}
[component_container_isolated-1] [INFO] [1751291358.249539184] [zed_multi.zed_front_right]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.249688576] [zed_multi.zed_front_right]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.249712926] [zed_multi.zed_front_right]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.249726492] [zed_multi.zed_front_right]:   * Translation: {542910.444,5229445.292,-1.408}
[component_container_isolated-1] [INFO] [1751291358.249744890] [zed_multi.zed_front_right]:   * Rotation: {0.000,0.000,-1.079}
[component_container_isolated-1] [INFO] [1751291358.258926540] [zed_multi.zed_rear_left]: GNSS fusion status: CALIBRATION_IN_PROGRESS
[component_container_isolated-1] [INFO] [1751291358.259059582] [zed_multi.zed_rear_left]: GNSS reference localization initialized
[component_container_isolated-1] [INFO] [1751291358.259082012] [zed_multi.zed_rear_left]:  Static transform MAP to UTM [map -> utm]
[component_container_isolated-1] [INFO] [1751291358.259096571] [zed_multi.zed_rear_left]:   * Translation: {542910.224,5229445.314,-1.294}
[component_container_isolated-1] [INFO] [1751291358.259133879] [zed_multi.zed_rear_left]:   * Rotation: {0.000,-0.000,0.892}

The GPS node pulishes the following topic:

---
header:
  stamp:
    sec: 1751291321
    nanosec: 263034814
  frame_id: gps
status:
  status: 2
  service: 1
latitude: 47.2170733945
longitude: 9.566704929
altitude: 451.3027
position_covariance:
- 0.81
- 0.0
- 0.0
- 0.0
- 0.81
- 0.0
- 0.0
- 0.0
- 0.4651240000000001
position_covariance_type: 2

Could you please provide a hint?