Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
INS for rotorcrafts combining vertical and horizontal filters. More...
#include "subsystems/ins.h"
#include "subsystems/gps.h"
#include "std.h"
#include "math/pprz_geodetic_int.h"
#include "math/pprz_algebra_float.h"
Go to the source code of this file.
Data Structures | |
struct | InsInt |
Ins implementation state (fixed point) More... | |
Macros | |
#define | DefaultInsImpl ins_int |
Functions | |
void | ins_int_init (void) |
void | ins_int_propagate (struct Int32Vect3 *accel, float dt) |
void | ins_int_update_gps (struct GpsState *gps_s) |
void | ins_int_register (void) |
Variables | |
struct InsInt | ins_int |
global INS state More... | |
INS for rotorcrafts combining vertical and horizontal filters.
Definition in file ins_int.h.
struct InsInt |
Data Fields | ||
---|---|---|
bool_t | baro_initialized | |
float | baro_z | z-position calculated from baro in meters (z-down) |
bool_t | hf_realign |
request to realign horizontal filter. Sets to current position (local origin unchanged). |
struct NedCoor_i | ltp_accel | |
struct LtpDef_i | ltp_def | |
bool_t | ltp_initialized | |
struct NedCoor_i | ltp_pos | |
struct NedCoor_i | ltp_speed | |
uint32_t | propagation_cnt | number of propagation steps since the last measurement update |
float | qfe | |
bool_t | vf_reset |
request to reset vertical filter. Sets the z-position to zero and resets the the z-reference to current altitude. |
void ins_int_init | ( | void | ) |
Definition at line 184 of file ins_int.c.
References b2_hff_init(), baro_cb(), InsInt::baro_initialized, DefaultPeriodic, FALSE, InsInt::hf_realign, INS_BARO_ID, ins_init_origin_from_flightplan(), ins_int, INS_MAX_PROPAGATION_STEPS, INT32_VECT3_ZERO, InsInt::ltp_accel, InsInt::ltp_initialized, InsInt::ltp_pos, InsInt::ltp_speed, InsInt::propagation_cnt, register_periodic_telemetry(), sonar_cb(), TRUE, InsInt::vf_reset, and vff_init_zero().
Referenced by ins_int_register().
void ins_int_propagate | ( | struct Int32Vect3 * | accel, |
float | dt | ||
) |
Definition at line 264 of file ins_int.c.
References ACCEL_BFP_OF_REAL, ACCEL_FLOAT_OF_BFP, b2_hff_propagate(), Imu::body_to_imu, imu, ins_int, INS_MAX_PROPAGATION_STEPS, ins_ned_to_state(), ins_update_from_vff(), int32_rmat_transp_vmult(), InsInt::ltp_accel, orientationGetRMat_i(), InsInt::propagation_cnt, stateGetNedToBodyRMat_i(), vff_propagate(), NedCoor_i::x, Int32Vect3::x, NedCoor_i::y, Int32Vect3::y, NedCoor_i::z, and Int32Vect3::z.
Referenced by accel_cb().
void ins_int_register | ( | void | ) |
Definition at line 549 of file ins_int.c.
References ABI_BROADCAST, accel_cb(), gps_cb(), INS_INT_IMU_ID, ins_int_init(), INS_INT_VEL_ID, ins_register_impl(), and vel_est_cb().
void ins_int_update_gps | ( | struct GpsState * | gps_s | ) |
Definition at line 338 of file ins_int.c.
References b2_hff_realign(), b2_hff_update_gps(), GpsState::ecef_pos, GpsState::ecef_vel, FALSE, GpsState::fix, GPS_FIX_3D, InsInt::hf_realign, ins_int, ins_ned_to_state(), ins_reset_local_origin(), INS_VFF_R_GPS, INT32_POS_OF_CM_DEN, INT32_POS_OF_CM_NUM, int32_quat_vmult(), INT32_SPEED_OF_CM_S_DEN, INT32_SPEED_OF_CM_S_NUM, INT32_VECT2_SCALE_2, InsInt::ltp_def, InsInt::ltp_initialized, InsInt::ltp_pos, InsInt::ltp_speed, ned_of_ecef_point_i(), ned_of_ecef_vect_i(), InsInt::propagation_cnt, QUAT_INVERT, stateGetNedToBodyQuat_i(), VECT2_ASSIGN, VECT2_SDIV, VECT3_SUB, vff_update_z_conf(), NedCoor_i::x, Int32Vect3::x, NedCoor_i::y, and NedCoor_i::z.
Referenced by gps_cb().
struct InsInt ins_int |
global INS state
Definition at line 146 of file ins_int.c.
Referenced by baro_cb(), ins_init_origin_from_flightplan(), ins_int_init(), ins_int_propagate(), ins_int_update_gps(), ins_ned_to_state(), ins_reset_altitude_ref(), ins_reset_local_origin(), ins_update_from_vff(), and vel_est_cb().