I’m running the ZED ROS2 Wrapper (master branch) inside a Docker environment on a Jetson platform (L4T R35.4.1) with ZED SDK 4.2.2 and ROS 2 Humble, using a ZED X camera. When I enable GNSS by launching the wrapper as follows:
and the covariance values there are properly populated. However, the pose/origin_fix topic produced by the ZED Wrapper always shows a covariance array filled with -1 when GNSS is enabled.
Additionally, when launching zed_display, the aerial map in RViz2 indicates that the gnss_ref_pose TF is missing
Because the Humble Docker image provided by dustynv is based on Ubuntu 20.04, I couldn’t install ROS Humble packages via apt and had to build from source. If you have any advice on that, please let me know. Also, despite using CMake version 3.22.1, I kept getting CMP0146 and CMP0148 warnings during the build. I ended up completing the build by adding --cmake-args -Wno-dev. I’m wondering if this could cause any issues.
Also, I ran the docker container with the -v /etc/localtime:/etc/localtime:ro and -v /etc/timezone:/etc/timezone:ro options on the host PC. Even though the header timestamps appear to be very similar when compared, I still occasionally encounter timestamp-related errors.
Hi, @Myzhar thank you for your previous response, but unfortunately, I couldn’t fully understand it because I encountered an error related to covariance.
Let me explain my current setup and situation:
Environment:
I am not using Docker.
Host configuration:
ROS 2 Foxy
zed-ros2-wrapper -b humble-4.1.4
ZED SDK 4.1.4
GPS Topic: When I check the /fix topic using ros2 topic echo, the covariance data appears to be normal, as shown below:
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:
Hi @whypushhh
are you providing GNSS information with fixed values for the covariance?
What GNSS driver are you using to generate the GPS FIX messages?
Hi @Myzhar
I’m using a Ublox GPS module along with a ROS package to publish GPS Fix messages on a custom topic. In my setup, the GPS covariance is not fixed—it updates continuously. However, I noticed that the covariance values shown in the ZED Wrapper’s origin_fix differ from what I’m actually publishing. Because of this discrepancy, it seems that the GPS fusion calibration never completes and keeps restarting.
I’ve attached my Ublox GPS configuration file and launch file below for reference. Could you please advise on why the covariance in the origin_fix might not match the one I’m sending and how to ensure the GPS fusion calibration finishes properly?