TECHNICAL FIELD
[0001] The present disclosure generally relates to grasp planning in robot applications
and, more particularly, to methods and computer-program products for generating robot
grasp patterns using a plurality of approach rays associated with a target object.
BACKGROUND
[0002] Robots may operate within a space to perform particular tasks. For example, servant
robots may be tasked with navigating within an operational space, locating objects,
and manipulating objects. A robot may be commanded to find an object within the operating
space, pick up the object, and move the object to a different location within the
operating space. Robots are often programmed to manipulate objects quickly and in
a most efficient way possible.
[0003] However, calculating an appropriate grasp posture autonomously is difficult and computationally
expensive. For each grasp candidate, the grasp quality must be tested to determine
how well the grasp can securely hold a target object. Not all grasp patterns will
yield a successful grasp of the target object. For example, the grasp pattern may
cause the joints of the robot end effector to collide with the target object, or the
grip provided by the grasp pattern will not be able to hold the target object. Further,
a valid arm trajectory must be performed simultaneously within the trajectory planning.
Such computations may slow down the on-line processes of a robot. In some cases, grasp
patterns associated with a target object may also be taught by tedious manual programming
or tele-operation of the robot. This process is slow and prone to human error.
[0004] .. Additionally, uncertainty may exist during robotic manipulation of a target object.
For example, there may be uncertainty as to a target object's initial pose resulting
from the robot's object localization system. Such uncertainty may lead to a grasp
failure. Uncertainty may also exist as to object displacement and pose resulting from
the dynamics of grasping and lifting a target object with an end effector of a robot.
[0005] Accordingly, a need exists for alternative methods and computer-program products
for generating successful robot grasp patterns that are developed off-line with respect
to robot processes and take into consideration target object pose and displacement
uncertainties.
[0006] Jean-Philippe Saut, Daniel Sidobre: "Efficient models for grasp planning with a multi-fingered
hand", Robotics and Autonomous Systems, vol. 60, no. 3, pages 347-357, ISSN: 0921-8890,
DOI: 10.1016/J.ROBOT.2011.07.019 presents a simple grasp planning method for a multi-fingered hand. Its purpose is
to compute a context-independent and dense set or list of grasps, instead of just
a small set of grasps regarded as optimal with respect to a given criterion. By context-independent,
it means that only the robot hand and the object to grasp are considered. The environment
and the position of the robot base with respect to the object are considered in a
further stage. Such a dense set can be computed offline and then used to let the robot
quickly choose a grasp adapted to a specific situation. This can be useful for manipulation
planning of pick-and-place tasks. Another application is human-robot interaction when
the human and robot have to hand over objects to each other. If human and robot have
to work together with a predefined set of objects, grasp lists can be employed to
allow a fast interaction. The proposed method uses a dense sampling of the possible
hand approaches based on a simple but efficient shape feature. As this leads to many
finger inverse kinematics tests, hierarchical data structures are employed to reduce
the computation times. The data structures allow a fast determination of the points
where the fingers can realize a contact with the object surface. The grasps are ranked
according to a grasp quality criterion so that the robot will first parse the list
from best to worse quality grasps, until it finds a grasp that is valid for a particular
situation.
Dmitry Berenson et al.: "Grasp planning in complex scenes", HUMANOIDS'07, pages 42-48,
ISBN: 978-1-4244-1861-9 describes the combination of grasp analysis and manipulation planning techniques
to perform fast grasp planning in complex scenes. In much previous work on grasping,
the object being grasped is assumed to be the only object in the environment. Hence
the grasp quality metrics and grasping strategies developed do not perform well when
the object is close to obstacles and many good grasps are infeasible. We introduce
a framework for finding valid grasps in cluttered environments that combines a grasp
quality metric for the object with information about the local environment around
the object and information about the robot's kinematics. These factors are encoded
in a grasp-scoring function which is used to rank a precomputed set of grasps in terms
of their appropriateness for a given scene. This ranking is essential for efficient
grasp selection and experiments are presented in simulation and on the HRP2 robot.
Andrew T. Miller et al.: "Automatic grasp planning using shape primitives", Proceedings
of the 2003 IEEE International Conference on Robotics & Automation, vol. 2, pages
1824-1829, DOI: 10.1109/ROBOT.2003.1241860 ISBN: 978-0-7803-7736-3 notes that automatic grasp planning for robotic hands is a difficult problem because
of the huge number of possible hand configurations. However, humans simplify the problem
by choosing an appropriate prehensile posture appropriate for the object and task
to be performed. By modelling an object as a set of shape primitives, such as spheres,
cylinders, cones and boxes, a set of rules can be used to generate a set of grasp
starting positions and pre-grasp shapes that can then be tested on the object model.
Each grasp is tested and evaluated within a grasping simulator "GraspIt!", and the
best grasps are presented to the user. The simulator can also plan grasps in a complex
environment involving obstacles and the reachability constraints of a robot arm.
SUMMARY
[0007] According to the present invention, there is provided a computer-implemented method
for generating grasp patterns for use by a robot as defined in appended claim 1.
[0008] According to the present invention, there is provided a computer program product
as defined in appended claim 14.
[0009] These and additional features provided by the embodiments described herein will be
more fully understood in view of the following detailed description, in conjunction
with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The embodiments set forth in the drawings are illustrative and exemplary in nature
and not intended to limit the subject matter defined by the claims. The following
detailed description of the illustrative embodiments can be understood when read in
conjunction with the following drawings, where like structure is indicated with like
reference numerals and in which:
FIG. 1 depicts a schematic illustration of an exemplary robot manipulating a target
object;
FIG. 2 depicts a schematic illustration of additional exemplary components of an exemplary
robot according to one or more embodiments shown and described herein;
FIG. 3A depicts a schematic illustration of a target object and a plurality of approach
rays associated with the target object at an approach ray density according to one
or more embodiments shown and described herein;
FIG. 3B depicts a schematic illustration of the target object depicted in FIG. 3A
and a plurality of approach rays associated with the target object at another approach
ray density according to one or more embodiments shown and described herein;
FIG. 3C depicts a schematic illustration of the target object depicted in FIG. 3A
and a plurality of approach rays associated with the target object at another approach
ray density according to one or more embodiments shown and described herein;
FIG. 3D depicts a schematic illustration of the target object and a plurality of approach
rays associated with a top surface of the target object depicted in FIG. 3A according
to one or more embodiments shown and described herein;
FIG. 4 depicts a schematic illustration of a robot hand and a target object in accordance
with a grasping pattern according to one or more embodiments shown and described herein;
FIG. 5A depicts a schematic illustration of a robot hand located at an initial position
of a grasp pattern and a target object according to one or more embodiments shown
and described herein;
FIG. 5B depicts a schematic illustration of a robot hand approaching a target object
in accordance with a grasp pattern according to one or more embodiments shown and
described herein;
FIG. 5C depicts a schematic illustration of a robot hand grasping a target object
in accordance with a grasp pattern according to one or more embodiments shown and
described herein;
FIGS. 6A and 6B are schematic illustrations of unsuccessful grasp patterns according
to one or more embodiments shown and described herein;
FIG. 7 depicts a schematic illustration of an unsuccessful grasp pattern of a robot
hand attempting to grasp a cellular phone according to one or more embodiments shown
and described herein;
FIG. 8 depicts a schematic illustration of a manipulation planning module according
to one or more embodiments shown and described herein; and
FIGS. 9A-9E are schematic illustrations of a robot hand grasping and lifting a target
object according to one or more embodiments shown and described herein.
DETAILED DESCRIPTION
[0011] Embodiments of the present disclosure are directed to methods and computer program
products for generating and filtering a grasp pattern set to develop successful individual
grasp patterns for online consideration and use by a robot. More particularly, embodiments
described herein reduce on-line computations by the robot in manipulating target objects
by evaluating a plurality of grasp patterns associated with a variety of objects,
and then providing only those grasp patterns satisfying particular criteria to the
robot for the robot's consideration during on-line operation. Embodiments generate
a plurality of approach rays for a target object that correspond to a plurality of
possible directions that the manipulator may travel to approach and grasp the target
object. Embodiments may also take into consideration uncertainties when evaluating
the individual grasp patterns of the grasp pattern set, such as object pose uncertainty,
and object displacement uncertainty during object manipulation. Various embodiments
of methods and computer-program products for off-line generation and evaluation of
robot grasp patterns are described below.
[0012] Referring initially to FIG. 1, a robot 100 according to one exemplary embodiment
is illustrated. It should be understood that the robot 100 illustrated in FIG. 1 is
for illustrative purposes only, and that embodiments are not limited to any particular
robot configuration. The robot 100 has a humanoid appearance and is configured to
operate as a service robot. For example, the robot 100 may operate to assist users
in the home, in a nursing care facility, in a healthcare facility, and the like. Generally,
the robot 100 comprises a head 102 with two cameras 104 that are configured to look
like eyes, a locomotive base portion 106 for moving about in an operational space,
a first manipulator 110, and a second manipulator 120. The first and second manipulators
110, 120 each comprise an upper arm component 112, 122, a forearm component 114, 124,
and a robot hand 118, 128 (i.e., an end effector), respectively. The robot hand 118,
128 may comprise a robot hand comprising a hand portion 116, 126, a plurality of fingers
joints 119, 129, and a thumb joint 119', 129' that may be opened and closed to manipulate
a target object, such as a bottle 130. The upper arm component 112, 122, the forearm
component 114, 124, and robot hand 118, 128 are each a particular component type of
the first and second manipulator.
[0013] The robot 100 may be programmed to operate autonomously or semi-autonomously within
an operational space, such as a home. In one embodiment, the robot 100 is programmed
to autonomously complete tasks within the home throughout the day, while receiving
audible (or electronic) commands from the user. For example, the user may speak a
command to the robot 100, such as "please bring me the bottle on the table." The robot
100 may then go to the bottle 130 and complete the task. In another embodiment, the
robot 100 is controlled directly by the user by a human-machine interface, such as
a computer. The user may direct the robot 100 by remote control to accomplish particular
tasks. For example, the user may control the robot 100 to approach a bottle 130 positioned
on a table 132. The user may then instruct the robot 100 to pick up the bottle 130.
The robot 100 may then develop a trajectory plan for its first and second manipulators
110, 120 to complete the task. As described in more detail below, embodiments are
directed to creating trajectory plans that are optimized to provide for more human-like
motion of the robot.
[0014] Referring now to FIG. 2, additional components of an exemplary robot 100 are illustrated.
More particularly, FIG. 3 depicts a robot 100 and a manipulation planning module 150
(embodied as a separate computing device, an internal component of the robot 100,
and/or a computer-program product comprising non-transitory computer-readable medium)
for generating and evaluating grasp patterns for use by the robot 100 embodied as
hardware, software, and/or firmware, according to embodiments shown and described
herein. It is noted that the computer-program products and methods for generating
and evaluating individual grasp patterns of a grasp pattern set may be executed by
a computing device that is external to the robot 100 in some embodiments. For example,
a general purpose computer (not shown) may have computer-executable instructions for
evaluating individual grasp patterns. The grasp patterns that satisfy requirements
of the grasp pattern evaluation may then be sent to the robot 100.
[0015] The robot 100 illustrated in FIG. 3 comprises a processor 140, input/output hardware
142, a non-transitory computer-readable medium 143 (which may store robot data/logic
144, and trajectory logic 145, for example), network interface hardware 146, and actuator
drive hardware 147 to actuate the robot's manipulators (e.g., servo drive hardware).
It is noted that the actuator drive hardware 147 may also include associated software
to control the various actuators of the robot.
[0016] The memory component 143 may be configured as volatile and/or nonvolatile computer
readable medium and, as such, may include random access memory (including SRAM, DRAM,
and/or other types of random access memory), flash memory, registers, compact discs
(CD), digital versatile discs (DVD), magnetic disks, and/or other types of storage
components. Additionally, the memory component 143 may be configured to store, among
other things, robot data/logic 144 and trajectory logic 145 (e.g., an inverse kinematic
module, a pick and place planner, a collision checker, etc.). A local interface 141
is also included in FIG. 3 and may be implemented as a bus or other interface to facilitate
communication among the components of the robot 100 or the computing device.
[0017] The processor 140 may include any processing component configured to receive and
execute instructions (such as from the memory component 143). The input/output hardware
142 may include any hardware and/or software for providing input to the robot 100
(or computing device), such as, without limitation, a keyboard, mouse, camera, microphone,
speaker, touch-screen, and/or other device for receiving, sending, and/or presenting
data. The network interface hardware 146 may include any wired or wireless networking
hardware, such as a modem, LAN port, wireless fidelity (Wi-Fi) card, WiMax card, mobile
communications hardware, and/or other hardware for communicating with other networks
and/or devices.
[0018] It should be understood that the memory component 143 may reside local to and/or
remote from the robot 100 and may be configured to store one or more pieces of data
for access by the robot 100 and/or other components. It should also be understood
that the components illustrated in FIG. 3 are merely exemplary and are not intended
to limit the scope of this disclosure. More specifically, while the components in
FIG. 3 are illustrated as residing within the robot 100, this is a nonlimiting example.
In some embodiments, one or more of the components may reside external to the robot
100, such as within a computing device that is communicatively coupled to one or more
robots.
[0019] FIG. 2 also depicts a manipulation planning module 150 that is configured to generate
a grasp pattern set, filter unsuccessful grasp patterns from the grasp pattern set,
and, in some embodiments, develop manipulator and end effector motion segments to
move the robot in accordance with desirable grasp patterns from the grasp pattern
set. The manipulation planning module 150 is shown as external from the robot 100
in FIG. 2, and may reside in an external computing device, such as a general purpose
or application specific computer. However, it should be understood that all, some,
or none of the components, either software or hardware, of the manipulation planning
module 150 may be provided within the robot 100. In one embodiment, grasp pattern
generation, evaluation and filtering may be performed off-line and remotely from the
robot 100 by a computing device such that only grasp patterns satisfying the requirements
of the grasp pattern filters described herein are provided to the robot for use in
manipulation planning. Further, motion planning within the manipulation planning module
may also be performed off-line by an external computing device and provided to the
robot 100. Alternatively, the robot 100 may determine motion planning using filtered
successful grasp patterns provided by an external computing device. Components and
methodologies of the manipulation planning module are described in detail below.
[0020] Referring now to FIGS. 3A-3D, a target object 130 having a plurality of approach
rays associated therewith is depicted. Referring specifically to FIG. 3A, the target
object 130 is configured as a box having five walls 232a-232e and an opening 233.
It should be understood that the target object may be of any configuration, and embodiments
are not limited to the target objects illustrated throughout the figures. As depicted
in FIG. 3A, a plurality of approach rays
AR are associated with the target object 130 according to a predetermined density. Each
approach ray
AR extends perpendicularly from a surface of the target object 130. It is noted that
only a few selected approach rays AR are labeled in FIGS 3A-3D for ease of illustration.
[0021] An approach ray
AR corresponds to a path of travel that the robot will traverse when approaching the
target object. As described in more detail below, a single approach ray
AR may have several grasp patterns associated with it. A user (e.g., a robot programmer,
a robot designer, a robot operator, etc.) may change the density and the location
of the approach rays
AR by changing one or more settings in a user interface that is used to interact with
the manipulation planning module. In this manner, users may vary the resolution of
the plurality of approach rays
AR about the target object. FIG. 3B depicts the same target object 130 as depicted in
FIG. 3A but with a higher density of the approach rays
AR. As an example and not a limitation, a user may wish to select the density setting
as very small so that the grid defined by the plurality of approach rays
AR is incident on a narrow object surface of the target object. However, generating
a grasp pattern set based on a plurality of approach rays
AR having a density that is too dense may be very time-consuming and inefficient as
there may be similar successful grasp patterns analyzed during trajectory planning.
[0022] FIG. 3C depicts an approach ray density that is less than the approach ray densities
of the target object depicted in FIGS. 3A and 3B. In one embodiment, a user may remove
approach rays
AR according certain criteria, such as approach rays having neighbors within a threshold
distance may be removed. Additionally, a user may remove approach rays from a particular
region or surface of the target object. FIG. 3D depicts the target object 130 wherein
approach rays only extend from a top surface of walls 132a-132d. Accordingly, only
grasp patterns that require the robot manipulator to approach the target object 130
from the top of the target object 130 will be considered when evaluating the grasp
patterns. Use of automatic approach ray generation enables evaluation of many grasp
patterns from a plurality of directions quickly and efficiently.
[0023] Referring now to FIG. 4, a schematic illustration of a robot end effector configured
as a robot hand 118 approaching an exemplary target object 230 along a particular
approach ray
AR in accordance with an exemplary grasp pattern is provided. The robot hand 118 comprises
two finger joints 119 and a thumb joint 119' that extend from a palm surface 116p
of a hand portion 116. The exemplary target object includes a handle portion 231 and
a base portion 239. The illustrated approach ray
AR dictates that the illustrated grasp pattern will require that the robot attempt to
grasp the handle portion 231 of the target object. It should be understood that only
one approach ray
AR is depicted in FIG. 4 for ease of illustration, and that the target object 230 may
have a plurality of approach rays associated therewith.
[0024] Each individual grasp pattern of the grasp pattern set has a set of grasp parameters,
which may include, but are not limited to, a pre-shape configuration of the end effector
(i.e., robot hand) prior to grasping the target object, an approach ray
AR of the plurality of approach rays, a standoff distance
ds, and a roll angle of the end effector.
[0025] The pre-shape configuration of the robot hand 118 is the initial finger/thumb joint
119/119' position before grasping the target object. For example, the pre-shape configuration
of a particular grasp pattern may be that the finger joints 119 and the thumb joint
119' are in a fully open position. A plethora of pre-shape configurations are possible.
Each grasp pattern has a single pre-shape configuration associated therewith.
[0026] As described above, each grasp pattern has a single approach ray
AR. However, a single approach ray may have a plurality of grasp patterns associated
therewith. The robot hand 118 (or other type of end effector) will approach the target
object 230 by traversing a path dictated by the approach ray
AR, commonly such that a central portion of the palm surface 116p is aligned with the
approach ray
AR.
[0027] The standoff distance
ds is an offset distance from a surface 232 of the target object 230 where the robot
hand 118 (or other type of end effector) stops approaching the target object 230.
In some grasp patterns, the standoff distance
ds may be zero such that the palm surface 116p contacts the target object 230. In other
embodiments, the standoff distance
ds may be a value such that the robot hand 118 stops prior to contacting the target
object, as depicted in FIG. 4.
[0028] The roll angle is the pre-rotation angle of the robot hand 118 around the approach
ray
AR prior to reaching the target object. The robot hand 118 may be rotated by any angle
about the approach ray
AR.
[0029] Other parameters may also be considered, such as a friction coefficient of the finger
joints 119 and the thumb joint 119', or an amount of force exerted onto the target
object by the finger joints 119 and the thumb joint 119'.
[0030] One or more combinations of the above parameters may be sent to a grasp pattern set
generation module (e.g., within the manipulation planning module 150) to generate
a grasp pattern set comprising a plurality of individual grasp patterns. Each approach
ray
AR may have a plurality of associated grasp patterns. As an example and not a limitation,
an approach ray
AR may be associated with a first grasp pattern resulting from a first combination of
the pre-shape configuration, standoff distance, and roll angle parameters, and a second
grasp pattern resulting from a second combination of the pre-shape configuration,
standoff distance, and roll angle parameters. In one embodiment, the number of grasp
patterns within a grasp pattern set is equal to: (the number of pre-shape configurations)
× (the number of standoff distances) × (the number of roll angles) × (the number of
approach arrays).
[0031] As described below, each individual grasp pattern of the grasp pattern set is evaluated
by computer simulation to filter out individual grasp sets that are unsuccessful as
compared to one or more grasp metrics. The grasp pattern evaluation may be performed
autonomously off-line for more efficient on-line manipulation (particularly object
grasping) because no evaluation of the grasp quality of various available grasp patterns
is required during the on-line processes.
[0032] Each individual grasp pattern may be generated kinematically by computer simulation/calculation
to determine whether or not the grasp of the individual grasp pattern is satisfactory.
Referring to FIG. 5A, in one embodiment, the initial position and orientation of the
robot hand coordinate system and initial finger joint angles are set before the computer
simulation, which may be determined by the pre-shape configuration and roll angle
parameters (as well as any other appropriate inputs or parameters). As shown in FIG.
5A, the approach ray AR of the illustrated grasp pattern dictates that the robot hand
118 will approach a top surface 234 of the handle portion 231 of the target object.
[0033] Next, the robot hand 118, by computer simulation, moves along a direction indicated
by the approach ray
AR until it contacts the target object or is at the standoff distance
ds. In many cases the robot hand 118 will approach the target object in a manner such
that its motion is normal to its palm surface 116p, as shown by arrow
B in FIG. 5B. Once the robot hand 118 is at the desired location, it may close its
finger joints 119 and thumb joint 119' one by one or simultaneously until they contact
the target object 230, as shown in FIG. 5C.
[0034] The contacts between the finger joints 119 and the thumb joint 119' with the target
object are then extracted and used to measure a quality of the grasp. In one embodiment,
a grasp quality score is generated, wherein the grasp quality score is a scalar value
that indicates how securely the grasp associated with the individual grasp pattern
can hold the target object. Any grasp evaluation calculation or methodology may be
utilized to generate a grasp quality score. In one particular embodiment, a force-closure
based measure is used as the grasp quality score for evaluating the grasp quality.
A grasp may be considered a force-closure if it can resist a test force and torque
without dropping the target object. The test force and torque that are applied to
determine if a grasp is force-closure may depend on the target object.
[0035] The grasp quality score may then be compared with a grasp quality threshold associated
with the particular target object. In one embodiment, only force-closure grasps will
satisfy the grasp quality threshold. As an example and not a limitation, an individual
grasp pattern wherein a finger joint does not contact the target object, or only partially
contacts the target object, will have a low quality measure of the grasp. FIG. 6A,
6B and 6C depict grasp patterns that lead to unsuccessful grasps. In FIG. 6A, the
finger joints 119 and thumb joint 119' strike a side surface 237 of the handle portion
231 of the target object 230 such that the robot hand 118 cannot grasp the target
object 230. Similarly, as shown in FIG. 6B, one of the finger joints 119 and the thumb
joint 119' strike a top surface 234 of the handle portion 231 of the target object
230. FIG. 7 depicts a robot hand 118 attempting to grasp a target object configured
as a cellular phone 330 such that one of the finger joints contacts an antenna portion
331 of the cellular phone 330 without the thumb joint 119' making contact, which may
lead to an unsuccessful grasp. In each of these cases, the grasp pattern associated
with the grasps would be removed from the grasp pattern set. Only grasp patterns leading
to force-closure grasps are provided to the robot for on-line object manipulation,
according to some embodiments.
[0036] Each individual grasp pattern having a grasp quality score that is greater than the
grasp quality threshold may be saved to a file, along with information regarding the
individual grasp patterns. In one embodiment, each individual successful grasp pattern
is finalized and saved to the file. Finalizing the grasp pattern may include, but
is not limited to, saving the initial robot hand configuration before grasping (i.e.,
pre-shape configuration), transformation information, and the grasp quality score.
The transformation information may include the relative position and orientation of
the hand coordinate system with respect to the object coordinate system. The finalized
individual grasp patterns may then be provided to the robot for target object manipulation
(e.g., the manipulation planning module 150 may provide a file containing the finalized
individual grasp patterns to the trajectory logic 145 for generation of motion segments
to control the manipulator and the end effector). For example, the robot, when encountering
a target object, may evaluate the provided grasp patterns when determining how to
manipulate an object. As an example and not a limitation, the robot may chose the
individual grasp pattern that is most closely aligned with the current position of
its end effector and has the highest grasp quality score for manipulation of the target
object.
[0037] In this manner, embodiments of the present disclosure filter out undesirable grasps
(e.g., collision between the robot hand and the target object, non force-closure grasps,
etc.), and may eliminate duplicate grasps.
[0038] Some embodiments of the present disclosure may account for uncertainties that exist
when a robot attempts to grasp an object. For example, there may exist a level of
uncertainty as to a target object's true pose from the robot's perspective using its
vision system (e.g., a sensor based object localization system); there may be a disparity
between an object's true pose and the pose detected by robot. Further, uncertainties
resulting from the dynamics of an object when grasped by the robot may also be present.
For example, there may be a fluctuation of a target object's pose and displacement
during the grasping process.
[0039] FIG. 8 illustrates additional components of the manipulation planning module 150
according to one embodiment that provides for the inclusion of data uncertainty in
estimating the grasp success rate, as well as for the incorporation of the dynamics
of an object during the grasping process. At block 152, a plurality of approach arrays
of a grasp pattern set is generated as described above. At block 154, the grasp quality
score is calculated. In addition to the force-closure determination described above,
the grasp quality score also considers the uncertainty of the target object's pose
and dynamics during the grasping process via the probability distribution models of
block 155, as described below. Successful individual grasp patterns are finalized
and provided to the robot at block 156, while unsuccessful individual grasp patterns
(e.g., non force-closure grasps, grasps that lead to significant target object slippage
or displacement, and the like) are removed from the grasp pattern set, as shown in
block 157. Generally, embodiments may utilize probability distribution models to account
for uncertainties regarding: 1) an uncertainty as to a target object's initial pose
(e.g., a pose probability distribution model); 2) an uncertainty as to an object's
pose after being gripped by the robot (e.g., a reference pose probability distribution
model); and 3) an uncertainty as to an objects pose or displacement after being lifted
by the robot (e.g., a displacement probability distribution model).
[0040] Referring now to FIGS. 9A-9E, the grasping and lifting of a target object 400 by
a robot hand 118 wherein the target object 400 is displaced is schematically illustrated.
Referring initially to FIG. 9A, an uncertainty as to the actual pose of the target
object 400 may be present. FIG. 9A illustrates an actual pose of the target object
400 defined by object axis
OA. However, the initial pose of the target object 400 as detected by the robot may be
slightly different than that illustrated in FIG. 9A. To account for this uncertainty,
the manipulation planning module 150 may access a pose probability distribution model
(e.g., as illustrated in block 155) to select a plurality of object poses. The probability
distribution models described herein may be configured as any appropriate probability
distribution model wherein the manipulation planning module 150 may select several
object poses or movements from a plurality of likely object poses or movements. For
example, in one embodiment, the pose probability distribution model is configured
as a Gaussian probability distribution module, wherein the object pose with the greatest
probability is at the peak of the Gaussian probability distribution model. Other distribution
models, such as a Bayesian distribution model, for example, may be utilized.
[0041] As described above, the robot hand 118 is moved along an approach ray toward the
target object 400 (FIG. 9B) by computer simulation. In FIG. 9C, the finger joints
119 and thumb joint 119' are closed about the target object 400. During the grasping
process, the initial object pose of the target object 400 has changed as indicated
by arrow C, resulting in a new object pose along new object axis
OA'. FIG. 9D depicts that there is a displacement angle of
θ between the original object axis
OA and the new object axis
OA'. The actual new object pose of the target object 400 may be uncertain. The manipulation
planning module 150 may calculate the dynamic motion of the target object by equations
of motion of the target object 400. In one embodiment, the calculation of the object
pose resulting from grasping the target object 400 may also be based on a probability
distribution model that incorporates the uncertainties as to the movement of the target
object 400 (e.g., a reference pose probability distribution model).
[0042] Next, the robot hand 118 lifts the target object 400 by computer simulation as indicated
by arrow
D, and the manipulation planning module 150 calculates a relative object pose of the
target object 400 resulting from the dynamics of lifting the target object 400 by
the robot hand 118. The manipulation planning module 150 may also calculate a displacement
of the target object 400 resulting from the lifting motion of the robot hand 118.
For example, the target object 400 may slip with respect to the robot hand 118 as
it is lifted, as indicated by arrow
E.
[0043] A grasp quality score for each grasp pattern of the grasp pattern set may be based
on several computations resulting from the sampling of one or more probability distribution
models. Embodiments may also calculate the grasp quality score by comparing the pose
of the target object 400 after being grasped by the robot hand 118 (i.e., a reference
object pose, as shown in FIG. 9D) with the pose of the target object 400 after being
lifted by the robot hand 118 (i.e., the relative object pose, as shown in FIG. 9E).
[0044] More specifically, to evaluate the quality of a single grasp resulting from a single,
individual grasp pattern, multiple computations with slightly different object pose
and/or displacement obtained by sampling from one or more probability distribution
models are executed, so that the uncertainty of object pose and displacement may be
considered. In one embodiment, multiple preliminary grasp quality scores are calculated
for each sampling (or combinations of samplings) of one or more probability models
corresponding to either the initial pose of the target object, or the displacement
of the target object 400 during grasping or lifting. The same probability distribution
model may be used for each of these purposes, or a probability distribution model
for each purpose may be used. At each computation of the target object manipulation,
a preliminary grasp score is generated, and the preliminary grasp score of all of
the computations are averaged to determine a final grasp quality score for the particular
grasp pattern.
[0045] For example, a preliminary grasp score may be generated for each initial object pose
selected from the pose probability distribution model. Some of the initial object
poses may lead to a force-closure grasp while some may not. Additionally, a preliminary
grasp score may also be calculated for each reference object pose of the target object
400 after being grasped by the robot hand 118, and/or each relative object pose of
the target object 400 after being lifted by the robot hand 118.
[0046] According to one embodiment, the following conditional logic may be applied to judge
a grasp pattern as successful or unsuccessful. For each computation based on sampling
from one or more probability distribution models as described above, if the target
object 400 under test is out of the robot hand 118 (i.e., the robot hand 118 drops
the object), or if the robot hand 118 makes contact with the target object 400 with
less than two joints at the conclusion of the lift-up stage (FIG. 9E), then a minimum
grasp quality score (e.g., zero (0)) may be assigned to the preliminary grasp score
of the particular computation associated with the grasp pattern. On the other hand,
if the displacement of the target object 400 with respect to the robot hand 118 after
the lift-up stage is approximately zero, and if the robot the number of joints 119
in contact with the target object 400 after lifting the target object 400 with the
robot hand 118 is greater than or equal to the predetermined contact threshold (e.g.,
three joints), a maximum score (e.g., one (1.0)) may be assigned to the preliminary
grasp score of the particular computation associated with the grasp pattern. A median
score (e.g., 0.5) may be applied to the preliminary grasp score of the particular
computation associated with the grasp pattern when the number of joints 119 in contact
with the target object 400 after lifting the target object 400 with the robot hand
118 is greater than or equal to the predetermined contact threshold (e.g., three joints),
and the displacement of the target object 400 with respect to the robot hand 118 after
lifting the target object 400 with the robot hand 118 is greater than zero and less
than a predetermined displacement threshold. The preliminary grasp quality scores
for the particular grasp pattern may then be averaged together and used as the grasp
quality score.
[0047] In addition to the conditional logic described above, embodiments may also consider
the displacement or movement of the target object under test as it is lifted during
the lift-up stage. For example, a reference object pose of the target object 400 may
be determined after the target object 400 is grasped by the robot hand 118 and before
it is lifted (see FIG. 9D). A relative object pose of the target object 400 may also
be determined after the target object 400 is lifted by the robot hand (see FIG. 9E).
[0048] Movement of the target object resulting from the lift-up stage may be calculated
or otherwise determined by comparing the relative object pose to the reference object
pose. For example, the maximum deviation of the relative object pose from the reference
object pose during the lift-up stage may be determined. In one embodiment, if the
target object 400 under test moves a significant amount during the lift-up stage,
the grasp may be considered unstable, and a low grasp quality score may be given.
Conversely, if there is very little movement of the target object 400 during the lift-up
stage, then the grasp may be considered stable, and a highest available grasp quality
score (e.g., a score of one (1.0)) may be assigned.
[0049] In one embodiment, the deviations in object position (i.e., object displacement),
as determined by a relative center of mass position of the target object, and an orientation
of the target object, such as object pose, are considered separately. The deviations
in object position (
δP) and object orientation (
δR) may be computed by the following equations:

where
pcom and R denote the relative center of mass position and the orientation of the target
object 400 with respect to the robot hand 118, respectively. The bar on top of these
parameters represents the reference values.
[0050] A grasp quality score,
q, may be obtained from the maximum deviation δ
MAX of these calculations and a tolerance limit
L:

If the maximum deviation for the object position or the orientation exceeds the tolerance
limit, a grasp quality score of zero (0) may be given. The quality metric may be computed
separately for object position and orientation and used as such, or these metrics
may be combined (e.g., by averaging).
[0051] Each of the grasp quality scores described herein may be used separately, or combined
to determine the final grasp quality score. As described above, individual grasp patterns
of the grasp pattern set that are below a grasp quality threshold may be removed from
the grasp pattern set and not provided to the robot. In this manner, the robot will
only have access to successful, stable grasp patterns during on-line processes.
[0052] It should now be understood that embodiments described herein generate grasp patterns
for use by a robot by generating a plurality of approach rays associated with a target
object to the grasped by the robot. The density of the approach rays associated with
the target object may be adjusted. Further, approach rays may be removed from particular
surfaces of the target object, if desired. One or more grasp patterns are then associated
with each approach ray and are evaluated by determining a grasp quality score. In
some embodiments, a force-closure method is used to determine the grasp quality score.
In some embodiments, probability distribution models are sampled to account for uncertainties
due to object pose as well as the dynamics of the target object during grasping and
lifting of the target object. In this manner, embodiments provide for a manipulation
planner wherein a grasp pattern set is generated and evaluated off-line autonomously.
Grasp pattern outputs are saved for use by the robot in trajectory planning for manipulation
tasks. Accordingly, the complex grasp planning problem is converted into a static
range searching problem, i.e., finding an appropriate grasp pattern from the plurality
of successful grasp patterns.
[0053] While particular embodiments have been illustrated and described herein, it should
be understood that various other changes and modifications may be made without departing
from the spirit and scope of the claimed subject matter. Moreover, although various
aspects of the claimed subject matter have been described herein, such aspects need
not be utilized in combination. It is therefore intended that the appended claims
cover all such changes and modifications that are within the scope of the claimed
subject matter.
1. A computer-implemented 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, 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, a standoff distance of the robot hand toward the target object, and
a roll angle of the robot hand prior to the grasping motion;
calculating, using the processor, a grasp quality score for each individual grasp
pattern of the grasp pattern set, wherein the grasp quality score comprises a scalar
value that indicates a grasp security of the target object by the robot hand using
the individual grasp patterns;
comparing, using the processor, the grasp quality score of each individual grasp pattern
with a grasp quality threshold;
selecting, using the processor, individual grasp patterns of the grasp pattern set
having a grasp quality score that is greater than the grasp quality threshold; and
providing, using the processor, the selected individual grasp patterns to the robot
for on-line manipulation of the target object.
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 or 2, wherein the plurality of approach rays is generated in
accordance with a density setting.
4. The method of claim 1, 2 or 3, wherein individual grasp patterns of the grasp pattern
set are generated by computer simulation.
5. The method of any preceding claim, wherein each individual grasp pattern comprises
the pre-shape configuration of the 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 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.
7. The method of claim 6, 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.
8. The method of any preceding claim, 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.
9. The method of claim 8, 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.
10. The method of claim 8 or 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.
11. The method of claim 8, 9 or 10, 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, wherein the reference
object pose and the relative object pose may be based at least in part on a relative
center of mass position of the target object and an orientation of the target object.
12. The method of any preceding claim, 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.
13. 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.
14. A computer program product for use with a computing device to generate robot grasp
patterns, the computer program product comprising:
a 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, carry out the method of any preceding claim for generating
grasp patterns for use by a robot.
1. Computerimplementiertes Verfahren zur Erzeugung von Greifmustern zur Verwendung durch
einen Roboter, wobei das Verfahren die Schritte umfasst:
ein Erzeugen, unter Verwendung eines Prozessors, einer Vielzahl von Annäherungsstrahlen,
die mit einem Zielobjekt verknüpft sind, wobei sich jeder Annäherungsstrahl der Vielzahl
von Annäherungsstrahlen senkrecht von einer Oberfläche des Zielobjektes her ausdehnt;
ein Erzeugen, unter Verwendung des Prozessors, zumindest eines Greifmusters für jeden
Annäherungsstrahl der Vielzahl von Annäherungsstrahlen, zur Erzeugung eines Greifmustersatzes
des Zielobjektes, das mit der Vielzahl von Annäherungsstrahlen verknüpft ist, wobei
jedes einzelne Greifmuster zumindest teilweise auf einer Vorform-Konfiguration einer
Roboterhand vor einer Greifbewegung, einem Distanzabstand der Roboterhand in Richtung
des Zielobjektes, und einem Rollwinkel der Roboterhand vor der Greifbewegung basiert;
ein Berechnen, unter Verwendung des Prozessors, einer Greifqualitätswertung für jedes
einzelne Greifmuster des Greifmustersatzes, wobei die Greifqualitätswertung einen
skalaren Wert aufweist, der eine Greifsicherheit des Zielobjektes durch die Roboterhand
unter Verwendung der einzelnen Greifmuster anzeigt;
ein Vergleichen, unter Verwendung des Prozessors, der Greifqualitätswertung jedes
einzelnen Greifmusters mit einem Greifqualitätsschwellwert;
ein Auswählen, unter Verwendung des Prozessors, einzelner Greifmuster aus dem Greifmustersatz
mit einer größeren Greifqualitätswertung als der Greifqualitätsschwellwert; und
ein Bereitstellen, unter Verwendung des Prozessors, der ausgewählten einzelnen Greifmuster
an den Roboter zur Online-Manipulation des Zielobjektes.
2. Verfahren nach Anspruch 1, wobei jeder einzelne Annäherungsstrahl mit mehr als einem
Greifmuster verknüpft wird.
3. Verfahren nach Anspruch 1 oder 2, wobei die Vielzahl von Annäherungsstrahlen in Übereinstimmung
mit einer Dichteeinstellung erzeugt wird.
4. Verfahren nach Anspruch 1, 2 oder 3, wobei einzelne Greifmuster der Greifmustersatz
durch eine Computersimulation erzeugt werden.
5. Verfahren nach einem der vorstehenden Ansprüche, wobei jedes einzelne Greifmuster
die Vorform-Konfiguration der Roboterhand des Roboters und eine Transformation der
Roboterhand hinsichtlich des Zielobjektes umfasst.
6. Verfahren nach Anspruch 1, wobei jedes einzelne Greifmuster des Greifmustersatzes
erzeugt wird durch:
ein Bestimmen, mittels einer Computersimulation, einer Anfangsposition und einer Orientierung
eines Roboterhandkoordinatensystems das mit der Roboterhand in Übereinstimmung mit
dem Distanzabstand und dem Rollwinkel, entsprechend der Vorform-Konfiguration verknüpft
ist;
ein Öffnen der Fingergelenke der Roboterhand;
ein Verschieben der Roboterhand entlang einem ausgewählten Annäherungsstrahl der Vielzahl
von Annäherungsstrahlen, bis die Roboterhand an einem vorbestimmten Abstand von dem
Zielobjekt positioniert ist, wobei der ausgewählte Annäherungsstrahl mit dem einzelnen
Greifmuster verknüpft ist;
ein Schließen der Fingergelenke der Roboterhand um das Zielobjekt; und
ein Bestimmen einer Kontaktkraft zwischen den Fingergelenken der Roboterhand und dem
Zielobjekt.
7. Verfahren nach Anspruch 6, ferner mit einem Bestimmen, auf der Grundlage der Kontaktkraft
zwischen den Fingergelenken der Roboterhand und dem Zielobjekt, ob jedes einzelne
Greifmuster ein Kraftschlussgriff ist, wobei die Greifqualitätswertung zumindest teilweise
auf der Kontaktkraft basiert.
8. Verfahren nach einem der vorstehenden Ansprüche, ferner mit, für jedes einzelne Greifmuster:
einem Auswählen einer Vielzahl von Objekthaltungen für das Zielobjekt aus einem Haltungswahrscheinlichkeitsverteilungsmodell;
für jede ausgewählte Objekthaltung der Vielzahl von Objekthaltungen:
einem Greifen, mittels einer Computersimulation, des Zielobjektes mit den Fingergelenken
der Roboterhand;
Anheben des Zielobjektes mit der Roboterhand;
einem Bestimmen einer Anzahl von Fingergelenken, die nach dem Anheben des Zielobjektes
mit der Roboterhand mit dem Zielobjekt in Kontakt stehen;
einem Bestimmen einer Verschiebung des Zielobjektes hinsichtlich der Roboterhand nach
dem Anheben des Zielobjektes mit der Roboterhand; und
einem Berechnen einer vorläufigen Greifqualitätswertung für jede einzelne Objekthaltung
der Vielzahl von Objekthaltungen, wobei die vorläufige Greifqualitätswertung ferner
zumindest teilweise auf der Verschiebung des Zielobjektes hinsichtlich der Roboterhand
nach dem Anheben des Zielobjektes mit der Roboterhand basiert ist; und
einem Bestimmen der Greifqualitätswertung durch Mitteln der vorläufigen Greifqualitätswertungen.
9. Verfahren nach Anspruch 8, wobei die vorläufige Greifqualitätswertung zumindest teilweise
bestimmt ist durch:
ein Zuordnen einer Minimalwertung zu einer einzelnen vorläufigen Greifqualitätswertung,
falls die Anzahl von Fingergelenken, die nach dem Anheben des Zielobjektes mit der
Roboterhand mit dem Zielobjekt in Kontakt stehen, kleiner als ein vorbestimmter Kontaktschwellwert
ist;
ein Zuordnen einer Medianwertung zu der einzelnen vorläufigen Greifqualitätswertung,
falls die Anzahl von Fingergelenken, die nach dem Anheben des Zielobjektes mit der
Roboterhand mit dem Zielobjekt in Kontakt stehen, größer oder gleich dem vorbestimmten
Kontaktschwellwert ist, und die Verschiebung des Zielobjektes hinsichtlich der Roboterhand
nach dem Anheben des Zielobjektes mit der Roboterhand größer als null und kleiner
als ein vorbestimmter Verschiebungsschwellwert ist; und
ein Zuordnen einer Maximalwertung zu der einzelnen vorläufigen Greifqualitätswertung,
falls die Anzahl von Fingergelenken, die nach dem Anheben des Zielobjektes mit der
Roboterhand mit dem Zielobjekt in Kontakt stehen, größer oder gleich dem vorbestimmten
Kontaktschwellwert ist, und die Verschiebung des Zielobjektes hinsichtlich der Roboterhand
nach dem Anheben des Zielobjektes mit dem Roboter ungefähr gleich null ist.
10. Verfahren nach Anspruch 8 oder 9, wobei die Verschiebung des Zielobjektes hinsichtlich
der Roboterhand nach dem Anheben des Zielobjektes auf einem Verschiebungswahrscheinlichkeitsverteilungsmodell
basiert.
11. Verfahren nach Anspruch 8, 9 oder 10, ferner mit, für jede ausgewählte Objekthaltung:
einem Bestimmen einer Bezugsobjekthaltung des Zielobjektes nach dem Greifen des Zielobjektes
mit den Fingergelenken der Roboterhand durch Abtasten des Haltungswahrscheinlichkeitsverteilungsmodells;
einem Bestimmen einer Relativobjekthaltung des Zielobjektes nach dem Anheben des Zielobjektes
mit der Roboterhand durch Abtasten des Haltungswahrscheinlichkeitsverteilungsmodells;
und
einem Berechnen einer Bewegung des Zielobjektes zumindest teilweise auf der Grundlage
der Relativobjekthaltung und der Bezugsobjekthaltung, wobei die vorläufige Greifqualitätswertung
zumindest teilweise auf der Bewegung des Zielobjektes basiert, wobei die Bezugsobjekthaltung
und die Relativobjekthaltung zumindest teilweise auf einer relativen Schwerpunktposition
des Zielobjektes und einer Orientierung des Zielobjektes basieren.
12. Verfahren nach einem der vorstehenden Ansprüche, ferner mit, für jedes einzelne Greifmuster:
Berechnen einer Vielzahl von vorläufigen Greifqualitätswertungen durch Abtasten eines
Wahrscheinlichkeitsverteilungsmoduls für eine Vielzahl von Computersimulationen; und
Bestimmen der Greifqualitätswertung durch Mitteln der vorläufigen Greifqua litätswertungen.
13. Verfahren nach Anspruch 1, wobei die Greifqualitätswertung durch zumindest:
ein Schließen, mittels einer Computersimulation, von Fingergelenken einer Roboterhand
des Roboters um das Zielobjekt;
ein Bestimmen einer Bezugsobjekthaltung des Zielobjektes nach Greifen des Zielobjektes
mit den Fingergelenken der Roboterhand durch Abtasten eines Haltungswahrscheinlichkeitsverteilungsmodells;
ein Anheben des Zielobjektes mit der Roboterhand;
ein Bestimmen einer Relativobjekthaltung des Zielobjektes nach dem Anheben des Zielobjektes
mit der Roboterhand; und
ein Berechnen einer Bewegung des Zielobjektes zumindest teilweise auf der Grundlage
der Relativobjekthaltung und der Bezugsobjekthaltung, wobei die Greifqualitätswertung
zumindest teilweise auf der Bewegung des Zielobjektes basiert,
berechnet ist.
14. Computerprogrammprodukt zur Verwendung mit einer Computervorrichtung zur Erzeugung
von Robotergreifmustern, wobei das Computerprogrammprodukt aufweist:
ein Computer-lesbares Medium, das Computer-ausführbare Anweisungen zur Erzeugung von
Greifmustern speichert, die bei Ausführung durch die Computervorrichtung die Computervorrichtung
veranlassen:
das Verfahren mittels einer Computersimulation nach einem der vorstehenden Ansprüche
zur Erzeugung von Greifmustern zur Verwendung durch einen Roboter durchzuführen.
1. Procédé mis en oeuvre par ordinateur pour produire des modèles de prise destinés à
une utilisation par un robot, le procédé comprenant les étapes suivantes :
produire, à l'aide d'un processeur, une pluralité de demi-droites d'approche associées
à un objet cible, dans lequel chaque demi-droite d'approche de la pluralité de demi-droites
d'approche s'étend perpendiculairement à une surface de l'objet cible ;
produire, à l'aide du processeur, au moins un modèle de prise pour chaque demi-droite
d'approche de la pluralité de demi-droites d'approche pour produire un ensemble de
modèles de prise de l'objet cible associé à la pluralité de demi-droites d'approche,
dans lequel chaque modèle individuel de prise est fondé au moins en partie sur une
configuration de forme initiale de main de robot, avant un mouvement de préhension,
une distance de sécurité de la main de robot par rapport à l'objet cible, et un angle
d'inclinaison de la main de robot avant le mouvement de préhension ;
calculer, à l'aide du processeur, un score de qualité de prise de chaque modèle individuel
de prise de l'ensemble de modèles de prise, dans lequel le score de qualité de prise
comprend une valeur scalaire qui indique une sécurité de prise de l'objet cible par
la main de robot à l'aide des modèles individuels de prise ;
comparer, à l'aide du processeur, le score de qualité de prise de chaque modèle individuel
de prise avec un seuil de qualité de prise ;
sélectionner, à l'aide du processeur, des modèles individuels de prise de l'ensemble
de modèles de prise ayant un score de qualité de prise qui est supérieur au seuil
de qualité de prise ; et
fournir, à l'aide du processeur, les modèles individuels de prise sélectionnés au
robot aux fins d'une manipulation en direct de l'objet cible.
2. Procédé selon la revendication 1, dans lequel chaque demi-droite individuelle d'approche
est associée à plus d'un modèle de prise.
3. Procédé selon la revendication 1 ou 2, dans lequel la pluralité de demi-droites d'approche
est produite en fonction d'un paramètre de densité.
4. Procédé selon la revendication 1, 2 ou 3, dans lequel des modèles individuels de prise
de l'ensemble de modèles de prise sont produits par simulation sur ordinateur.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque
modèle individuel de prise comprend la configuration de forme initiale de la main
de robot du robot, et une transformation de la main du robot par rapport à l'objet
cible.
6. Procédé selon la revendication 1, dans lequel chaque modèle individuel de prise de
l'ensemble de modèles de prise est produit par :
détermination, au moyen d'une simulation sur ordinateur, d'une position initiale et
d'une orientation d'un système de coordonnées de main de robot associé à la main de
robot, conformément à la distance de sécurité et à l'angle d'inclinaison selon la
configuration de forme initiale ;
ouverture d'articulations de doigts de la main de robot ;
translation de la main de robot le long d'une demi-droite d'approche sélectionnée
de la pluralité de demi-droites d'approche, jusqu'à ce que la main de robot soit positionnée
à une distance prédéterminée de l'objet cible, dans lequel la demi-droite d'approche
sélectionnée est associée au modèle individuel de prise ;
fermeture des articulations de doigts de la main de robot autour de l'objet cible
; et
détermination d'une force de contact entre les articulations de doigts de la main
de robot et l'objet cible.
7. Procédé selon la revendication 6, comprenant en outre la détermination de ce que chaque
modèle individuel de prise est ou non une prise à fermeture de force, sur la base
de la force de contact entre les articulations de doigts de la main de robot et l'objet
cible, dans lequel le score de qualité de prise est fondé au moins en partie sur la
force de contact.
8. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre,
pour chaque modèle individuel de prise :
la sélection d'une pluralité de poses d'objet de l'objet cible d'après un modèle de
distribution de probabilités de pose ;
pour chaque pose d'objet sélectionnée parmi la pluralité de poses d'objet, les étapes
suivantes :
par simulation sur ordinateur, saisir l'objet cible avec les articulations de doigts
de la main de robot ;
soulever l'objet cible avec la main de robot ;
déterminer un nombre d'articulations de doigts en contact avec l'objet cible, après
avoir soulevé l'objet cible avec la main de robot ;
déterminer un déplacement de l'objet cible par rapport à la main de robot, après avoir
soulevé l'objet cible avec la main de robot ; et
calculer un score préliminaire de qualité de prise pour chaque pose individuelle d'objet
de la pluralité de poses d'objet, dans lequel le score préliminaire de qualité de
prise est fondé en outre, au moins en partie, sur le déplacement de l'objet cible
par rapport à la main de robot, après le soulèvement de l'objet cible avec la main
de robot ; et
la détermination du score de qualité de prise en calculant la moyenne des scores préliminaires
de qualité de prise.
9. Procédé selon la revendication 8, dans lequel le score préliminaire de qualité de
prise est déterminé au moins en partie par :
attribution d'un score minimum à un score préliminaire individuel de qualité de prise,
lorsque le nombre d'articulations de doigts en contact avec l'objet cible, après le
soulèvement de l'objet cible avec la main de robot, est inférieur à seuil prédéterminé
de contact ;
attribution d'un score médian au score préliminaire individuel de qualité de prise,
lorsque le nombre d'articulations de doigts en contact avec l'objet cible, après le
soulèvement de l'objet cible avec la main de robot, est supérieur ou égal au seuil
prédéterminé de contact, et que le déplacement de l'objet cible par rapport à la main
de robot, après le soulèvement de l'objet cible avec la main de robot, est supérieur
à zéro et inférieur à un seuil prédéterminé de déplacement ;
attribution d'un score maximum au score préliminaire individuel de qualité de prise,
lorsque le nombre d'articulations de doigts en contact avec l'objet cible, après le
soulèvement de l'objet cible avec la main de robot, est supérieur ou égal au seuil
prédéterminé de contact, et que le déplacement de l'objet cible par rapport à la main
de robot, après le soulèvement de l'objet cible avec le robot, est sensiblement égal
à zéro.
10. Procédé selon la revendication 8 ou 9, dans lequel le déplacement de l'objet cible
par rapport à la main de robot, après le soulèvement de l'objet cible, est fondé sur
un modèle de distribution de probabilités de déplacement.
11. Procédé selon la revendication 8, 9 ou 10, comprenant en outre pour chaque pose d'objet
sélectionnée, les étapes suivantes :
déterminer une pose d'objet de référence de l'objet cible, après avoir saisi l'objet
cible avec les articulations de doigts de la main de robot, en échantillonnant le
modèle de distribution de probabilités de pose ;
déterminer une pose d'objet relative de l'objet cible, après avoir soulevé l'objet
cible avec la main de robot, en échantillonnant le modèle de distribution de probabilités
de pose ; et
calculer un mouvement de l'objet cible, sur la base, au moins en partie, de la pose
d'objet relative et de la pose d'objet de référence, dans lequel le score préliminaire
de qualité de prise est fondé au moins en partie sur le mouvement de l'objet cible,
dans lequel la pose d'objet de référence et la pose d'objet relative peuvent être
fondées, au moins en partie, sur un centre relatif de position de masse de l'objet
cible et une orientation de l'objet cible.
12. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre,
pour chaque modèle individuel de prise, les étapes suivantes :
calculer une pluralité de scores préliminaires de qualité de prise en échantillonnant
un modèle de distribution de probabilités d'une pluralité de simulations sur ordinateur
; et
déterminer le score de qualité de prise en calculant la moyenne des scores préliminaires
de qualité de prise.
13. Procédé selon la revendication 1, dans lequel le score de qualité de prise est calculé
au moins en partie par :
fermeture, par simulation sur ordinateur, des articulations de doigts d'une main de
robot du robot autour de l'objet cible ;
détermination d'une pose d'objet de référence de l'objet cible, après la prise de
l'objet cible avec les articulations de doigts de la main de robot, par échantillonnage
d'un modèle de distribution de probabilités de pose ;
soulèvement de l'objet cible avec la main de robot ;
détermination d'une pose d'objet relative de l'objet cible, après le soulèvement de
l'objet cible avec la main de robot ; et
calcul d'un mouvement de l'objet cible fondé au moins en partie sur la pose d'objet
relative et la pose d'objet de référence, dans lequel le score de qualité de prise
est fondé au moins en partie sur le mouvement de l'objet cible.
14. Produit-programme informatique destiné à une utilisation avec un dispositif informatique
pour produire des modèles de prise de robot, le produit-programme informatique comprenant
:
un support lisible par ordinateur stockant des instructions exécutables par ordinateur
destinées à produire des modèles de prise, qui, lorsqu'elles sont exécutées par le
dispositif informatique, font que le dispositif informatique :
mette en oeuvre, par simulation sur ordinateur, le procédé selon l'une quelconque
des revendications précédentes pour produire des modèles de prise destinés à une utilisation
par un robot.