Browse Source

Fixed euler wrapping.

master
James Goppert 9 years ago
parent
commit
1778ac199c
  1. 2
      matrix/Euler.hpp
  2. 4
      test/attitude.cpp

2
matrix/Euler.hpp

@ -61,8 +61,6 @@ public: @@ -61,8 +61,6 @@ public:
psi_val = Type(atan2(-dcm(1,2), -dcm(0,2)));
}
if (psi_val < 0) psi_val += 2*pi;
phi() = phi_val;
theta() = theta_val;
psi() = psi_val;

4
test/attitude.cpp

@ -104,8 +104,8 @@ int main() @@ -104,8 +104,8 @@ int main()
roll_expected = 0;
yaw_expected = yaw + roll;
}
if (yaw_expected < 0) yaw_expected += 360;
if (yaw_expected > 360) yaw_expected -= 360;
if (yaw_expected < -180) yaw_expected += 360;
if (yaw_expected > 180) yaw_expected -= 360;
printf("roll:%d pitch:%d yaw:%d\n", roll, pitch, yaw);
Euler<double> euler_expected(

Loading…
Cancel
Save