jaws-iros01
jaws-iros01
ABSTRACT for a given part: both align the part to the desired
orientation and achieve a form-closure grasp on the
In [19] we specified robot grippers that can orient part. The tolerance class is bounded by Jmax and Jmin.
and grasp parts with an arrangement of trapezoidal
jaw modules. Since jaw modules may be imprecisely
machined, we define a parametric tolerance class
such that part alignment is guaranteed for all jaw
geometry in the class. This tolerance class is derived Jmax
based on analysis of toppling, motion trajectory, and
form-closure. Given maximal jaw geometry from the
previous algorithm, we describe an O(n 3 ) algorithm
to compute the parametric tolerance class based on
maximal and minimal jaw specifications. We have
implemented the algorithm and report results from
physical experiments.
Jmin
1. INTRODUCTION
1
This work was supported in part by the National Science Foundation under CDA-9726389 and Presidential Faculty
Fellow Award IRI-9553197. Research funding was also provided by Adept Technology, Ford Motors, and Califor-
nia State MICRO Grant 00-032.
2
For more information contact: [email protected].
eralized configuration space and describes multi-step
error detection and recovery strategies. Joskowicz et
al. [6] present kinematic tolerance in term of configu-
ration space and develop a worst-case tolerance
analysis algorithm for 2-DOF planar pairs. Sack and
Joskowicz [13] extend the analysis to multi-pair pla-
nar mechanisms with statistical geometric variation.
They also model general planar part pairs using 3-
Figure 2 Gripper with trapezoidal jaw modules ro - dimensional configuration-space to capture both
tates the part in the gravitational plane to facilitate quantitative and qualitative kinematic variation [14].
assembly. Latombe et al. [7] considers assembly sequence
planning problem with toleranced parts. They give a
There are three types of vertices in the set of ac- polynomial time algorithm to decide if an assembly
cessible segments: one pushing vertex, one toppling sequence exists given the specified tolerances. Their
vertex, and other vertices named tips. As illustrated in tolerance model is similar to ours in that both
Figure 3, we define a single variational parameter λ approaches fix the relative orientation of edges.
along the edge at each tip. As is common in toler- Akella and Mason [1] develop a planner to generate
ance analysis, we assume perfect form: all jaw mo d- orienting plans for toleranced polygonal parts. Their
ules in the tolerance class have perfect linear edges. tolerance model is defined by circular uncertainty
We define the tolerance class by fixing the pushing zones around the nominal positions of the COM and
and toppling vertices and computing how far the tips the vertices. Chen et al. [4] propose parameteric
can be expanded or contracted along the accessible tolerance classes for sensorless part orienating and
segments. Note that we define a single common tol- fixturing. Each are defined by a uncertainty zone at
erance parameter λ for all tips. part vertices. They develop algorithms to compute the
boundaries of the tolerance class. Brost and Peters [3]
give an algorithm to design 3D modular fixtures for
λ toleranced parts that are specified by an uncertainty
polygon at each vertex. Bohringer et al. [2] show that
toleranced parts can be oriented using an elliptic
force field.
λ
3. PROBLEM DEFINITION
the surface. Starting from the pivot, we consider each where i is the index of visible edges.
edge of the part in counter-clockwise order, namely The first three criteria can be described as: the
e1 , e2 , …, en . The edge ei , with vertices vi at (xi , zi ) toppling contact A must be above the toppling func-
and v(i+1) at (x(i+1), z(i+1)), is in direction ψi from the X- tion, the jamming function, and the liftoff function.
axis. When the horizontal line crosses a vertex function,
Let θ denote the rotation angle of the part from there is a contact edge switch. Therefore, A must sat-
the +X direction; initially θ =0 and at the final orien- isfied criteria 1 and 2 for the new contact edge. The
tation θ =θd . We say an edge ek is visible if it can be third criterion requires that A must make contact with
seen from +X direction; invisible, otherwise. the part.
We assume the part can be treated as a rigid ex- For example, we want to rotate a sample part 35º
trusion of a polygon; both the part and the jaws are for assembly. Figure 5 illustrates the toppling graph
rigid; part geometry and location of the COM are of the part given zA’ = 0.5cm. Note that H2 and J2
known; part motion is sufficiently slow to apply equal 0. We can see that A at zA = h 1 is unable to top-
quasi-static analysis. ple the part to the desired orientation because the line
goes under H3 after rotating to θ1 ; A at zA = h 2 is ca-
pable to perform the task. Notice that A switches con-
4. TOLERANCE ANALYSIS tact edge from e2 to e1 at θ2 .
Given zA’, the toppling graph allows us to find
The tolerance analysis is a combination of toppling, the feasible range of zA such that the corresponding A
motion trajectory, and form-closure study. and A’ can rotate the part from the resting orientation
to the desired orientation.
4.1 Toppling graph
Our analysis involves the graphical construction 4.2 Trajectory analysis
of a set of shape functions that represent the mechan- To ensure no portion of the jaw blocks the part
ics of grasping. All of these functions are piecewise rotation, we define quasi-vertex functions to represent
sinusoidal and dependent on θ. They map from part the motion trajectory of vertices.
orientation to height: S1 →ℜℜ +, where S1 is the set of The part performs both rotation and linear trans-
planar orientations. The shape functions include ver- lation during toppling. We decompose the part mo-
tion into pure rotation and pure translation. The part
tex functions Vj (θ), toppling functions Hj (θ), and
first rotates about pivot point P to semi-position, and
jamming functions Jj (θ).
then translates to actual-position. Let (θ xj , θ zj ) and (θ
x’j , θ z’j ) denote the actual-position and the semi-
J3 Z position of vertex vj after the part is toppled by θ,
respectively. Let (d xj , d zj ) and (d x’j , d z’j ) denote the
V5 V4 actual-position and the semi-position of vertex vj after
H3 V3
80 h1 the part is toppled to its desired orientation, respec-
θ1
V2 tively. Let θxt and d xt denote the distance between the
H1 θ2 actual-position and the semi-position of any point
40 h2
after the part is toppled by θ and θd , respectively. To
obtain a quasi-vertex function, we define a frame of
0 30 60
J1 -
θ reference Fj at the desired orientation of the part
originating at vj . The Z-axis of Fj is the interior nor-
mal of edge e( j-1), and the X-axis is on edge e( j-1) obey-
Figure 5 Toppling Graph. ing the right-hand rule.
Given zA , the quasi-vertex function Qjk(θ, zA ) in-
The toppling graph, which consists of these dicates the location of vk in Fj as the part rotates,
shape functions, helps us to identify the range of the which can be shown to be:
contact permits toppling. Each function represents a
particular property of the part, and the graph de-
Qjk(θ) = x Q jk (θ, z A )
scribes properties of the part during grasping. Q (θ, z )
z jk A
=
( θ x' k −d x' j +θ xt − d xt ) cos(ψ j −1 + θd ) +( θ z 'k − d z ' j ) sin(ψj −1 + θd ) equivalent to solve a system of equations and can be
done in O(n 3 ).
−( θ x' k −d x' j +θ xt − d xt ) sin(ψj −1 + θd ) +( θ z 'k − d z ' j ) cos(ψj −1 + θd ) Second, we need to test if J is able to rotate the
part to the desired final orientation.
#4 Since the part is rolled by the pushing contact
and the toppling contact, we need to identify these
d x' j x j cosθ d − z j sinθ d two points. These two contacts are only vertices that
where 0 = 0 , keep touch with the part during the toppling phase.
This can be done easily in time O(n).
d z' j x j sinθ d + z j cosθ d
Known the height of the pushing contact zA’, we
1 1 construct the corresponding toppling graph. If h = zA
satisfies inequality #1 ~ #3, the pair of A and A’ can
( z A − d z ' m )(d x ' m +1 − d x ' m ) rotate the part to the final orientation. Since the time
d xt = xA - - d x’m if d z’m <
to obtain a toppling graph is O(n), this step takes
d z ' m+ 1 − d z ' m
O(n).
zA < d z’m+1 , Finally, we need to consider if any portion of J
will block the part’s trajectory.
( z A −θ z ' l )(θ x' l + 1 −θ x ' l ) - x’ if z’ <
and θ xt = xA - θ l θ l
θ z ' l +1 − θ z ' l z x
zA < θ z’l+1 .