Title: GraspIt!:%20A%20Versatile%20Simulator%20for%20Robotic%20Grasping
1GraspIt! A Versatile Simulator for Robotic
Grasping
- Andrew T. Miller
- Columbia University
2Outline
- Motivation
- Simulator Overview
- Simulator Front-end
- Grasp Analysis
- Dynamic Simulation
- Performing a Grasping Task
- Future Work
3Simulation for Hand Design
- Mechanical prototypes are costly
- Spend time and money
- Evaluate design in simulation
- Examine range of motion, finger placement,
kinematics, link geometry - Ensure it can grasp desired objects
- Change design easily
4Simulation for Grasp Planning
- Integrated grasp analysis
- Grasp quality, weak point, force optimization
- Visualize grasp from all angles
- Perform many grasps quickly
- Faster than using a real arm and hand
- Build a library of saved grasps
- Recall grasp when object is encountered again
5GraspIt A Tool for Grasping Research
- Library of hands and objects
- Intuitive interface allows many grasps to be
tested quickly - Visualize grasp wrench space
- Quality measures evaluate grasp
6GraspIt Components
Hand/Object Construction
User Interface
Contact Determination
- read object model
- read link models
- read kinematics
- assemble hand
- view 3D scene
- change hand pose
- auto-grip
- manually move joints
- detect collisions
- adjust contact to object surface
- find contact area
- add friction cones
Front end
Grasp Analysis
Wrench Space Visualization
Object Dynamics
Back end
- compute grasp wrench space
- use metrics on space
- grasp force optimization
- create 3D projections of GWS
7Hand Construction
- The hand kinematics (in D-H notation) specify the
transforms between links, and can handle coupled
joints. - The 3D link geometries are accurately described
in CAD model files. - The format is flexible and can easily model many
of the available complex articulated hands.
8Hand Configuration File
- Header info and palm description ...
- -----------------------------------f0------------
--------------------------- - number of joints
- 3
- number of links
- 3
- Transforms from palm origin to base of the
finger - EXAMPLE
- r 90 x (rotation by 90 degrees about x axis)
- rr 3.0368729 y (rotation by 3.0368729 radians
about y axis) - t 1.92188 134.5 39.0717 (translation in mm)
- t 25.0 0 -1.0
- r 180 y
- Joint Descriptions (1 joint per line)
- DOFNum theta d a alpha DOFminval DOFmaxval
- (joints are ordered from closest to palm
outward) - (linear equations are of the form qkc no
spaces!) - (coupled joints must come after joints they are
coupled to) - d090 0 50 -90 0 180
- d15 0 70 0 0 144
- d10.33333333340 0 55 0 0 144
- Link Descriptions (1 link per line)
- filename material lastJoint
- (links are ordered from closest to palm outward)
- (lastJoint is the last joint in the chain which
can affect this link) - link1 plastic 0
- link2 plastic 1
- link3 plastic 2
- -----------------------------------f1------------
--------------------------- - etc...
9Hand Library
Barrett
Rutgers
Robonaut
Parallel Jaw
DLR
10User Interaction
- Inventor 3D viewer
- Rotate hand
- Translate hand
- Auto-grasp
- Manipulate individual DOFs
- Simple and intuitive
- Direct interaction gives sense of hands
capabilities
11Collision Detection
- PQP system (Larsen et al.)
- Each body is a polygonal soup
- Creates bounding volume hierarchies
- Fast recursive algorithm tests for overlap, or
provides minimum distance
12Finding Contacts
Search for instant of contact
Determine contact region
Collision detected
- Binary search until link is lt 0.1mm away
- Record all triangle pairs within this distance
- Compute points of overlap between each pair
- Only keep contact points on region boundary
- Mark points with red friction cones
13Grasp Analysis
- Occurs when a contact is formed or broken
- Computes space of forces and torques that can be
applied by the grasp - Quality measures numerically evaluate grasp
- Provides a means to evaluate grasps
- Compare grasps of one hand, one object
- Compare grasps of many hands, one object
- Compare grasps of many hands, across a task
specified object set.
14Wrench Spaces
- In 3-space, a wrench is a 6D vector composed of a
force and a torque - The space of wrenches that may need to be applied
during a task is the task wrench space. - The space of wrenches that can be applied by a
grasp is the grasp wrench space. - A possible quality measure
15Special Types of Grasps
- A force-closure grasp completely restrains the
object. - Origin is contained within grasp wrench space.
- A manipulable grasp can impart arbitrary
velocities on the object without breaking
contact.
16Friction Cones
- Friction at a contact point allows forces in
directions other than the contact normal - COF, m, is determined by the contacting
materials - Estimate friction cone as convex sum of a force
vectors on the boundary assuming a unit normal
force, .
17Contact Wrenches
- Each force acts at a position on object.
- Compute the corresponding wrench with respect to
objects center of gravity - l - torque scale factor,
i contact number j (1-8) around cone boundary
18Grasp Wrench Space
- Objective find total space of wrenches that can
be applied by a grasp of unit magnitude. - Grasp vector
- Define with norm
- Sum magnitude of contact normal forces is 1.
- Compute grasp wrench space using qhull
19Two Measures of Quality
- Assume task wrench space is unknown.
- Estimate with wrench space ball - good grasps
will resist all wrenches equally well. - Previously proposed measures of quality
- Radius, e, of the largest wrench space ball that
can fit within the unit grasp wrench space. - Volume, v, of unit grasp wrench space.
20Grasp Wrench Space Projections
- To visualize the 6D grasp wrench space project it
to 3-space by fixing three coordinates. - A useful choice
- See the forces that can be applied without
applying a net torque (or vice versa).
21Visualizing the Results
Numeric quality Worst case indicator
Wrench Space Projection
22Comparing Grasps
23Comparing Grasps
24Comparing Grasps
25Comparing Grasps
26Grasp Force Optimization
- Given a specific wrench to resist, find the
optimal force to apply at contact points - Forces should obey torque limit constraints and
avoid friction cone boundaries - Previously done by using linearized friction
cones and linear programming Kerr Roth 86 - overly conservative
27Grasp Force Optimization
- GraspIt implements LMI technique by Han et al.
00, - Does not require friction cone approximation
- Feasible Set
- Minimize
- Determinant Maximization with LMI constraints
- Using hand Jacobian, it can also compute optimal
joint torque values
Contact forces
Inverse friction cone LMI
Weighting factor
28Grasp Force Optimization
29Simulating Object Dynamics
- Added realism
- Can examine grasp formation process
- Formulate non-penetration and friction cone
constraints as a Linear Complementarity Problem
Stewart Trinkle 00 - Lemkes algorithm solves LCP to find contact
forces that satisfy constraints. -
force OR acceleration must be 0
30Simulating Object Dynamics
31Simulating Object Dynamics
32Connecting GraspIt to theReal World
Object Pose Estimation
Frame Grabber
Robot/Hand Control
Grasp Execution
Task Monitoring
Presented at ICRA 01
33Environment Modeling
- Easy to import environmental objects like
workbench. - Puma arm with inverse kinematics module also
supplied. - Prevents user from planning infeasible grasps.
34Real-Time Vision System
- Supply GraspIt with object pose.
- Needs to track object that is partially occluded
by the hand. - Since we have an object model, why not use
model-based pose estimation and tracking? - Single camera located 2m from workspace,
calibrated wrt robot coordinate system.
35Real-Time Pose Estimationand Tracking
- Position estimation based on Dementhon and Davis.
- Tracking based on Araujo and Browns extension of
Lowe.
36Tracking System Example
Wireframe model Selected points are used to
determine pose
Pose estimated, and model overlaid
Normal flow estimation
37Grasp Execution Experiments
Pose estimated
User plans grasp
Grasp performed
38Grasp Execution Experiments
Pose estimated
User plans grasp
Grasp performed
39Grasp Execution Experiments
Pose estimated
User plans grasp
Grasp performed
40Grasping and Visual Servoing
Once pose has been estimated, grasp may be
planned,
then executed.
41Grasping and Visual Servoing
Destination planned in GraspIt.
Goal position is projected into image.
Image based servoing drives robot to goal.
42Planning a Grasping Task in GraspIt
43Planning a Grasping Task in GraspIt
44Planning a Grasping Task in GraspIt
45Contributions
- Grasping simulator
- Flexible method to specify hand construction
- Interactive interface
- Contact determination system
- Inclusion of material properties
- Integrated grasp analysis theory into simulation
system - GWS, quality measures, GFO
- Visualization techniques
- Object Dynamics First implementation of S-T
algorithm with large scale and interactive bodies - Integration of simulation system into grasping
task - A useful tool for research in grasping and hand
design - Currently being used by a number of research
groups for design and synthesis NASA, Sandia,
Rutgers, U of MD
46Future Work
- Evaluate manipulable grasps
- Provide method of specifying task wrench space
- Human hand model
- Full dynamic simulation
- Automatic grasp selection
- Combine high-level and low-level synthesis
techniques - Learning techniques
47Grasp Force Optimization
Contact forces
Friction cone LMI
48(No Transcript)