mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-04 13:15:08 +08:00
ekf2: fix silent pass of preflt heading check if no heading src active
This commit is contained in:
committed by
Silvan Fuhrer
parent
11378639ae
commit
57a380d8ec
@@ -695,7 +695,7 @@ void EstimatorChecks::setModeRequirementFlags(const Context &context, bool pre_f
|
|||||||
bool v_xy_valid = lpos.v_xy_valid;
|
bool v_xy_valid = lpos.v_xy_valid;
|
||||||
|
|
||||||
if (!context.isArmed()) {
|
if (!context.isArmed()) {
|
||||||
if (pre_flt_fail_innov_heading || pre_flt_fail_innov_pos_horiz) {
|
if (pre_flt_fail_innov_pos_horiz) {
|
||||||
xy_valid = false;
|
xy_valid = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1853,7 +1853,7 @@ void EKF2::PublishStatus(const hrt_abstime ×tamp)
|
|||||||
status.time_slip = _last_time_slip_us * 1e-6f;
|
status.time_slip = _last_time_slip_us * 1e-6f;
|
||||||
|
|
||||||
static constexpr float kMinTestRatioPreflight = 0.5f;
|
static constexpr float kMinTestRatioPreflight = 0.5f;
|
||||||
status.pre_flt_fail_innov_heading = (kMinTestRatioPreflight < status.hdg_test_ratio);
|
status.pre_flt_fail_innov_heading = (kMinTestRatioPreflight < status.hdg_test_ratio) || !_ekf.control_status_flags().yaw_align;
|
||||||
status.pre_flt_fail_innov_height = (kMinTestRatioPreflight < status.hgt_test_ratio);
|
status.pre_flt_fail_innov_height = (kMinTestRatioPreflight < status.hgt_test_ratio);
|
||||||
status.pre_flt_fail_innov_pos_horiz = (kMinTestRatioPreflight < status.pos_test_ratio);
|
status.pre_flt_fail_innov_pos_horiz = (kMinTestRatioPreflight < status.pos_test_ratio);
|
||||||
status.pre_flt_fail_innov_vel_horiz = (kMinTestRatioPreflight < vel_xy_test_ratio);
|
status.pre_flt_fail_innov_vel_horiz = (kMinTestRatioPreflight < vel_xy_test_ratio);
|
||||||
|
|||||||
Reference in New Issue
Block a user