Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
INS based in the EKF2 of PX4. More...
Go to the source code of this file.
Data Structures | |
struct | ekf2_t |
Functions | |
void | ins_ekf2_init (void) |
void | ins_ekf2_update (void) |
void | ins_ekf2_change_param (int32_t unk) |
void | ins_ekf2_remove_gps (int32_t mode) |
void | ins_ekf2_parse_EXTERNAL_POSE (uint8_t *buf) |
void | ins_ekf2_parse_EXTERNAL_POSE_SMALL (uint8_t *buf) |
Variables | |
struct ekf2_t | ekf2 |
Local EKF2 status structure. More... | |
INS based in the EKF2 of PX4.
Definition in file ins_ekf2.h.
struct ekf2_t |
Definition at line 40 of file ins_ekf2.h.
Data Fields | ||
---|---|---|
uint32_t | accel_dt | Accelerometer delta timestamp between abi messages (us) |
bool | accel_valid | If we received a acceleration measurement. |
struct FloatVect3 | delta_accel | Last accelerometer measurements. |
struct FloatRates | delta_gyro | Last gyroscope measurements. |
uint32_t | flow_stamp | Optic flow last abi message timestamp. |
int32_t | fusion_mode | |
bool | got_imu_data | If we received valid IMU data (any sensor) |
uint32_t | gyro_dt | Gyroscope delta timestamp between abi messages (us) |
bool | gyro_valid | If we received a gyroscope measurement. |
struct LtpDef_i | ltp_def | Latest LTP definition from the quat_reset_counter EKF2. |
uint64_t | ltp_stamp | Last LTP change timestamp from the EKF2. |
int32_t | mag_fusion_type | |
float | qnh | QNH value in hPa. |
uint8_t | quat_reset_counter | Amount of quaternion resets from the EKF2. |
float | temp | Latest temperature measurement in degrees celcius. |
void ins_ekf2_change_param | ( | int32_t | unk | ) |
Definition at line 748 of file ins_ekf2.cpp.
References ekf2, ekf_params, and ekf2_t::mag_fusion_type.
void ins_ekf2_init | ( | void | ) |
Definition at line 525 of file ins_ekf2.cpp.
References accel_int_cb(), accel_int_ev, ekf2_t::accel_valid, agl_cb(), agl_ev, LlaCoor_i::alt, baro_cb(), baro_ev, DefaultPeriodic, ekf, ekf2, ekf_params, ekf2_t::flow_stamp, ekf2_t::got_imu_data, gps_cb(), gps_ev, gyro_int_cb(), gyro_int_ev, ekf2_t::gyro_valid, LtpDef_i::hmsl, INS_EKF2_ACCEL_ID, INS_EKF2_AGL_ID, INS_EKF2_BARO_ID, INS_EKF2_BARO_NOISE, INS_EKF2_FLOW_INNOV_GATE, INS_EKF2_FLOW_NOISE, INS_EKF2_FLOW_NOISE_QMIN, INS_EKF2_FLOW_POS_X, INS_EKF2_FLOW_POS_Y, INS_EKF2_FLOW_POS_Z, INS_EKF2_FLOW_SENSOR_DELAY, INS_EKF2_FUSION_MODE, INS_EKF2_GPS_CHECK_MASK, INS_EKF2_GPS_ID, INS_EKF2_GPS_P_NOISE, INS_EKF2_GPS_POS_X, INS_EKF2_GPS_POS_Y, INS_EKF2_GPS_POS_Z, INS_EKF2_GPS_V_NOISE, INS_EKF2_GYRO_ID, INS_EKF2_IMU_POS_X, INS_EKF2_IMU_POS_Y, INS_EKF2_IMU_POS_Z, INS_EKF2_MAG_ID, INS_EKF2_MAX_FLOW_RATE, INS_EKF2_MIN_FLOW_QUALITY, INS_EKF2_OF_ID, INS_EKF2_RANGE_MAIN_AGL, INS_EKF2_SONAR_MAX_RANGE, INS_EKF2_SONAR_MIN_RANGE, INS_EKF2_TEMPERATURE_ID, INS_EKF2_VDIST_SENSOR_TYPE, LlaCoor_i::lat, LlaCoor_i::lon, ekf2_t::ltp_def, ltp_def_from_lla_i(), ekf2_t::ltp_stamp, mag_cb(), mag_ev, optical_flow_cb(), optical_flow_ev, ekf2_t::qnh, ekf2_t::quat_reset_counter, register_periodic_telemetry(), sample_ev, send_ahrs_bias(), send_ahrs_quat(), send_external_pose_down(), send_filter_status(), send_ins(), send_ins_ekf2(), send_ins_ekf2_ext(), send_ins_ref(), send_ins_z(), send_wind_info_ret(), stateSetLocalOrigin_i(), ekf2_t::temp, temperature_cb(), temperature_ev, and waypoints_localize_all().
void ins_ekf2_parse_EXTERNAL_POSE | ( | uint8_t * | buf | ) |
Definition at line 762 of file ins_ekf2.cpp.
References ekf, float_quat_comp(), get_sys_time_usec(), INS_EKF2_EVA_NOISE, INS_EKF2_EVP_NOISE, INS_EKF2_EVV_NOISE, FloatQuat::qi, FloatQuat::qx, FloatQuat::qy, FloatQuat::qz, and sample_ev.
void ins_ekf2_parse_EXTERNAL_POSE_SMALL | ( | uint8_t * | buf | ) |
Definition at line 796 of file ins_ekf2.cpp.
void ins_ekf2_remove_gps | ( | int32_t | mode | ) |
Definition at line 753 of file ins_ekf2.cpp.
References ekf2, ekf_params, ekf2_t::fusion_mode, INS_EKF2_FUSION_MODE, and mode.
void ins_ekf2_update | ( | void | ) |
Definition at line 671 of file ins_ekf2.cpp.
References LlaCoor_i::alt, autopilot_in_flight(), ekf, ekf2, ekf2_t::got_imu_data, LtpDef_i::hmsl, LlaCoor_i::lat, LlaCoor_i::lon, ekf2_t::ltp_def, ltp_def_from_lla_i(), ekf2_t::ltp_stamp, nps_bypass_ins, sim_overwrite_ins(), stateSetAccelNed_f(), stateSetLocalOrigin_i(), stateSetPositionNed_f(), stateSetSpeedNed_f(), waypoints_localize_all(), wgs84_ellipsoid_to_geoid_i(), NedCoor_f::x, NedCoor_f::y, and NedCoor_f::z.
|
extern |
Local EKF2 status structure.
Definition at line 310 of file ins_ekf2.cpp.
Referenced by accel_int_cb(), baro_cb(), gyro_int_cb(), ins_ekf2_change_param(), ins_ekf2_init(), ins_ekf2_publish_attitude(), ins_ekf2_remove_gps(), ins_ekf2_update(), ins_reset_altitude_ref(), ins_reset_local_origin(), mag_cb(), optical_flow_cb(), send_ins_ref(), and temperature_cb().