RoboJackets / igvc-software

The code base for the RoboNav team's IGVC robot.
https://robojackets.org/teams/robonav/
MIT License
91 stars 120 forks source link

Fix `traversability_layer` to prevent sharp drops #889

Open VAM7686 opened 2 years ago

VAM7686 commented 2 years ago

As detailed in #886 the traversability layer has an issue when going down inclines.

When the robot is at a certain elevation it does not understand why going off a cliff is bad because the ground following the cliff has a gradient of zero (due to areas not seen by the LiDAR being classified as NaN cells) and is therefore traversable. Perhaps a way to solve this is using something like inpainting to fill in the NaN cells which will help define the boundaries more clearly. However, this approach classifies the top of the ramp as a barrier since the descending portion of the ramp is hidden by the ascending portion of the ramp so the mapping thinks that there is a cliff. Perhaps a modified idea of this can work. Some work has been started on this on the branch fix/traversability_layer_elevation.

In the elevation map visualization of the /slope/gridmap topic shown below, there is a clear discontinuity between the ramp and the ground on the sides of the ramp which means that there is no associated cost/boundary. image