Hi,
I’m testing sl::Pose::pose_confidence on a ZED X Mini using SDK 5.3 on Jetson Orin NX, and I’m seeing behavior that seems inconsistent with the documentation / expected tracking quality reporting.
Setup: ZED X Mini on a Jetson Orin NX running SDK 5.3 with positional tracking enabled.
What I’m observing in a single-camera Camera::getPosition() test:
pose.pose_confidencestays locked at100POSITIONAL_TRACKING_STATEremainsOK- timestamps continue updating normally
However, this occurs even when the camera is fully covered and moved around in space.
At the same time, the SDK prints internal warnings such as:
[ZED][WARNING] Degraded or noisy image(s) detected on X keyframe(s) in the last tracking interval. These keyframes will be removed from the map to maintain tracking quality.
So internally, the SDK seems to detect degraded image/tracking quality, but pose.pose_confidence still remains at 100.
I’m also seeing a related behavior when using Fusion. If I call fusion.getPosition() and inspect the returned pose confidence, the confidence value does not appear to update at all and remains at 0.
So I’m seeing two different behaviors:
Camera::getPosition()returns confidence fixed at 100Fusion::getPosition()returns confidence fixed at 0
Questions:
- Is
pose.pose_confidenceexpected to remain fixed at 100 in GEN3 positional tracking? - Is
pose.pose_confidencepopulated/meaningful when usingFusion::getPosition()? - Is this field currently recommended for runtime tracking-quality validation or failure detection?
- Is there another recommended metric/API for detecting degraded visual tracking quality in real time?
- Is confidence only updated under certain tracking-state transitions or tracking modes?
Right now, it seems difficult to use pose.pose_confidence as a sanity metric, since it does not appear to reflect degraded visual conditions in the direct camera case, and does not appear to be populated in the Fusion case.
Thanks.