Rocks can be effectively used as landmarks for robot navigation through rocky terrains. For the robot
to do this, it has to be able to automatically build models of rocks. For the rocks world, models containing
qualitatively described surfaces are used. A rock is modeled as a graph. The surface of the rock is
decomposed into surface patches separated by crude edges. Each surface patch is represented by a node
in the graph. The arcs represent the adjacency relationships between the surface patches. To build such a
model, the following approach is taken.
For a scene composing of a single approximately convex object, easily distinguishable from its background,
a silhouette of the object is obtained. The silhouette is partitioned into crude segments according
to the general shape of the segments. Each segment is typed as either concave, convex or straight. The
classification is done by measuring the mean and standard deviation of distances of points of the segment
from the straight line joining its ends.
The qualitative model for the rock is built by initially assuming that the silhouette is a cross-sectional
view of the rock. A simple cyclic graph composing of nodes with surface types consistent with the segment
types is built. Thus a five segment silhoutte composing of three convex, a straight and a concave segment
results in a graph with 5 nodes, three of which are convex surfaces, one flat (corresponding to the straight
silhouette segment) and the other concave. The model is improved by moving the camera to a different
position and obtaining another silhouette. From the positions of the camera and the segment types, either
new nodes are created or the surface types of the currently existing nodes are modified. A method for
automatically building such models is discussed.