Paparazzi UAS
v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
|
Horizontal filter (x,y) to estimate position and velocity. More...
Go to the source code of this file.
Data Structures | |
struct | HfilterFloat |
Macros | |
#define | HFF_STATE_SIZE 2 |
Functions | |
void | b2_hff_init (float init_x, float init_xdot, float init_y, float init_ydot) |
void | b2_hff_propagate (void) |
void | b2_hff_update_gps (struct FloatVect2 *pos_ned, struct FloatVect2 *speed_ned) |
void | b2_hff_update_pos (struct FloatVect2 pos, struct FloatVect2 Rpos) |
void | b2_hff_update_vel (struct FloatVect2 vel, struct FloatVect2 Rvel) |
void | b2_hff_realign (struct FloatVect2 pos, struct FloatVect2 vel) |
Variables | |
struct HfilterFloat | b2_hff_state |
Horizontal filter (x,y) to estimate position and velocity.
Definition in file hf_float.h.
struct HfilterFloat |
Definition at line 38 of file hf_float.h.
Data Fields | ||
---|---|---|
uint16_t | lag_counter | |
bool | rollback | |
float | x | |
float | xdot | |
float | xdotdot | |
float | xP[HFF_STATE_SIZE][HFF_STATE_SIZE] | |
float | y | |
float | ydot | |
float | ydotdot | |
float | yP[HFF_STATE_SIZE][HFF_STATE_SIZE] |
#define HFF_STATE_SIZE 2 |
Definition at line 36 of file hf_float.h.
Referenced by b2_hff_init_x(), and b2_hff_init_y().
void b2_hff_init | ( | float | init_x, |
float | init_xdot, | ||
float | init_y, | ||
float | init_ydot | ||
) |
Definition at line 268 of file hf_float.c.
References AHRS_PROPAGATE_FREQUENCY, b2_hff_init_x(), b2_hff_init_y(), b2_hff_lost_counter, b2_hff_lost_limit, b2_hff_ps_counter, b2_hff_rb_n, b2_hff_state, DefaultPeriodic, DT_HFILTER, HFF_LOST_LIMIT, HFF_LOWPASS_CUTOFF_FREQUENCY, HFF_R_POS, HFF_R_SPEED, init_butterworth_2_low_pass_int(), HfilterFloat::lag_counter, lag_counter_err, past_save_counter, register_periodic_telemetry(), Rgps_pos, Rgps_vel, HfilterFloat::rollback, save_counter, SAVE_DONE, send_hff(), and send_hff_debug().
Referenced by ins_int_init().
void b2_hff_propagate | ( | void | ) |
Definition at line 470 of file hf_float.c.
References Imu::accel, ACCEL_FLOAT_OF_BFP, b2_hff_lost_counter, b2_hff_lost_limit, b2_hff_propagate_x(), b2_hff_propagate_y(), b2_hff_ps_counter, b2_hff_rb_n, b2_hff_state, b2_hff_xdd_meas, b2_hff_ydd_meas, Imu::body_to_imu, DT_HFILTER, imu, int32_rmat_transp_vmult(), HfilterFloat::lag_counter, orientationGetRMat_i(), PRINT_DBG, HfilterFloat::rollback, save_counter, stateGetNedToBodyRMat_i(), update_butterworth_2_low_pass_int(), Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
Referenced by ins_int_propagate().
void b2_hff_realign | ( | struct FloatVect2 | pos, |
struct FloatVect2 | vel | ||
) |
Definition at line 594 of file hf_float.c.
References b2_hff_rb_n, b2_hff_state, past_save_counter, save_counter, SAVE_DONE, HfilterFloat::x, FloatVect2::x, HfilterFloat::xdot, HfilterFloat::y, FloatVect2::y, and HfilterFloat::ydot.
Referenced by ins_int_update_gps().
void b2_hff_update_gps | ( | struct FloatVect2 * | pos_ned, |
struct FloatVect2 * | speed_ned | ||
) |
Definition at line 532 of file hf_float.c.
References b2_hff_lost_counter, b2_hff_rb_n, b2_hff_state, b2_hff_update_gps(), b2_hff_update_x(), b2_hff_update_xdot(), b2_hff_update_y(), b2_hff_update_ydot(), gps, HFF_R_POS_MIN, HFF_R_SPEED_MIN, if(), HfilterFloat::lag_counter, lag_counter_err, GpsState::pacc, past_save_counter, PRINT_DBG, Rgps_pos, Rgps_vel, HfilterFloat::rollback, GpsState::sacc, save_counter, FloatVect2::x, and FloatVect2::y.
Referenced by b2_hff_update_gps(), and ins_int_update_gps().
void b2_hff_update_pos | ( | struct FloatVect2 | pos, |
struct FloatVect2 | Rpos | ||
) |
Definition at line 685 of file hf_float.c.
References b2_hff_state, b2_hff_update_x(), b2_hff_update_y(), FloatVect2::x, and FloatVect2::y.
void b2_hff_update_vel | ( | struct FloatVect2 | vel, |
struct FloatVect2 | Rvel | ||
) |
Definition at line 757 of file hf_float.c.
References b2_hff_state, b2_hff_update_xdot(), b2_hff_update_ydot(), FloatVect2::x, and FloatVect2::y.
Referenced by vel_est_cb().
struct HfilterFloat b2_hff_state |
Definition at line 120 of file hf_float.c.
Referenced by b2_hff_init(), b2_hff_init_x(), b2_hff_init_y(), b2_hff_propagate(), b2_hff_realign(), b2_hff_update_gps(), b2_hff_update_pos(), b2_hff_update_vel(), send_hff(), and send_hff_debug().