GRASP FEASIBILITY COMPUTATION BASED ON CASCADING
FILTERS. APPLICATION TO A THREE FINGERED GRIPPER
Cesar Fernandez, M. Asuncion Vicente, Oscar Reinoso, Luis Paya, Rafael Puerto
Industrial Systems Engineering Department. Miguel Hernandez University
Av. Universidad s/n. 03202 Elche (Alicante), Spain.
Keywords:
Robot grasping, inverse kinematics, collision detection, optimization.
Abstract:
A simple, yet effective approach to grasp feasibility analysis is presented. The goal is to reduce the computa-
tional complexity of such process, whose complexity makes the detection of all feasible grasps for a certain
object unavoidable in most occasions. The approach is based on cascading filters of increasing complexity.
First, trivial filters are applied to all the grasp examples, thus rejecting all clearly unfeasible grasps with a small
computational effort. Then, more complex filters are applied to a reduced number of grasps and, at the end,
the full kinematics and collision detection analysis is only performed with a small subset of the grasps. An
example application is presented, where the goal is to detect all the possible 2D grasps of a certain object with
an articulated three-fingered hand attached to a scara robot. The vertical axis is decoupled, thus resulting in a
highly redundant 7 DOF planar device. Simulation results are presented, where the reduction in computational
complexity is evaluated in terms of the number of floating point operations required. Such reduction can be as
high as 97% of the original computation time. An experimental setup has also been developed, with an indus-
trial scara robot and a specifically designed articulated three-fingered gripper. The gripper has pneumatically
actuated opening and closing of the fingers and electrically actuated abduction of the articulated fingers. In
such experimental setup, the cascading filters approach shows a good behavior. Besides, the proposed system
can be easily adapted to different robot arms and hands.
1 INTRODUCTION
The goal of a robot grasp synthesis algorithm is to
select the best grasp for a certain object, given a ro-
bot arm and hand. The number of different grasps
that have to be analyzed can be extremely high, par-
ticularly when multifingered grippers are used. In a
generic situation, a grasp is defined as a set of n con-
tact points on the surface of the object, where n is
the number of gripper fingers. Let us suppose that the
surface of the object can be defined to a certain res-
olution by z 3D points. In such situation, there are
z
n
possible sets of contact points. If the gripper is
not symmetric, finger assignment is also relevant, so
each set represents n! different grasps, and the total
number of grasps can be expressed as N
G
in Eq. 1
N
G
=
z
n
· n! =
z!
(z n)!
(1)
Each of the N
G
possible grasps has to be analyzed
for feasibility. There are two main aspects that need
to be considered: first, the kinematics of robot arm
and gripper; and second, the existence of collisions.
Concerning the first aspect, the goal is to detect
whether the set of n points is reachable or not tak-
ing into account the root arm and gripper kinematics:
i.e. the goal is to solve the inverse kinematics. In
the general situation, there is a high level of redun-
dancy, and the computation of the inverse kinemat-
ics is thus very expensive. Only very simple grasp-
ing devices like two jaw parallel grippers are non-
redundant. Apart from that, there are several particu-
larities in grasp kinematics. First, there are multiple
end effectors, one per gripper finger, which are cou-
pled (some of the joints are common for several fin-
gers); and second, desired configurations (end effec-
tor poses) are not strict in terms of orientation. This
remark is shown in figure 1, where two different sets
of end effector orientations reaching the same contact
points have to be considered valid and capable of per-
forming the grasp.
As it has been mentioned before, there is a sec-
ond aspect to be considered: the existence of colli-
181
Fernandez C., Asuncion Vicente M., Reinoso O., Paya L. and Puerto R. (2005).
GRASP FEASIBILITY COMPUTATION BASED ON CASCADING FILTERS. APPLICATION TO A THREE FINGERED GRIPPER.
In Proceedings of the Second Inter national Conference on Informatics in Control, Automation and Robotics - Robotics and Automation, pages 181-188
DOI: 10.5220/0001180401810188
Copyright
c
SciTePress
Figure 1: Orientation is not a strict restriction when comput-
ing the inverse kinematics of a grasp defined by n contact
points.
sions. Even if the robot arm and gripper kinematics
allows to reach a certain set of n contact points, the
final configuration could produce collisions between
the object and the robot links (only the final configu-
ration is taken into account as the problem of the path
followed by the robot gripper from the initial config-
uration is not addressed in this paper). The detection
of the possible collisions is also a computationally ex-
pensive problem.
In the present paper, a simple yet effective compu-
tational reduction technique is presented. Such tech-
nique is specifically designed for robot grasping, and
takes into account all the particularities of such prob-
lem.
The paper is structured as follows: section 2 de-
scribes the previous approaches to kinematic compu-
tation in the presence of redundancy and to collision
detection; and outlines their limitations for a robot
grasp application. Section 3 presents the proposed ap-
proach; and section 4 its application to a certain grasp
environment. Sections 5 and 6 present the results ob-
tained both in simulation and in a real experimental
setup. Finally, some conclusions are drawn on sec-
tion 7.
2 PREVIOUS APPROACHES TO
FEASIBILITY STUDY
Concerning the computation of the inverse kinemat-
ics in the presence of redundancy, multiple solutions
can be found in the literature. The easiest approach
is to add constraints for the redundant DOF; i.e. to
held fixed a certain joint or to establish some fixed re-
lationships between different joints. However, these
solutions are not valid when the goal is feasibility
computation: some of the available DOF are not ex-
ploited, and a grasp could be incorrectly classified as
unfeasible. Other approaches are based on the use
of iterative methods to approximate a good solution,
normally based on the Jacobian matrix J. In a gen-
eral case, when there are multiple end effectors (e.g.
grasping devices) the Jacobian matrix is defined as in
Eq. 2, where p
i
denotes the i-th end effector position
(depending on the applications, p
i
can represent both
the end effector positions and orientations) and q
j
de-
notes the j-th robot joint.
J(Q) =
p
i
q
j
i,j
(2)
Inverse kinematics resolution based on the Jaco-
bian matrix can be accomplished in many differ-
ent ways: the Jacobian transpose method (Balestrino
et al., 1984)(Wolovich and Elliot, 1984), the Jacobian
pseudoinverse or null-space method (Baillieul, 1985),
the damped least squares method (Nakamura, 1986),
etc. However, these approaches are devoted to find
a solution to the inverse kinematics and not to sim-
ply detect whether a solution exists; in this way, their
computational requirements could be reduced.
Other redundancy resolution methods are based on
parametric modelling rather than in the Jacobian ma-
trix. In (Dordevic et al., 2004), an approach based
on human motor control theories is presented. A tax-
onomy of robot motions is generated and, for each
motion example, the joint values are computed in an
off-line step called skill acquisition. When the robot
is requested to perform a certain motion, function ap-
proximators are used to interpolate the joint values
corresponding to the desired motion from the avail-
able skills. The main advantage of this method is its
low on-line computational complexity; but it is not
valid to detect the feasibility of a certain grasp. First,
it is devoted to robot motions; and second, a grasp
could be classified as unfeasible even if it could be
feasible using a configuration different to that of the
stored skills.
Concerning the collision detection problem, multi-
ple algorithms have also been developed. When the
goal is collision free path planning, the configuration
space (Lozano-Perez, 1983) is commonly used; how-
ever, the present paper is focused on the detection of
the collisions for the final gripper configuration, and
not on the path followed to reach such configuration.
When the goal is the detection of collisions in a sta-
tic configuration, most algorithms are based on the
representation of all the objects that could collide (ro-
bot links, object to be grasped and maybe surround-
ing obstacles) as sets of planar faces. The resolution
used for such representation is a key factor in obtain-
ing a good compromise between computational load
and accuracy of the results. A survey on collision de-
tection techniques can be found in (Jimenez et al.,
2001). There are multiple available optimized soft-
ware packages, like I-COLLIDE (Lin, 1993), RAPID
ICINCO 2005 - ROBOTICS AND AUTOMATION
182
(Gottschalk et al., 1996), V-COLLIDE (Hudson et al.,
1997), QUICK-CD (Klosowski, 1998), etc. In these
software packages, the goal is to detect precisely the
contact point or contact areas of a collision. Such in-
formation is not needed for feasibility computation; it
is just required to know whether there is a collision or
not.
3 PROPOSED APPROACH
The proposed approach is focused on feasibility com-
putation and not on computing the full inverse kine-
matics or detecting precisely the contact points of a
collision. In order to reduce the computational load,
cascading filters of increasing complexity are applied.
First, trivial filters are applied to all the grasp exam-
ples, thus rejecting all clearly unfeasible grasps with a
small computational effort. These trivial filters com-
pute absolute and relative distances for the n contact
points of the grasps and check whether the maximum
values, minimum values and ratios of such distances
fall within the valid ranges of robot arm and gripper.
Once this trivial filters have been applied and part
of the grasp candidates have been discarded, more
complex filters are applied to the remaining grasps.
This slightly more complex filters compute angular
measurements and trivial collision detection criteria
in order to reduce even more the number of grasp can-
didates. At this second step, the computational effort
required to test each grasp is higher but the number of
grasps to be checked is smaller as some of the candi-
dates were already filtered in the first step.
The complexity of the applied filters is increased at
each step, as the number of grasps examples where the
filters have to be applied is reduced. Finally, the most
complex filters (full kinematics analysis and collision
detection) are performed only in a very reduced sub-
set of examples. Figure 2 shows the cascading filters
structure.
Possible grasps
(N)
Filter
#1
Filter
#2
Filter
#p
Feasiblegrasps
(Np)
N
1
N
2
N
P-1
N
P
N
REDUCTIONIN THENUMBEROFGRASPS TOBECHECKED
INCREASEOF THE FILTERS COMPLEXITY
Figure 2: Cascading filters: complexity increases as the
number of checks to be performed decreases.
The number of filters used is a key factor in the
reduction of complexity. Apparently, increasing the
number of filters should always result in a computa-
tional load decrease, provided the filters are chosen
wisely. However, the valid grasps (the ones not dis-
carded) have to be evaluated with all the filters. If
the number of filters is too high, computational load
could be increased instead: a compromise is required.
The cascading filters approach is particularly suited
to grasping applications, where multiple grasp candi-
dates have to be evaluated in order to choose the best
one. Each of the filters used have to be specific to a
certain robot arm and gripper, but the methodology
can be applied in general terms to all situations: the
most simple filters deal with distance measurements;
at a higher complexity level angular measurements
are considered; then trivial collision detection is per-
formed; and finally the full tests are carried out.
These full tests have to be slightly different to those
proposed in the literature, as the only requirement is
to detect whether a valid solution exist. Ad-hoc filters
should be developed depending on the application.
4 APPLICATION TO A
THREE-FINGERED GRIPPER
4.1 Definition of the example
application
The proposed approach has been applied to a robot
grasping environment. The goal is to detect all the
possible 2D grasps (planar grasps) that can be per-
formed with an articulated three-fingered gripper at-
tached to a scara robot. The problem is analyzed in
2D so the vertical axis of the scara robot is decou-
pled. Figure 3 shows the planar kinematics of arm
and gripper.
7
6
3
1
4
5
2
Figure 3: Planar kinematics of the example application.
The system has a total of seven planar DOF, which
are clearly marked in the figure: three of them trans-
lational (opening and closing of the fingers, which
are independent) and one rotational (abduction of the
two articulated fingers, which are coupled). There is
a high redundancy, as a certain set of three contact
points can be reached with multiple configurations of
robot arm and gripper.
4.2 Selected filters
The filters used for the example application are de-
scribed in the next paragraphs. A total of ve filters
GRASP FEASIBILITY COMPUTATION BASED ON CASCADING FILTERS. APPLICATION TO A THREE
FINGERED GRIPPER
183
have been defined:
1. The first filter measures the distance from the mid-
point of the three contact points to the robot origin.
Extremely large or extremely small distances result
in unfeasible grasps.
2. The second filter measures point to point distances
between the three contact points, and computes the
maximum value, the minimum value, the sum of
distances and the difference between maximum and
minimum values. All these measures have to fall
within the gripper range in order for the grasp to be
accepted.
3. The third filter measures the angle between the sur-
face normals at the three contact points: normals
that are too close to be parallel will be kinemat-
ically unfeasible or will result in a collision. A
threshold of 45 degrees is used.
4. The fourth filter computes the expected angle be-
tween the surface normals and the finger action
line. There are three possible finger assignments
for this gripper (three different ways of assigning
contact points to robot fingers), and at least one of
the assignments must result in valid values for this
angle: a range of ± 45 degrees is allowed.
5. Finally, the fifth filter computes a full kinematic
analysis and collision detection. As there is redun-
dancy, no closed solution for the inverse kinematics
can be found. To solve this problem, the range of
motion of one of the joints (abduction of the two
articulated fingers) is discretized to a fixed reso-
lution (100 values) and an analysis of kinematics
feasibility is performed for each abduction value.
The collision detection needs to be performed si-
multaneously: as the fingers are supposed to have
planar surfaces, the expected contact points may be
slightly different to the real ones. In order to take
this effect into account, the previously computed
finger strokes are modified in order to avoid inter-
ferences between fingers and object. If the finger
strokes are within valid ranges after the modifica-
tion, the grasp is considered to be feasible. Even
though the computational load of this filter is not
very high, it is much more complex than the previ-
ous filters.
5 RESULTS IN SIMULATION
In order to check the validity of the proposed ap-
proach, a Matlab simulation environment has been
developed. This environment allows to represent any
2D robot arm and hand; for the experimental com-
parison, the scara robot and the three-fingered gripper
described in section 4.1 are chosen. A database of 24
synthetic objects has been defined, and a scale factor
has been applied to increase the variability of the ex-
amples: every object can have five different sizes, thus
resulting in a total of 120 different contours. Such
database is shown in figure 4.
Figure 4: Synthetic objects defined for the simulation envi-
ronment.
During a simulation, a randomly chosen object is
presented in a random pose, which can be within
reach of the robot arm or not. The object contour is
discretized using an adjustable resolution and all the
feasible grasps are computed an displayed. Figures
5 and 6 show the process. Both a detailed view of
the object and a general view of its relative pose with
respect to the robot arm are displayed (bottom right
window of the image).
Figure 5: Simulation setup, first step: an object is presented
in a random pose and its contour is discretized.
This simulation setup has also been used to test
a grasp synthesis algorithm (Fernandez et al., 2004)
ICINCO 2005 - ROBOTICS AND AUTOMATION
184
Figure 6: Simulation setup, second step: all the feasible
grasps are computed and displayed. Resolution has been
reduced in order to obtain a better visualization.
which, provided the feasible grasps have been com-
puted, selects the best one by similarity to grasp ex-
amples provided by the user and performs such grasp,
displaying the robot arm and gripper movements.
However, this paper is focused on the previous step:
the computation of the feasible grasps.
Such computation is performed following the cas-
cading filters approach presented in previous sections.
Figure 7 shows the behavior of the system over some
example objects belonging to the database: the num-
ber of grasps to be checked for feasibility gets smaller
as the filter complexity increases. The goal has been
achieved, as the relatively complex fifth filter is only
evaluated in a small subset of grasps.
no filter 1 2 3 4 5
0
500
1000
1500
2000
2500
3000
3500
4000
4500
filter number
number of valid grasps
object 1
object 2
object 3
object 4
object 5
object 6
object 7
Figure 7: Simulation results: number of grasps remaining
after applying each filter.
1 2 3 4 5
1
1.5
2
2.5
3
3.5
4
4.5
5
filter number
log
10
(number of flops)
object 1
object 2
object 3
object 4
object 5
object 6
object 7
Figure 8: Simulation results: number of floating point oper-
ations required to perform each feasibility computation.
Concerning the computational complexity associ-
ated with each filter, figure 8 shows the number of
floating point operations required to perform each fil-
ter computation. A logarithmic scale is used in the
y axis in order to be able to represent the high dif-
ferences in computational load between the different
filters; particularly, the fifth filter is much more com-
plex than the others.
The combination of the results shown in figures 7
and 8 gives the total computational load. Table 1 com-
pares these results against the computational load as-
sociated with a direct application of the most complex
filter (full kinematics and collision analysis) to all the
possible grasps. It becomes clear that there are high
reductions in complexity, that range from 71% to 98%
(i.e. the proposed approach requires only the 2% of
the original computing time for certain objects).
Table 1: Comparison of computational complexity in terms
of floating point operations required to compute all the fea-
sible grasps for some example objects.
Object Cascading All tests Reduction
1 4.72 · 10
6
8.56 · 10
7
94.5%
2 8.03 · 10
6
4.39 · 10
7
81.7%
3 4.92 · 10
6
7.72 · 10
7
93.6%
4 1.12 · 10
7
2.33 · 10
8
95.2%
5 4.03 · 10
7
1.43 · 10
8
71.8%
6 4.59 · 10
6
2.29 · 10
8
98.0%
7 9.98 · 10
6
9.22 · 10
7
89.1%
6 RESULTS IN A
EXPERIMENTAL SETUP
A real experimental setup has also been used to check
the validity of the approach. An articulated three-
fingered gripper has been designed and developed
GRASP FEASIBILITY COMPUTATION BASED ON CASCADING FILTERS. APPLICATION TO A THREE
FINGERED GRIPPER
185
specifically for these tests, following the structure of
the example application presented in section 4. It al-
lows independent finger strokes, with pneumatically
actuated opening and closing; and it has an extra DOF
which allows to modify the abduction of the two ar-
ticulated fingers in the range 0 to 180 degrees. Such
abduction is electrically actuated by a DC motor. The
result is a highly redundant robot gripper. Figure 9
contains some drawings where the basic design and
the range of reachable abduction values is shown; fig-
ures 10 and 11 show two images of the real device us-
ing different configurations to hold different objects.
In these figures, it becomes clear that the gripper has
been designed in order to be adaptable to objects of
different shapes. The basic structure of the Barret
hand (Bar, ) has been used as a guideline.
Figure 9: Design of the three-fingered articulated hand and
range of abduction values.
Figure 10: Developed gripper: configuration used to hold
objects with spherical shape.
The experimental setup includes also a Mitsubishi
RH-5AH55 scara robot where the gripper is attached
(details about such robot can be found in (Mit, )) and
a low cost Creative video camera (Cre, ) to detect the
contour of the objects to be grasped. Figure 12 shows
this environment. The camera is fixed to the robot
arm, following an eye-in-hand configuration. To ob-
tain the contour of the objects, a color-based region
growing algorithm is used, which grows the back-
Figure 11: Developed gripper: configuration used to hold
objects with cylindrical shape.
ground region starting at one the image corners (uni-
form blue backgrounds and semi-controlled lighting
are used for the experiments). Afterwards, a set of 5
consecutive morphological closings are performed in
order to smooth the initial contours and discard irrel-
evant irregularities. All the image processing opera-
tions are performed using functions from the OpenCV
library (Ope, ). The results of the contour extraction
process on some example images are shown in figure
13. The system is robust enough to detect the contours
of most objects, even when highly reflective surfaces
are present.
Once the contours are extracted, they are dis-
cretized to a certain resolution and the cascading fil-
ters approach is used to detect the feasible grasps.
In order to check the behavior of the system, both
the contour and the feasible grasps computed are dis-
played using a Matlab application similar to the one
used in the simulation setup. Figures 14 and 15 show
an example of contours extracted from a real object,
its discretization and the feasible grasps. A certain
level of noise is present in the extracted contour, but
the results are almost unaffected.
Figure 12: Experimental setup: robot arm and gripper and
video camera.
ICINCO 2005 - ROBOTICS AND AUTOMATION
186
Figure 13: Contours obtained for some example objects.
Finally, some experiments are performed with dif-
ferent objects in order to check the reduction of com-
putational load in the real environment. The same
structure used with the simulation setup is followed.
Table 2 and figures 16 and 17 show the results ob-
tained in terms of number of grasps kept after each
filtering; computational load of each filter in float-
ing point operations; and total computational load .
The efficiency of the proposed approach is confirmed
as the reduction in computational complexity ranges
from 63% to 97%.
Figure 14: Experimental setup, first step: an image is cap-
tured, and the object contour is extracted and discretized.
Figure 15: Experimental setup, second step: all the feasible
grasps are computed and displayed.
Table 2: Comparison of computational complexity in the
experimental setup.
Object Cascading All tests Reduction
1 4.94 · 10
6
1.05 · 10
8
95.3%
2 7.59 · 10
7
1.11 · 10
9
93.1%
3 1.04 · 10
7
3.89 · 10
8
97.3%
4 2.29 · 10
8
1.44 · 10
9
84.1%
5 4.63 · 10
6
1.27 · 10
7
63.4%
6 1.95 · 10
7
1.83 · 10
8
89.3%
7 1.79 · 10
7
1.02 · 10
8
82.5%
no filter 1 2 3 4 5
0
0.5
1
1.5
2
2.5
3
x 10
4
filter number
number of valid grasps
object 1
object 2
object 3
object 4
object 5
object 6
object 7
Figure 16: Experimental results: number of grasps remain-
ing after applying each filter.
GRASP FEASIBILITY COMPUTATION BASED ON CASCADING FILTERS. APPLICATION TO A THREE
FINGERED GRIPPER
187
1 2 3 4 5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
filter number
log
10
(number of flops)
object 1
object 2
object 3
object 4
object 5
object 6
object 7
Figure 17: Experimental results: number of floating point
operations required to perform each feasibility computa-
tion.
7 CONCLUSIONS
Detecting all the feasible grasps for an object, given a
certain robot arm and hand, is a computationally ex-
pensive and normally unavoidable problem. Previous
research in this field is devoted to optimize the res-
olution of the full inverse kinematics problem or to
optimize the detailed detection of collisions.
The approach presented in this paper allows to per-
form a fast feasibility study for all the possible grasps
of a certain object, computing the inverse kinemat-
ics and collision detection only in a reduced subset of
grasps.
Such approach can be adapted to any robot arm and
hand, as it has been shown with an example applica-
tion.
Experimental results performed both in simulation
and on a real environment show that the proposed ap-
proach allows high reductions in computational load.
Future work will be devoted to the application of
the proposed system in more complex grasping de-
vices (robot hands); and also to consider the existence
of collision free paths instead of the static collision
detection tests performed at present.
REFERENCES
Barret hand. <http://www.barretttechnology.com>.
Creative. <http://www.creative.com>.
Mitsubishi. <http://global.mitsubishielectric.com/bu/automation>.
Opencv. <http://www.intel.com/research/mrl/research/opencv>.
Baillieul, J. (1985). Kinematic programming alternatives
for redundant manipulators. In Proc. IEEE Int. Conf.
on Robotics and Automation, pages 722–728.
Balestrino, A., De Maria, G., and Sciavicco, L. (1984).
Robust control of robotic manipulators. In Proceed-
ings of the 9th IFAC World Congress, volume 5, pages
2435–2440.
Dordevic, G., Rasic, M., and Shadmehr, R. (2004). Para-
metric models for motion planning and control in bio-
mimetic robotics. IEEE Transactions on Robotics. (in
press).
Fernandez, C., Vicente, M. A., Reinoso, O., and Aracil, R.
(2004). A decision tree based approach to grasp syn-
thesis. In Proceedings of the International Conference
on Intelligent Manipulation and Grasping, pages 486–
491.
Gottschalk, S., Lin, M., and Manocha, D. (1996). A hier-
archical structure for rapid interference detection. In
Proc. of ACM Siggraph’96, pages 171–180.
Hudson, T., Lin, M., Cohen, J., Gottschalk, S., and
Manocha, D. (1997). V- collide: Accelerated colli-
sion detection for vrml. In Proc. of VRML Conference,
pages 119–125.
Jimenez, P., Thomas, F., and Torras, C. (2001). 3d colli-
sion detection: a survey. Computers and Graphics,
25(2):269–285.
Klosowski, J. (1998). Efficient Collision Detection for In-
teractive 3D Graphics and Virtual Environments. PhD
thesis, University of New York.
Lin, M. (1993). Effcient Collision Detection for Animation
and Robotics. PhD thesis, University of California.
Lozano-Perez, T. (1983). Spatial planning: a configuration
space approach. IEEE Transactions on Computers,
32(2):108–120.
Nakamura, Y. (1986). Inverse kinematics solutions with
singularity robustness for robot manipulator control.
Journal of Dynamic Systems, Measurements and Con-
trol, 108:163–171.
Wolovich, W. A. and Elliot, H. (1984). A computational
technique for inverse kinematics. In Proc. of the 23rd
IEEE Conf. on Decision and Control, pages 1359–
1363.
ICINCO 2005 - ROBOTICS AND AUTOMATION
188