You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When XR controllers leave the headset's camera view, the OpenXR runtime keeps streaming an IMU-extrapolated pose and is_tracking remains true. On re-acquisition the pose teleports. Downstream, the robot lurches toward the ghost target.
Evidence
Measured lurches of up to 73 cm/frame on controller re-acquisition (Quest 3 via CloudXR, SO-101 follower).
We implemented a PoseGate at the example layer consuming the runtime's GRIP_IS_VALID flag; verified via synthetic replay: 73.2 → 0.2 cm/frame.
Surface pose validity as a first-class deviceio output (GRIP_IS_VALID and friends), so any retargeting graph can gate on it, and/or
Ship a stock PoseGate retargeter node that holds the last valid pose (and optionally signals the clutch to disengage) while validity is false.
This affects every XR consumer of the library, not just our integration — occlusion is routine in tabletop teleop (the operator's own body blocks the cameras constantly).
Happy to upstream our PoseGate implementation if the design is agreeable.
Part of the field-integration feedback series (SO-101 + reBot DevArm, June 29 – July 6). Priority suggestion: P0.
Context
When XR controllers leave the headset's camera view, the OpenXR runtime keeps streaming an IMU-extrapolated pose and
is_trackingremainstrue. On re-acquisition the pose teleports. Downstream, the robot lurches toward the ghost target.Evidence
PoseGateat the example layer consuming the runtime'sGRIP_IS_VALIDflag; verified via synthetic replay: 73.2 → 0.2 cm/frame.Proposal
Either (in order of preference):
deviceiooutput (GRIP_IS_VALIDand friends), so any retargeting graph can gate on it, and/orThis affects every XR consumer of the library, not just our integration — occlusion is routine in tabletop teleop (the operator's own body blocks the cameras constantly).
Happy to upstream our PoseGate implementation if the design is agreeable.
Part of the field-integration feedback series (SO-101 + reBot DevArm, June 29 – July 6). Priority suggestion: P0.