  We propose a framework for optimizing a planar parallel-jaw gripper for use
with multiple objects. While optimizing general-purpose grippers and contact
locations for grasps are both well studied, co-optimizing grasps and the
gripper geometry to execute them receives less attention. As such, our
framework synthesizes grippers optimized to stably grasp sets of polygonal
objects. Given a fixed number of contacts and their assignments to object faces
and gripper jaws, our framework optimizes contact locations along these faces,
gripper pose for each grasp, and gripper shape. Our key insights are to pose
shape and contact constraints in frames fixed to the gripper jaws, and to
leverage the linearity of constraints in our grasp stability and gripper shape
models via an augmented Lagrangian formulation. Together, these enable a
tractable nonlinear program implementation. We apply our method to several
examples. The first illustrative problem shows the discovery of a geometrically
simple solution where possible. In another, space is constrained, forcing
multiple objects to be contacted by the same features as each other. Finally a
toolset-grasping example shows that our framework applies to complex,
real-world objects. We provide a physical experiment of the toolset grasps.
