Skip to content

Commit 0a20204

Browse files
Fix roll range
1 parent e9f5f9c commit 0a20204

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/MadgwickAHRS.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -243,12 +243,9 @@ float Madgwick::invSqrt(float x) {
243243

244244
void Madgwick::computeAngles()
245245
{
246-
float x = 2.0f * (q1*q3 - q0*q2);
247-
float y = 2.0f * (q0*q1 + q2*q3);
248-
float z = q0*q0 - q1*q1 - q2*q2 + q3*q3;
249-
pitch = atan2f(x, sqrtf(y*y + z*z));
250-
roll = atan2f(y, sqrtf(x*x + z*z));
251-
yaw = atan2f(2.0f*q1*q2 - 2.0f*q0*q3, 2.0f*q0*q0 + 2.0f*q1*q1 - 1.0f);
246+
roll = atan2f(q0*q1 + q2*q3, 0.5f - q1*q1 - q2*q2);
247+
pitch = asinf(-2.0f * (q1*q3 - q0*q2));
248+
yaw = atan2f(q1*q2 + q0*q3, 0.5f - q2*q2 - q3*q3);
252249
anglesComputed = 1;
253250
}
254251

0 commit comments

Comments
 (0)