Browse Source

ekf2: Add local position ground clearance reporting

sbg
Paul Riseborough 9 years ago committed by Lorenz Meier
parent
commit
dcb47e425d
  1. 5
      src/modules/ekf2/ekf2_main.cpp

5
src/modules/ekf2/ekf2_main.cpp

@ -482,10 +482,11 @@ void Ekf2::task_main() @@ -482,10 +482,11 @@ void Ekf2::task_main()
// The rotation of the tangent plane vs. geographical north
lpos.yaw = att.yaw;
lpos.dist_bottom = -pos[2] + lpos.ref_alt; // Distance to bottom surface (ground) in meters
float terrain_vpos;
lpos.dist_bottom_valid = _ekf->get_terrain_vert_pos(&terrain_vpos);
lpos.dist_bottom = terrain_vpos - pos[2]; // Distance to bottom surface (ground) in meters
lpos.dist_bottom_rate = -vel[2]; // Distance to bottom surface (ground) change rate
lpos.surface_bottom_timestamp = hrt_absolute_time(); // Time when new bottom surface found
lpos.dist_bottom_valid = true; // true if distance to bottom surface is valid
// TODO: uORB definition does not define what thes variables are. We have assumed them to be horizontal and vertical 1-std dev accuracy in metres
// TODO: Should use sqrt of filter position variances

Loading…
Cancel
Save