[GH-ISSUE #133] Can angular velocity be obtained from head tracking data? #57

Open
opened 2026-03-02 12:03:05 +03:00 by kerem · 3 comments
Owner

Originally created by @hardplus-a on GitHub (May 29, 2025).
Original GitHub issue: https://github.com/kavishdevar/librepods/issues/133

Hello, in the head tracking data, the 43rd to 48th bytes represent the Euler angle, in radians, right? Can the corresponding angular velocity (in radians/s) be calculated? I want to get the Custom Value 1 and Custom Value 2 from this website
https://source.android.com/docs/core/interaction/sensors/head-tracker-hid-protocol#data-field-custom-value-2, can I get them? For example, in the head tracking data below, what are the corresponding angles [rx, ry, rz] and angular velocities [vx, vy, vz]?
0x 04 00 04 00 17 00 00 00 10 00 44 00 08 0f 10 01 3a 3e 08 0e 1a 3a 01 10 9a c3 6a 0e 00 00 00 03 04 83 bc 25 f0 04 00 00 00 00 72 92 5c f2 95 e2 14 00 26 01 5f ff 38 00 04 e2 50 f2 e6 ff 15 00 24 00 22 fe ef 02 09 02 72 39 4e 3a 61 00 00 00

Originally created by @hardplus-a on GitHub (May 29, 2025). Original GitHub issue: https://github.com/kavishdevar/librepods/issues/133 Hello, in the head tracking data, the 43rd to 48th bytes represent the Euler angle, in radians, right? Can the corresponding angular velocity (in radians/s) be calculated? I want to get the Custom Value 1 and Custom Value 2 from this website https://source.android.com/docs/core/interaction/sensors/head-tracker-hid-protocol#data-field-custom-value-2, can I get them? For example, in the head tracking data below, what are the corresponding angles [rx, ry, rz] and angular velocities [vx, vy, vz]? 0x 04 00 04 00 17 00 00 00 10 00 44 00 08 0f 10 01 3a 3e 08 0e 1a 3a 01 10 9a c3 6a 0e 00 00 00 03 04 83 bc 25 f0 04 00 00 00 00 72 92 5c f2 95 e2 14 00 26 01 5f ff 38 00 04 e2 50 f2 e6 ff 15 00 24 00 22 fe ef 02 09 02 72 39 4e 3a 61 00 00 00
Author
Owner

@kavishdevar commented on GitHub (Jun 5, 2025):

Hey! I am not sure how to calculate it in radians, haven't done much research because the only reason to have this was for head gestures. And, the bytes 43 to 48 don't seem to represent the euler angle either. What showed in the app is based on some observations in the packet's values.

But horizontal/vertical acceleration as mentioned here seem to represent the rotations speeds instead.

<!-- gh-comment-id:2943454508 --> @kavishdevar commented on GitHub (Jun 5, 2025): Hey! I am not sure how to calculate it in radians, haven't done much research because the only reason to have this was for head gestures. And, the bytes 43 to 48 don't seem to represent the euler angle either. What showed in the app is based on some observations in the packet's values. But horizontal/vertical acceleration as mentioned [here](https://github.com/kavishdevar/librepods/blob/main/AAP%20Definitions.md#received-head-tracking-sensor-data) seem to represent the rotations speeds instead.
Author
Owner

@hardplus-a commented on GitHub (Jun 9, 2025):

Hi, how do you know that those numbers represent acceleration and orientation? Is there any reference? You said that horizontal and vertical acceleration can represent angular velocity. I need the angular velocity of x, y, and z. Can they be converted to each other? Thanks

<!-- gh-comment-id:2955032919 --> @hardplus-a commented on GitHub (Jun 9, 2025): Hi, how do you know that those numbers represent acceleration and orientation? Is there any reference? You said that horizontal and vertical acceleration can represent angular velocity. I need the angular velocity of x, y, and z. Can they be converted to each other? Thanks
Author
Owner

@kavishdevar commented on GitHub (Jun 30, 2025):

Sorry, I do not know. You can try using the head-tracking tool to capture the raw data and explore for yourself (Linux only).

<!-- gh-comment-id:3017644449 --> @kavishdevar commented on GitHub (Jun 30, 2025): Sorry, I do not know. You can try using the head-tracking tool to capture the raw data and explore for yourself (Linux only).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librepods#57
No description provided.