  We consider the problem of reorienting a rigid object with arbitrary known
shape on a table using a two-finger pinch gripper. Reorienting problem is
challenging because of its non-smoothness and high dimensionality. In this
work, we focus on solving reorienting using pivoting, in which we allow the
grasped object to rotate between fingers. Pivoting decouples the gripper
rotation from the object motion, making it possible to reorient an object under
strict robot workspace constraints. We provide detailed mechanical analysis to
the 3D pivoting motion on a table, which leads to simple geometric conditions
for its stability. To solve reorienting problems, we introduce two motion
primitives: pivot-on-support and roll-on-support, and provide an efficient
hierarchical motion planning algorithm with the two motion primitives to solve
for the gripper motions that reorient an object between arbitrary poses. To
handle the uncertainties in modeling and perception, we make conservative plans
that work in the worst case, and propose a robust control strategy for
executing the motion plan. Finally we discuss the mechanical requirements on
the robot and provide a "two-phase" gripper design to implement both pivoting
grasp and firm grasp. We demonstrate the effectiveness of our method in
simulations and multiple experiments. Our algorithm can solve more reorienting
problems with fewer making and breaking contacts, when compared to traditional
pick-and-place based methods.

Robotics