euler_error = (quat2euler(quat_error)).m_ang / (TYPE) PI;
+ m_gyro_bias = euler_error.m_ang * (TYPE) PI;
+
quaternion<TYPE> quat_eu_er(1, euler_error.m_ang.m_vec[0], euler_error.m_ang.m_vec[1],
euler_error.m_ang.m_vec[2]);
euler_error = (quat2euler(quat_error)).m_ang / (TYPE) PI;
+ m_gyro_bias = euler_error.m_ang * (TYPE) PI;
+
euler_aid = quat2euler(m_quat_aid);
euler_driv = quat2euler(quat_output);
vect<TYPE, V1x3S> vec(arr_bias);
m_bias_correction = vec;
+
+ m_gyro_bias = m_gyro_bias + vec;
}
template <typename TYPE>
vect<TYPE, V1x6S> m_state_old;
vect<TYPE, V1x6S> m_state_error;
vect<TYPE, V1x3S> m_bias_correction;
+ vect<TYPE, V1x3S> m_gyro_bias;
quaternion<TYPE> m_quat_aid;
quaternion<TYPE> m_quat_driv;
rotation_matrix<TYPE> m_rot_matrix;