mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-04 08:21:36 +08:00
ekf2: synchronize z_valid and v_z_valid
mc_pos_control doesn't handle all the cases at the moment
This commit is contained in:
@@ -1096,11 +1096,12 @@ void EKF2::PublishLocalPosition(const hrt_abstime ×tamp)
|
|||||||
lpos.ay = vel_deriv(1);
|
lpos.ay = vel_deriv(1);
|
||||||
lpos.az = vel_deriv(2);
|
lpos.az = vel_deriv(2);
|
||||||
|
|
||||||
// TODO: better status reporting
|
|
||||||
lpos.xy_valid = _ekf.local_position_is_valid();
|
lpos.xy_valid = _ekf.local_position_is_valid();
|
||||||
lpos.z_valid = _ekf.isLocalVerticalPositionValid();
|
|
||||||
lpos.v_xy_valid = _ekf.local_position_is_valid();
|
lpos.v_xy_valid = _ekf.local_position_is_valid();
|
||||||
lpos.v_z_valid = _ekf.isLocalVerticalVelocityValid();
|
|
||||||
|
// TODO: some modules (e.g.: mc_pos_control) don't handle v_z_valid != z_valid properly
|
||||||
|
lpos.z_valid = _ekf.isLocalVerticalPositionValid() || _ekf.isLocalVerticalVelocityValid();
|
||||||
|
lpos.v_z_valid = _ekf.isLocalVerticalVelocityValid() || _ekf.isLocalVerticalPositionValid();
|
||||||
|
|
||||||
// Position of local NED origin in GPS / WGS84 frame
|
// Position of local NED origin in GPS / WGS84 frame
|
||||||
if (_ekf.global_origin_valid()) {
|
if (_ekf.global_origin_valid()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user