Robot manipulation is where the action is these days on the control side of robotics. Navigation, which saw tremendous research in the past few decades, is finally in a state that self-driving car companies can deploy cars on roads (at least for testing) and we see drones doing all sorts of things. The state of robotic manipulation, however, is still quite primitive. The suction cup remains the gripper of choice in the industry, while decades’ worth of research in anthropomorphic hands is rarely used.

I am using this post to outline the field of manipulation and to collect my thoughts on interesting problems that remain to be solved. Matt Mason talks about four categories of manipulation in an increasing order of difficulty:

  1. Kinematic Manipulation: Only kinematic constraints are considered. You don’t worry about stability and ignore all forces. For example, robot arm moves to the grasp pose, closes the gripper (who cares if the object was grasped) and moves somewhere else.

  2. Static Manipulation: Now you are taking the force applied by the gripper (say parallel-jaw gripper) into account. Because of friction, different objects might need different amount of normal force to be lifted.

  3. Quasi-static Manipulation: In the previous category, there was no relative motion between surfaces involved, i.e., the system was in equilibrium (static). It is not so, if the robot needs to push an object across a surface. This category ignores acceleration.

  4. Dynamic Manipulation: In quasi-static manipulation, even though the object was moving, it was acted upon by the gripper at every point in time and we ignored acceleration. Many actions like throwing and dynamic closure are not possible without acceleration. The gripper imparts momentum to the object to get the job done and as a result, it might not even need to remain in contact with the object.