Industrial parts can be fed (oriented) using a sequence of fixed horizontal
pins to topple the parts as they move past on a conveyor belt. We give an
algorithm for designing a sequence of such pins for a given part. Given the
n-sided convex polygonal projection of a part, its center of mass and fric
tional coefficients, our O(n(2)) algorithm computes the toppling graph, a n
ew data structure that explicitly represents the mechanics of toppling, rol
ling, and jamming. We verify the toppling graph analysis with experiments.
Our O(n(3n)) design algorithm uses the toppling graph to design a sequence
of pin locations that will cause the part to emerge in a unique orientation
or to determine that no such sequence exists.