  We present a machine learning approach for estimating the second derivative
of a drivable surface, its roughness. Robot perception generally focuses on the
first derivative, obstacle detection. However, the second derivative is also
important due to its direct relation (with speed) to the shock the vehicle
experiences. Knowing the second derivative allows a vehicle to slow down in
advance of rough terrain. Estimating the second derivative is challenging due
to uncertainty. For example, at range, laser readings may be so sparse that
significant information about the surface is missing. Also, a high degree of
precision is required in projecting laser readings. This precision may be
unavailable due to latency or error in the pose estimation. We model these
sources of error as a multivariate polynomial. Its coefficients are learned
using the shock data as ground truth -- the accelerometers are used to train
the lasers. The resulting classifier operates on individual laser readings from
a road surface described by a 3D point cloud. The classifier identifies
sections of road where the second derivative is likely to be large. Thus, the
vehicle can slow down in advance, reducing the shock it experiences. The
algorithm is an evolution of one we used in the 2005 DARPA Grand Challenge. We
analyze it using data from that route.
