-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect pitch and roll during head rotation #6
Comments
Hello, are you using MPU6050 sensor? or other? ypr[0] = TO_DEG(yaw); ypr[0] = TO_DEG(yaw); |
Thanks for the quick response. Yes, I have an MPU-9150 sensor. Yes, I know that the order of the axes can be changed. I have already adjusted the axes inside the sketch to get a normal head tilt. In the starting position (when I look at the STEAM screen in the first screenshot), the head tilts are tracked correctly. Problems arise only after turning the head to the sides by yawing (left or right). |
Here is a piece of my sketch that is responsible for the output
|
Maybe the sensor is on the wrong side? Perhaps the problem is this. You can try to rotate the sensor and reconfigure the axes for them. |
I turned the sensor 90 degrees and replaced the pitch and roll axis with places and got the same result. The main problem is that when the head is rotated horizontally by 90 degrees, the pitch and roll axes coincide.
I wonder if I'm the only one facing such a problem, or have there been some changes in SteamVR? |
I don't have this problem with my GY 85 tracker You can also try the OpenVR-OpenTrack driver, with the OpenTrack application and SteamVR Razer IMu https://github.com/r57zone/OpenVR-OpenTrack https://github.com/r57zone/VR-tracking-apps/releases/download/1/Razor.IMU.SteamVR.zip Maybe the axes will match. |
I will probably need to change the reading to a quaternion |
This is due to the gimbal lock for the pitch and roll axes. A solution to this problem is proposed in the pull-request |
Hello and thanks for developing this driver!
Let me describe my problem.
I am using a homemade Arduino-based HMD device and I am faced with the problem of tracking head tilts to the right and left. The problem is incorrect display of head rotation during head rotation inside SteamVR Home (driver version 1.3 and SteamVR Version 1.24.7).
According to the results of the sketch, it looks good in symbolic form.
And translated into binary form
In SteamVR Home, while I'm standing in front of the screen, head tilts to the left and right are tracked correctly.
And the chin tilts also look correct
But if you turn your head to the right or left (yaw), and then tilt your head to the right (roll) looks like lowering your chin down (we have pitch instead of roll).
If you turn your head to the left, the same situation is observed. Tilting the head to the left becomes lowering the chin.
Turning the head back causes an inversion of the tilt of the head. For example, if the head is tilted to the right, the result is also a tilt, but only in the opposite direction.
It looks as if the coordinate system of head declaration does not rotate with HMD by yaw coordinate.
Please comment have you had any similar problems? And what could be the problem in your opinion?
The text was updated successfully, but these errors were encountered: