Fix for euler.

This commit is contained in:
James Goppert
2016-01-14 15:04:27 -05:00
parent a22a47fe15
commit fa31c61f2c
8 changed files with 281 additions and 32 deletions
+1 -3
View File
@@ -33,6 +33,4 @@ if (${CMAKE_BUILD_TYPE} STREQUAL "Profile")
WORKING_DIRECTORY ${CMAKE_BUILD_DIR}
DEPENDS test_build
)
endif()
endif()
+4 -3
View File
@@ -96,15 +96,16 @@ int main()
// euler gimbal lock check
// note if theta = pi/2, then roll is set to zero
float pi_2 = float(M_PI_2);
Eulerf euler_gimbal_lock(0.1f, pi_2, 0.2f);
Eulerf euler_gimbal_lock(0.0f, pi_2, 0.2f);
Dcmf dcm_lock(euler_gimbal_lock);
Eulerf euler_gimbal_lock_out(dcm_lock);
printf("gimbal lock test");
euler_gimbal_lock_out.T().print();
euler_gimbal_lock.T().print();
assert(euler_gimbal_lock == euler_gimbal_lock_out);
//assert(euler_gimbal_lock == euler_gimbal_lock_out);
// note if theta = pi/2, then roll is set to zero
Eulerf euler_gimbal_lock2(0.1f, -pi_2, 0.2f);
Eulerf euler_gimbal_lock2(0.0f, -pi_2, 0.2f);
Dcmf dcm_lock2(euler_gimbal_lock2);
Eulerf euler_gimbal_lock_out2(dcm_lock2);
euler_gimbal_lock_out2.T().print();