33 #include "rosflight.h" 166 && a_sqrd_norm < 1.1f*1.1f*9.80665f*9.80665f && a_sqrd_norm > 0.9f*0.9f*9.80665f*9.80665f)
180 w_acc.
x = -2.0f*q_tilde.
w*q_tilde.
x;
181 w_acc.
y = -2.0f*q_tilde.
w*q_tilde.
y;
225 if (sqrd_norm_w > 0.0
f)
237 float norm_w = sqrtf(sqrd_norm_w);
239 float t1 = cosf((norm_w*dt)/2.0
f);
240 float t2 = 1.0f/norm_w * sinf((norm_w*dt)/2.0
f);
Estimator(ROSflight &_rf)
turbomath::Vector gyro_LPF_
turbomath::Vector accel_LPF_
bool attitude_correction_next_run_
void reset_adaptive_bias()
uint64_t last_acc_update_us_
void get_RPY(float *roll, float *pitch, float *yaw) const
float get_param_float(uint16_t id) const
Get the value of a floating point parameter by id.
void set_attitude_correction(const turbomath::Quaternion &q)
Vector normalized() const
virtual uint64_t clock_micros()=0
void set_error(uint16_t error)
void clear_error(uint16_t error)
turbomath::Quaternion attitude
turbomath::Vector angular_velocity
int get_param_int(uint16_t id) const
Get the value of an integer parameter by id.
StateManager state_manager_
turbomath::Quaternion q_correction_
const Data & data() const
const turbomath::Vector g_