Add extrapolated prediction to drift compensation #615

Closed
opened 2026-04-05 20:20:02 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @nekomona on 9/28/2024

Previous drift compensation only interpolates between current yaw and the inverse of recorded drifts. This limits the compensation effectiveness as the drift would spin the tracker continuously, moving beyond the recorded drift angle.

This PR would keep rotating the compensation angle at the speed averaged from recorded drifts. It would give better compensation result at the presence of continuous drifting for a longer period of time.

Depending on https://github.com/SlimeVR/SolarXR-Protocol/pull/148

*Originally created by @nekomona on 9/28/2024* Previous drift compensation only interpolates between current yaw and the inverse of recorded drifts. This limits the compensation effectiveness as the drift would spin the tracker continuously, moving beyond the recorded drift angle. This PR would keep rotating the compensation angle at the speed averaged from recorded drifts. It would give better compensation result at the presence of continuous drifting for a longer period of time. Depending on https://github.com/SlimeVR/SolarXR-Protocol/pull/148
MrUnknownDE added the Area: GUIType: EnhancementArea: TranslationArea: ServerArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIArea: GUIType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: TranslationArea: Translation labels 2026-04-05 20:21:17 +02:00
Sign in to join this conversation.
No Label Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: GUI Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Area: Translation Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Server#615