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
- GPS Topic: When I check the
/fix
topic usingros2 topic echo
, the covariance data appears to be normal, as shown below:
- 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 setgnss_enable: true
, but this did not take effect, so I forcibly set it via the terminal.
- 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 is2
, which is notunknown
.
- 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:
- Why is the covariance in
/origin_fix
filled with-1
when the covariance type is2
(notCOVARIANCE_TYPE_UNKNOWN
)? - Could there be a configuration or process I missed in enabling proper GNSS fusion?
- Regarding the timestamp issue:
- What might cause the timestamp mismatch?
- Is there a recommended approach to synchronize timestamps for ZED and GNSS fusion?
- 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!