Skip to content

Terrain Classification

Geometric hazard detection sees rocks and slopes. It cannot see sand. A patch of cohesionless soil is flat, smooth and low in the goodness map, and it is also where a rover sinks. Terrain classification exists to type the surface material so that a slip model can be applied to it, turning a non-geometric hazard into a cost the path planner can avoid [1]. Slip is learned from previous experience rather than derived from a soil model, because measuring the mechanical properties of the terrain ahead is not feasible from a moving vehicle [3]. It has not flown on any rover; the flight record is field-tested research, and the mechanical counterpart is what has actually been deployed.

On the Meridiani plains the only geometric obstacles were occasional hollows from small infilled craters, and inside Eagle and Endurance craters the binding hazards were slope and slip rather than obstacles [4]. Opportunity measured slip rates of 98.9 to 99.5 percent while embedded in the Purgatory ripple, and Spirit recorded slip up to 125 percent in the Columbia Hills, meaning it moved backwards during a commanded forward drive. A large slip region is an obstacle that no elevation, tilt or roughness test detects [1].

The JPL architecture built for MSL-class navigation predicts slip at a distance from imagery, in four stages [1]:

  1. The goodness map is built from navigation camera stereo, then terrain triage bins every cell into definitely traversable, definitely not traversable, or uncertain. Triage runs twice, once before slip prediction to avoid predicting slip in cells already ruled out, and once after to fold the slip cost back into the map [1].
  2. For a cell needing prediction, the terrain classifier is applied to the cells in its neighborhood and a majority vote gives the class at that location.
  3. A locally linear fit over the neighborhood gives longitudinal and lateral slope under the prospective rover footprint.
  4. Those slope angles enter a pre-learned nonlinear slip model specific to the classified terrain type, learned by receptive field regression, giving predicted slip and a slip cost for the cell.

The classifier itself is appearance-based: a texton representation over color and texture, in which frequent color features in small pixel neighborhoods are selected, a histogram of their occurrence within the image patch corresponding to a map cell is built, and a nearest neighbor classifier compares it against a database of training patches [1]. The texton representation treats texture as a union of features with specific appearances and no regard to their location, with random feature sampling over large patches for speed [2].

The architectural decision that makes this affordable is classifying per map cell rather than per image. Pixels above the horizon are never processed, the classifier is not invoked at all in cells already marked as obstacles or otherwise uninteresting, and near-range cells that cover a large part of the image can be processed selectively. A map cell stores only its 3D location and pointers to the images that observed it; when a class is needed, the cell is projected into an image and the corresponding patch retrieved [1]. The same structure lets stereo imagery arrive asynchronously or intermittently, since only the most recent patch for a cell is used when a classification is invoked.

Classifier accuracy and cost trade directly against each other on the same LAGR data set of six off-road terrains, soil, sand, gravel, asphalt, grass and woodchips, over 100 runs on 200 randomly sampled test patches [2]:

RepresentationErrorTime per patch
Average red channel40.9 +/- 1.7 percent0.06 +/- 0.01 s
Average color17.5 +/- 2.6 percent0.06 +/- 0.01 s
Color histogram14.0 +/- 3.3 percent0.57 +/- 0.03 s
Texton based8.1 +/- 1.5 percent4.21 +/- 0.32 s
Texton based, slow variant7.9 +/- 2.4 percent6.26 +/- 0.42 s

Source: [2], Table 1, on a research workstation rather than flight hardware; the authors note the times are machine dependent and should be read in relative terms. The texton classifier’s accuracy is judged satisfactory and its computation time explicitly not acceptable for a real-time system.

The response is a hierarchical classifier that spends effort where the discrimination is hard: with a 3 s budget the selection algorithm picks average color, color histogram and texton in sequence, discarding the average red channel as no cheaper than average color and much worse, and discarding the slow texton variant as too expensive, for an expected error of 11.7 percent [2]. In practice one class, grass, is discarded after the first level and the remainder split into sand, soil and woodchip against gravel and asphalt at the second, so five of six classes still reach the bottom level; splitting alone reduces time without hurting accuracy, and the larger saving comes from abandoning high-confidence examples early, which introduces some error. Image patches are 100 pixels across for cells at 1 to 2 m and 10 to 15 pixels across for cells at 5 to 6 m [2], which is the resolution limit behind the range failure described below [1].

Map resolution in the integrated demonstration was 10 cm cells for both the goodness and triage maps, with paths planned by D* [1]. The high-fidelity traversability analysis that runs on cells triage marks uncertain, a full kinematic and dynamic forward simulation resolving 18 contact forces, three at each of six wheels, costs about 4 s per meter of path analyzed [1].

On the LAGR vehicle across five terrains, sand, soil, gravel, asphalt and woodchips, with slip models and classifier trained on 3000 frames and tested on 2000 non-intersecting frames, average slip prediction error was about 21 percent [1]. If the terrain type is classified correctly the error falls to about 11 percent, so misclassification contributes the larger share [1]. Misclassification concentrates between visually similar terrains, specifically sand against soil, and worst against soil areas covered with dust. On Mars that is the failure case that matters, because dust covers everything; Opportunity’s hazard camera stereo was defeated at Meridiani by exactly this class of surface, whose fine texture gave inadequate correlation [4].

The second failure mode is range. Most terrain classification errors in the integrated runs occur beyond 6 m, where the image patch corresponding to a map cell is very small for the LAGR camera configuration [1]. Classification accuracy therefore degrades exactly where the map is least constrained by other evidence.

Slip prediction from visual appearance alone reached about 15 percent error on the earlier single-terrain-model formulation [3], which is comparable to the measurement error of slip itself.

Curiosity’s Traction Control estimates the wheel-terrain contact angles in real time from a rocker-bogie kinematics model driven by suspension encoders and measured attitude rates, and commands the idealized no-slip angular rate for each of the six wheels [5]. It was written because wheel puncture damage appeared in October 2013 at an unexpected rate, driven by five wheels pushing a sixth over an embedded sharp rock when all six turn at one speed. It does not classify the terrain by name; it measures the vehicle’s mechanical response to it, which is the information the visual classifier is trying to predict.

It flew as a hot patch on top of R12 rather than as a flight software release, and it adds less than 3 percent to total CPU usage while driving [5]. Wheel speed ratios are evaluated at 8 Hz; the average Traction Control speed ratio over the first six months of operation, sols 1646 through 1822, was 0.899. Checkout was a 5 m drive on sol 1646 and a 20 m drive on sol 1662, both logging drive telemetry at 64 Hz, with nominal use from sol 1678 [5]. Ground testing on engineered terrain also found an unexpected mode, a wheelie in which the middle wheel lifts off under suspension tension in high-friction terrain, which required a suppression behavior in the algorithm.

The same reasoning drove Approximate Clearance Evaluation: rather than classify the terrain, bound what the suspension would do on it [6].

References

  1. Helmick, D. M., Angelova, A., Livianu, M. and Matthies, L. H. (2007). Terrain Adaptive Navigation for Mars Rovers. Source
    BibTeX
    @inproceedings{helmick2007terrain,
      title = {Terrain Adaptive Navigation for Mars Rovers},
      author = {Helmick, Daniel M. and Angelova, Anelia and Livianu, Matthew and Matthies, Larry H.},
      booktitle = {2007 IEEE Aerospace Conference},
      address = {Big Sky, Montana},
      year = {2007},
      url = {https://www-robotics.jpl.nasa.gov/media/documents/HelmickAero07tanav.pdf},
      doi = {10.1109/aero.2007.352684},
      pages = {1-11}
    }
  2. Angelova, A., Matthies, L., Helmick, D. and Perona, P. (2007). Fast Terrain Classification Using Variable-Length Representation for Autonomous Navigation. Source
    BibTeX
    @inproceedings{angelova2007learning,
      author = {Angelova, Anelia and Matthies, Larry and Helmick, Daniel and Perona, Pietro},
      title = {Fast Terrain Classification Using Variable-Length Representation for Autonomous Navigation},
      booktitle = {2007 IEEE Conference on Computer Vision and Pattern Recognition},
      year = {2007},
      address = {Minneapolis, Minnesota},
      doi = {10.1109/CVPR.2007.383024}
    }
  3. Angelova, A., Matthies, L., Helmick, D., Sibley, G. and Perona, P. (2006). Learning to Predict Slip for Ground Robots. Source
    BibTeX
    @inproceedings{angelova2006learning,
      title = {Learning to Predict Slip for Ground Robots},
      author = {Angelova, Anelia and Matthies, Larry and Helmick, Daniel and Sibley, Gabe and Perona, Pietro},
      booktitle = {Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006.},
      year = {2006},
      url = {https://www-robotics.jpl.nasa.gov/media/documents/Angelova06LearningSlip.pdf},
      doi = {10.1109/robot.2006.1642209},
      pages = {3324-3331}
    }
  4. Maimone, M., Johnson, A., Cheng, Y., Willson, R. and Matthies, L. (2004). Autonomous Navigation Results from the Mars Exploration Rover (MER) Mission. Source
    BibTeX
    @inproceedings{maimone2004autonomous,
      author = {Maimone, Mark and Johnson, Andrew and Cheng, Yang and Willson, Reg and Matthies, Larry},
      title = {Autonomous Navigation Results from the Mars Exploration Rover (MER) Mission},
      booktitle = {9th International Symposium on Experimental Robotics},
      year = {2004},
      address = {Singapore},
      url = {https://hdl.handle.net/2014/41077}
    }
  5. Toupet, O., Biesiadecki, J., Rankin, A., Steffy, A., Meirion-Griffith, G., Levine, D., Schadegg, M. and Maimone, M. (2020). Traction Control on the Curiosity Mars Rover: Algorithm and Flight Results. Journal of Field Robotics. Source
    BibTeX
    @article{toupet2020traction,
      title = {Traction Control on the Curiosity Mars Rover: Algorithm and Flight Results},
      author = {Toupet, Olivier and Biesiadecki, Jeffrey and Rankin, Arturo and Steffy, Amanda and Meirion-Griffith, Gareth and Levine, Dan and Schadegg, Maximilian and Maimone, Mark},
      journal = {Journal of Field Robotics},
      year = {2020},
      url = {https://dataverse.jpl.nasa.gov/dataset.xhtml?persistentId=doi:10.48577/jpl.HKZUQS}
    }
  6. Otsu, K., Matheron, G., Ghosh, S., Toupet, O. and Ono, M. (2020). Fast Approximate Clearance Evaluation for Rovers with Articulated Suspension Systems. Journal of Field Robotics, 5. Source
    BibTeX
    @article{otsu2020fast,
      author = {Otsu, Kyohei and Matheron, Guillaume and Ghosh, Sourish and Toupet, Olivier and Ono, Masahiro},
      title = {Fast Approximate Clearance Evaluation for Rovers with Articulated Suspension Systems},
      journal = {Journal of Field Robotics},
      volume = {37},
      number = {5},
      pages = {768--785},
      year = {2020},
      doi = {10.1002/rob.21892},
      url = {https://arxiv.org/abs/1808.00031}
    }