  We present TerraPN, a novel method that learns the surface properties
(traction, bumpiness, deformability, etc.) of complex outdoor terrains directly
from robot-terrain interactions through self-supervised learning, and uses it
for autonomous robot navigation. Our method uses RGB images of terrain surfaces
and the robot's velocities as inputs, and the IMU vibrations and odometry
errors experienced by the robot as labels for self-supervision. Our method
computes a surface cost map that differentiates smooth, high-traction surfaces
(low navigation costs) from bumpy, slippery, deformable surfaces (high
navigation costs). We compute the cost map by non-uniformly sampling patches
from the input RGB image by detecting boundaries between surfaces resulting in
low inference times (47.27% lower) compared to uniform sampling and existing
segmentation methods. We present a novel navigation algorithm that accounts for
a surface's cost, computes cost-based acceleration limits for the robot, and
dynamically feasible, collision-free trajectories. TerraPN's surface cost
prediction can be trained in ~25 minutes for five different surfaces, compared
to several hours for previous learning-based segmentation methods. In terms of
navigation, our method outperforms previous works in terms of success rates (up
to 35.84% higher), vibration cost of the trajectories (up to 21.52% lower), and
slowing the robot on bumpy, deformable surfaces (up to 46.76% slower) in
different scenarios.
