Robotics Lab, Computer Science Department, Columbia University

Overview

We have created a robotic grasping simulator known as GraspIt! that can accommodate arbitrary hand and robot designs. The user simply specifies the kinematics in a configuration file and provides the link geometry files. It also includes a rapid collision detection and contact determination system that allows a user to interactively manipulate the joints of the hand and create new grasps of a target object. Each grasp is evaluated with numeric quality measures, and visualization methods allow the user to see the weak point of the grasp and create arbitrary 3D projections of the 6D grasp wrench space.

The dynamics engine within GraspIt! computes the motions of a group of connected robot elements, such as an arm and a hand, under the influence of controlled motor forces, joint constraint forces, contact forces and external forces. This allows a user to dynamically simulate an entire grasping task, as well as test custom robot control algorithms.

We have also implemented an automatic grasp planner for the Barrett hand. Given a simplified model of an object constructed from shape primitives, the system can plan a set of candidate grasps, which can then be tested and evaluated. The system can account for the presence of obstacles and the reachability constraints of an attached robot arm. In practice the system can find multiple stable grasps of an object in less than 1 minute.
Download

If you are interested in downloading the GraspIt! package please send an email to Please include your name, organization and a description of the intended usage for GraspIt!. Also let us know if you use Windows or Linux , and if you want the source code or just the executable. We will then contact you shortly with the download information.
Features
Grasp Planning
Automatic grasp planning is a difficult problem because of the huge number of possible hand configurations. Humans simplify the problem by choosing an appropriate prehensile posture appropriate for the object and task to be performed. By modeling an object as a set of shape primitives (spheres, cylinders, cones and boxes) we can use a set of rules to generate a set of grasp starting positions and pregrasp shapes that can then be tested on the object model. Each grasp is tested and evaluated, and the best grasps are presented to the user.

Image: the primitive model used for the toy airplane with the generated set of grasps to be tested, and five of the best grasps found sorted in quality order.
Dynamics

During each time step the system solves for the motion of each body. The constraints are formulated as a linear complementarity problem which can be solved with Lemke’s algorithm. Smooth joint trajectories can be created and PD joint controllers apply the necessary torques to carry out a grasp.

Image: snapshots during the dynamic simulation of a grasp formation, with the Barrett hand picking up a telephone.
Relevant Publications
  • R. Pelossof, A. Miller, P. Allen, and T. Jebara. "An SVM learning approach to robotic grasping." In Proceedings of the IEEE International Conference on Robotics and Automation, pp. 3215-3218, April 2004. (pdf)

  • M. Anitescu, A. Miller, and G. D. Hart. "Constraint stabilization for time-stepping approaches for rigid multibody dynamics with joints, contact and friction." In Proceedings of the ASME International Design Engineering Technical Conferences, page to appear, 2003.

  • Andrew T. Miller, Henrik I. Christensen. "Implementation of Multi-rigid-body Dynamics within a Robotic Grasping Simulator" In Proceedings of the IEEE International Conference on Robotics and Automation, pp. 2262-2268, September 2003. (pdf)

  • Andrew T. Miller, Steffen Knoop, Peter K. Allen, Henrik I. Christensen. "Automatic Grasp Planning Using Shape Primitives," In Proceedings of the IEEE International Conference on Robotics and Automation, pp. 1824-1829, September 2003. (pdf)

  • Andrew T. Miller. "GraspIt!: A Versatile Simulator for Robotic Grasping", Ph.D. Thesis, Department of Computer Science, Columbia University, June 2001. (pdf - 6716K)

  • Danica Kragic, Andrew T. Miller, Peter K. Allen. "Real-time tracking meets online grasp planning". In Proceedings IEEE International Conference on Robotics and Automation, Seoul, Republic of Korea, pp. 2460-2465, May 2001. (pdf)

  • Andrew T. Miller and Peter K. Allen. "GraspIt!: A Versatile Simulator for Grasp Analysis". In Proceedings ASME International Mechanical Engineering Congress & Exposition, Orlando, FL, pp. 1251-1258, November 2000. (pdf)

  • Andrew T. Miller and Peter K. Allen. "Examples of 3D Grasp Quality Computations". In Proceedings IEEE International Conference on Robotics and Automation, Detroit, MI, pp. 1240-1246, May 1999. (pdf)
Acknowledgements
Lab acknowledgement: GraspIt!, together with all the features above, was conceived and developped by Andrew Miller, in the Robotics Lab at Columbia. Work by current memebers of the Robotics Lab aims to improve the software and add new features. However, many of these features are still under development and not included in the distribution currently available for download.

Andy's acknowledgements: many people contributed to the success of GraspIt!, including Prof. Jeff Trinkle who provided valuable advice on the dynamics system, Danika Kragic who developed the real time vision system allowing GraspIt! to work with real robots, and Henrik Christensen and Steffen Knoop who helped build the automatic grasp planner. Thanks also to Prof. Gerd Hirzinger and Dr. Max Fischer, Prof. Contantinos Mavroidis and Katheryn DeLaurentis, Dr. Myron Diftler, and Marco Reichel for providing me with models of their robotic hands.