IP Library Granted Patent US 9,014,857
Granted Patent B2
US 9,014,857 · App. 13/350,162 · Granted Apr 21, 2015

Methods and computer-program products for generating grasp patterns for use by a robot

Inventors: Yasuhiro Ota (Union, KY); Junggon Kim (Pittsburgh, PA); Kunihiro Iwamoto (Burlington, KY); James J. Kuffner (Mountain View, CA); Nancy S. Pollard (Pittsburgh, PA)
Assignees: Toyota Motor Engineering & Manufacturing North America, Inc.; Carnegie Mellon University
B25J9/1669
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,014,857
App. No.
13/350,162
Granted
Apr 21, 2015
Kind
B2
Abstract

Methods and computer program products for generating robot grasp patterns are disclosed. In one embodiment, a method for generating robot grasp patterns includes generating a plurality of approach rays associated with a target object. Each approach ray of the plurality of approach rays extends perpendicularly from a surface of the target object. The method further includes generating at least one grasp pattern for each approach ray to generate a grasp pattern set of the target object, calculating a grasp quality score for each individual grasp pattern of the grasp pattern set, and comparing the grasp quality score of each individual grasp pattern with a grasp quality threshold. The method further includes selecting individual grasp patterns of the grasp pattern set having a grasp quality score that is greater than the grasp quality threshold, and providing the selected individual grasp patterns to the robot for on-line manipulation of the target object.

Claims (92)

1. A method for generating grasp patterns for use by a robot, the method comprising:

generating, using a processor, a plurality of approach rays associated with a target object, wherein each approach ray of the plurality of approach rays extends perpendicularly from a surface of the target object;

generating, using the processor, at least one grasp pattern for each approach ray of the plurality of approach rays to generate a grasp pattern set of the target object associated with the plurality of approach rays;

calculating a grasp quality score for each individual grasp pattern of the grasp pattern set;

comparing the grasp quality score of each individual grasp pattern with a grasp quality threshold;

selecting individual grasp patterns of the grasp pattern set having an individual grasp quality score that is greater than the grasp quality threshold;

providing the selected individual grasp patterns to the robot; and

manipulating the target object by the robot based on at least one selected individual grasp pattern of the plurality of selected individual grasp patterns.

2. The method of claim 1 , wherein each individual approach ray is associated with more than one grasp pattern.

3. The method of claim 1 , wherein the plurality of approach rays is generated in accordance with a density setting.

4. The method of claim 1 , wherein individual grasp patterns of the grasp pattern set are generated by computer simulation.

5. The method of claim 1 , wherein each individual grasp pattern comprises a pre-shape configuration of a robot hand of the robot, and a transformation of the robot hand with respect to the target object.

6. The method of claim 1 , wherein each individual grasp pattern is based at least in part on a pre-shape configuration of a robot hand prior to a grasping motion, an individual approach ray associated with the individual grasp pattern, a standoff distance of the robot hand toward the target object, and a roll angle of the robot hand prior to the grasping motion.

7. The method of claim 6 , wherein each individual grasp pattern of the grasp pattern set is generated by:

by computer simulation, determining an initial position and an orientation of a robot hand coordinate system associated with the robot hand in accordance with the standoff distance and the roll angle according to the pre-shape configuration;

opening finger joints of the robot hand;

translating the robot hand along a selected approach ray of the plurality of approach rays until the robot hand is positioned at a predetermined distance from the target object, wherein the selected approach ray is associated with the individual grasp pattern;

closing the finger joints of the robot hand about the target object; and

determining a contact force between the finger joints of the robot hand and the target object.

8. The method of claim 7 , further comprising determining whether each individual grasp pattern is a force-closure grasp based on the contact force between the finger joints of the robot hand and the target object, wherein the grasp quality score is based at least in part on the contact force.

9. The method of claim 7 , further comprising, for each individual grasp pattern:

selecting a plurality of object poses for the target object from a pose probability distribution model;

for each selected object pose of the plurality of object poses:

by computer simulation, grasping the target object with the finger joints of the robot hand;

lifting the target object with the robot hand;

determining a number of finger joints in contact with the target object after lifting the target object with the robot hand;

determining a displacement of the target object with respect to the robot hand after lifting the target object with the robot hand; and

calculating a preliminary grasp quality score for each individual object pose of the plurality of object poses, wherein the preliminary grasp quality score is further based at least in part on the displacement of the target object with respect to the robot hand after lifting the target object with the robot hand; and

determining the grasp quality score by averaging the preliminary grasp quality scores.

10. The method of claim 9 , wherein the preliminary grasp quality score is determined at least in part by:

assigning a minimum score to an individual preliminary grasp quality score when the number of finger joints in contact with the target object after lifting the target object with the robot hand is less than a predetermined contact threshold;

assigning a median score to the individual preliminary grasp quality score when the number of finger joints in contact with the target object after lifting the target object with the robot hand is greater than or equal to the predetermined contact threshold, and the displacement of the target object with respect to the robot hand after lifting the target object with the robot hand is greater than zero and less than a predetermined displacement threshold;

assigning a maximum score to the individual preliminary grasp quality score when the number of finger joints in contact with the target object after lifting the target object with the robot hand is greater than or equal to the predetermined contact threshold, and the displacement of the target object with respect to the robot hand after lifting the target object with the robot is approximately equal to zero.

11. The method of claim 9 , wherein the displacement of the target object with respect to the robot hand after lifting the target object is based on a displacement probability distribution model.

12. The method of claim 9 , further comprising, for each selected object pose:

determining a reference object pose of the target object after grasping the target object with the finger joints of the robot hand by sampling the pose probability distribution model;

determining a relative object pose of the target object after lifting the target object with the robot hand by sampling the pose probability distribution model; and

calculating a movement of the target object based at least in part on the relative object pose and the reference object pose, wherein the preliminary grasp quality score is based at least in part on the movement of the target object.

13. The method of claim 12 , wherein the reference object pose and the relative object pose are based at least in part on a relative center of mass position of the target object and an orientation of the target object.

14. The method of claim 1 , further comprising, for each individual grasp pattern:

calculating a plurality of preliminary grasp quality scores by sampling a probability distribution module for a plurality of computer simulations; and

determining the grasp quality score by averaging the preliminary grasp quality scores.

15. The method of claim 1 , wherein the grasp quality score is calculated at least by:

by computer simulation, closing finger joints of a robot hand of the robot about the target object;

determining a reference object pose of the target object after grasping the target object with the finger joints of the robot hand by sampling a pose probability distribution model;

lifting the target object with the robot hand;

determining a relative object pose of the target object after lifting the target object with the robot hand; and

calculating a movement of the target object based at least in part on the relative object pose and the reference object pose, wherein the grasp quality score is based at least in part on the movement of the target object.

16. A computer program product for use with a computing device to generate robot grasp patterns, the computer program product comprising:

a non-transitory computer-readable medium storing computer-executable instructions for generating grasp patterns that, when executed by the computing device, cause the computing device to:

by computer simulation, using a processor,

generate a plurality of approach rays associated with a target object, wherein each approach ray of the plurality of approach rays extends perpendicularly from a surface of the target object;

generate at least one grasp pattern for each approach ray of the plurality of approach rays to generate a grasp pattern set of the target object associated with the plurality of approach rays;

calculate a grasp quality score for each individual grasp pattern of the grasp pattern set;

compare the grasp quality score of each individual grasp pattern with a grasp quality threshold;

select individual grasp patterns of the grasp pattern set having an individual grasp quality score that is greater than the grasp quality threshold;

provide the selected individual grasp patterns to the robot; and

manipulating the target object by the robot based on at least one selected individual grasp pattern of the plurality of selected individual grasp patterns.

17. The computer program product of claim 16 , wherein the plurality of approach rays is generated in accordance with a density setting, and each individual approach ray is associated with more than one grasp pattern.

18. The computer program product of claim 16 , wherein:

each individual grasp pattern is based at least in part on a pre-shape configuration of a robot hand of the robot prior to a grasping motion, an individual approach ray associated with the individual grasp pattern, a standoff distance of the robot hand toward the target object, and a roll angle of the robot hand prior to the grasping motion, wherein the robot hand comprises finger joints; and

the computer-executable instructions further cause the computing device to perform the following for each individual grasp pattern of the grasp pattern set:

determine an initial position and orientation of a robot hand coordinate system associated with the robot hand in accordance with the standoff distance and the roll angle;

open the finger joints of the robot hand according to the pre-shape configuration;

translate the robot hand along a selected approach ray of the plurality of approach rays until the robot hand is positioned at a predetermined distance from the target object, wherein the selected approach ray is associated with the individual grasp pattern;

close the finger joints of the robot hand about the target object; and

determine a contact force between the finger joints of the robot hand and the target object.

19. The computer program product of claim 18 , wherein the computer-executable instructions further cause the computing device to perform the following for each individual grasp pattern of the grasp pattern set:

select a plurality of object poses for the target object from a pose probability distribution model;

for each selected object pose:

grasp the target object with the finger joints of the robot hand;

lift the target object with the robot hand;

determine a number of finger joints in contact with the target object after lifting the target object with the robot hand;

determine a displacement of the target object with respect to the robot hand after lifting the target object with the robot hand; and

calculate a preliminary grasp quality score for each individual object pose of the plurality of object poses, wherein the preliminary grasp quality score is based at least in part on the displacement of the target object with respect to the robot hand after lifting the target object with the robot hand; and

determining the grasp quality score by averaging the preliminary grasp quality scores.

20. A method for generating grasp patterns for use by a robot comprising a robot hand having finger joints, the method comprising:

generating, using a processor, a plurality of approach rays associated with a target object, wherein each approach ray of the plurality of approach rays extend perpendicularly from a surface of the target object;

generating, using the processor, at least one grasp pattern for each approach ray of the plurality of approach rays to generate a grasp pattern set of the target object associated with the plurality of approach rays, wherein each individual grasp pattern is generated at least in part by:

selecting a plurality of object poses for the target object from a pose probability distribution model; and

for each selected object pose:

by computer simulation, grasping the target object with the finger joints of the robot hand;

lifting the target object with the robot hand;

determining a number of finger joints in contact with the target object after lifting the target object with the robot hand;

determining a displacement of the target object with respect to the robot hand after lifting the target object with the robot hand;

determining a contact force between the finger joints of the robot hand and the target object; and

calculating a preliminary grasp quality score for each individual object pose of the plurality of object poses, wherein the preliminary grasp quality score is based at least in part on the displacement of the target object with respect to the robot hand after lifting the target object with the robot hand and the contact force between the finger joints of the robot hand and the target object;

calculating a grasp quality score for each individual grasp pattern of the grasp pattern set by averaging the preliminary grasp quality score of the plurality of object poses associated with each individual grasp pattern;

comparing the grasp quality score of each individual grasp pattern with a grasp quality threshold;

selecting individual grasp patterns of the grasp pattern set having an individual grasp quality score that is greater than the grasp quality threshold; and

providing the selected individual grasp patterns to the robot; and

manipulating the target object by the robot based on at least one selected individual grasp pattern of the plurality of selected individual grasp patterns.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2015
From: TOYOTA MOTOR ENGINEERING & MANUFACTURING NORTH AMERICA, INC.
To: TOYOTA JIDOSHA KABUSHIKI KAISHA
Reel/Frame 035472/0308 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2012
From: KIM, JUNGGON; POLLARD, NANCY; KUFFNER, JAMES
To: CARNEGIE MELLON UNIVERSITY
Reel/Frame 029480/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2012
From: OTA, YASUHIRO; IWAMOTO, KUNIHIRO
To: TOYOTA MOTOR ENGINEERING & MANUFACTURING NORTH AMERICA, INC.
Reel/Frame 027828/0577 →
Continuity (1)
Related Publication 20130184870A1 · Jul 18, 2013