  Mobile ground robots require perceiving and understanding their surrounding
support surface to move around autonomously and safely. The support surface is
commonly estimated based on exteroceptive depth measurements, e.g., from
LiDARs. However, the measured depth fails to align with the true support
surface in the presence of high grass or other penetrable vegetation. In this
work, we present the Semantic Pointcloud Filter (SPF), a Convolutional Neural
Network (CNN) that learns to adjust LiDAR measurements to align with the
underlying support surface. The SPF is trained in a semi-self-supervised manner
and takes as an input a LiDAR pointcloud and RGB image. The network predicts a
binary segmentation mask that identifies the specific points requiring
adjustment, along with estimating their corresponding depth values. To train
the segmentation task, 300 distinct images are manually labeled into rigid and
non-rigid terrain. The depth estimation task is trained in a self-supervised
manner by utilizing the future footholds of the robot to estimate the support
surface based on a Gaussian process. Our method can correctly adjust the
support surface prior to interacting with the terrain and is extensively tested
on the quadruped robot ANYmal. We show the qualitative benefits of SPF in
natural environments for elevation mapping and traversability estimation
compared to using raw sensor measurements and existing smoothing methods.
Quantitative analysis is performed in various natural environments, and an
improvement by 48% RMSE is achieved within a meadow terrain.
