mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-23 14:47:44 +08:00
Pass through horizontal and vertial covariances
This commit is contained in:
@@ -1173,8 +1173,9 @@ void Ekf2::run()
|
||||
ev_data.quat = q;
|
||||
|
||||
// position measurement error from parameters. TODO : use covariances from topic
|
||||
ev_data.posErr = fmaxf(_ev_pos_noise.get(), fmaxf(ev_pos.eph, ev_pos.epv));
|
||||
ev_data.posErr = fmaxf(_ev_pos_noise.get(), ev_pos.eph);
|
||||
ev_data.angErr = _ev_ang_noise.get();
|
||||
ev_data.hgtErr = fmaxf(_ev_pos_noise.get(), ev_pos.epv);
|
||||
|
||||
// only set data if all positions and velocities are valid
|
||||
if (ev_pos.xy_valid && ev_pos.z_valid && ev_pos.v_xy_valid && ev_pos.v_z_valid) {
|
||||
|
||||
@@ -1253,6 +1253,10 @@ MavlinkReceiver::handle_message_vision_position_estimate(mavlink_message_t *msg)
|
||||
vision_position.y = pos.y;
|
||||
vision_position.z = pos.z;
|
||||
|
||||
//copy horizontal and vertical covariances
|
||||
vision_position.eph = fmaxf(pos.covariance[0], pos.covariance[6]);
|
||||
vision_position.epv = pos.covariance[11];
|
||||
|
||||
vision_position.xy_valid = true;
|
||||
vision_position.z_valid = true;
|
||||
vision_position.v_xy_valid = true;
|
||||
|
||||
Reference in New Issue
Block a user