Skip to content

elevation and flatness conditions #58

@I3aer

Description

@I3aer

Hi!

flatness and elevation thresholds are updated iteratively. Therefore, they are set to zeros:

elevation_thr = {0, 0, 0, 0}; // threshold of elevation for each ring using in GLE. Those values are updated adaptively.
flatness_thr = {0, 0, 0, 0}; // threshold of flatness for each ring using in GLE. Those values are updated adaptively.

In the estimateGround member function, you compare the ground_elevation and ground_flatness variables with those thresholds using the concentric_idx:
if (concentric_idx < params_.num_rings_of_interest)
{
is_not_elevated = ground_elevation < params_.elevation_thr[concentric_idx];
is_flat = ground_flatness < params_.flatness_thr[concentric_idx];
}

I have two observations:

  1. Since the z-axis is upward, the ground_elevation for ground planes should be always negative. Therefore, is_not_elevated is always True. On the other hand, if the least significant eigenvalue of a plane ground_flatness is positive, the is_flat is always False.
  2. concentric_idx is increaded under the ring and sector loops. Then, the threshold arrays should have more than 4 values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions