Paparazzi UAS
v5.14.0_stable-0-g3f680d1
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... | |
Functions | |
void | ins_int_init (void) |
void | ins_int_propagate (struct Int32Vect3 *accel, float dt) |
void | ins_int_update_gps (struct GpsState *gps_s) |
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 | baro_initialized | |
float | baro_z | z-position calculated from baro in meters (z-down) |
bool | 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 | 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 | 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 203 of file ins_int.c.
References accel_cb(), agl_cb(), baro_cb(), InsInt::baro_initialized, DefaultPeriodic, gps_cb(), InsInt::hf_realign, hff_init(), ins_init_origin_i_from_flightplan(), ins_int, INS_INT_AGL_ID, INS_INT_BARO_ID, INS_INT_GPS_ID, INS_INT_IMU_ID, INS_INT_POS_ID, INS_INT_VEL_ID, INS_MAX_PROPAGATION_STEPS, INT32_VECT3_ZERO, InsInt::ltp_accel, InsInt::ltp_def, InsInt::ltp_initialized, InsInt::ltp_pos, InsInt::ltp_speed, pos_est_cb(), InsInt::propagation_cnt, register_periodic_telemetry(), send_ins(), send_ins_ref(), send_ins_z(), vel_est_cb(), InsInt::vf_reset, and vff_init_zero().
void ins_int_propagate | ( | struct Int32Vect3 * | accel, |
float | dt | ||
) |
Definition at line 292 of file ins_int.c.
References ACCEL_BFP_OF_REAL, ACCEL_FLOAT_OF_BFP, Imu::body_to_imu, hff_propagate(), 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(), stateSetAccelBody_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_update_gps | ( | struct GpsState * | gps_s | ) |
Definition at line 396 of file ins_int.c.
References GpsState::ecef_pos, GpsState::ecef_vel, GpsState::fix, GPS_FIX_3D, InsInt::hf_realign, hff_realign(), hff_update_gps(), ins_int, ins_ned_to_state(), ins_reset_local_origin(), INS_VFF_R_GPS, INS_VFF_VZ_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_vz_conf(), 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 166 of file ins_int.c.
Referenced by baro_cb(), 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(), pos_est_cb(), send_ins(), send_ins_ref(), send_ins_z(), and vel_est_cb().