|
|
@ -105,7 +105,6 @@ void Ekf::fuseVelPosHeight() |
|
|
|
_vel_pos_innov[4] = _state.pos(1) - _gps_sample_delayed.pos(1); |
|
|
|
_vel_pos_innov[4] = _state.pos(1) - _gps_sample_delayed.pos(1); |
|
|
|
|
|
|
|
|
|
|
|
} else if (_control_status.flags.ev_pos) { |
|
|
|
} else if (_control_status.flags.ev_pos) { |
|
|
|
// warnx("Fusing EV pos");
|
|
|
|
|
|
|
|
R[3] = fmaxf(_ev_sample_delayed.posErr, 0.01f); |
|
|
|
R[3] = fmaxf(_ev_sample_delayed.posErr, 0.01f); |
|
|
|
_vel_pos_innov[3] = _state.pos(0) - _ev_sample_delayed.posNED(0); |
|
|
|
_vel_pos_innov[3] = _state.pos(0) - _ev_sample_delayed.posNED(0); |
|
|
|
_vel_pos_innov[4] = _state.pos(1) - _ev_sample_delayed.posNED(1); |
|
|
|
_vel_pos_innov[4] = _state.pos(1) - _ev_sample_delayed.posNED(1); |
|
|
@ -154,7 +153,6 @@ void Ekf::fuseVelPosHeight() |
|
|
|
// innovation gate size
|
|
|
|
// innovation gate size
|
|
|
|
gate_size[5] = fmaxf(_params.range_innov_gate, 1.0f); |
|
|
|
gate_size[5] = fmaxf(_params.range_innov_gate, 1.0f); |
|
|
|
} else if (_control_status.flags.ev_pos) { |
|
|
|
} else if (_control_status.flags.ev_pos) { |
|
|
|
// warnx("fusing ext_visn_hight");
|
|
|
|
|
|
|
|
fuse_map[5] = true; |
|
|
|
fuse_map[5] = true; |
|
|
|
// calculate the innovation assuming the external vision observaton is in local NED frame
|
|
|
|
// calculate the innovation assuming the external vision observaton is in local NED frame
|
|
|
|
_vel_pos_innov[5] = _state.pos(2) - _ev_sample_delayed.posNED(2); |
|
|
|
_vel_pos_innov[5] = _state.pos(2) - _ev_sample_delayed.posNED(2); |
|
|
|