local dexterity analysis for open kinematic chains
TRANSCRIPT
1
LOCAL DEXTERITY ANALYSIS FOR OPEN KINEMATICCHAINS
K. A. ABDEL-MALEK AND H. J. YEHDepartment of Mechanical Engineering and Center for Computer Aided Design, The University of
Iowa, Iowa City, IA 52242, U.S.A.
AbstractTwo methods for determining dexterity of manipulator arms are presented. A numerical method isillustrated for determining all possible orientations of the end-effector of an open kinematic chain basedupon a row-rank deficiency of the sub-Jacobian of the kinematic constraint equations. This numericalmethod has been adapted from a theory for determining the accessible output set for planar and spatialmanipulators. Boundaries of regions representing orientation solutions are mapped using continuationalgorithms. One dimensional curves in three dimensional space are traced. Orientations of themanipulator end-effector at a point are studied (local dexterity). Only local dexterity solutions can befound. A second analytical method is also presented that determines the global dexterity of the system.This method relies upon determining all singularities of the system and identifying singular surfacesand singular curves. Regions of singular surfaces that are boundary are identified and intersected with aservice sphere. This method, however, although analytical and accurate, has many limitations. The twomethods are compared via implementation into a six degree of freedom manipulator.
1 . INTRODUCTIONWorkspaces of robotic manipulators are important characteristics associated with the kinematics of theunderlying mechanism. Knowledge of the workspace allows a designer to better understand themanipulator’s functionality. The notion of workspaces has been studied by a number of researchers inthe past [1-5]. Analytical conditions were used to obtain the workspace by Tsai and Soni [6], Yang andLee [7], Lai and Menq [8], Freudenstein and Primrose [9], and Spanos and Kohli [10]. Numericalmethods were also used by Haug et al. [11]. The general four degree of freedom revolute manipulatorhas been studied by Cecarelli and Vinciquerra [12]. Workspace of parallel manipulators has also beenstudied [13,4,14].
The dexterous workspace has been defined by Kumar and Waldron [15] as the subspace of theworkspace within which a vector on the end-effector may assume all orientations. Because of jointlimits and geometric constraints (e.g., at workspace boundaries), the dexterous workspace may notinclude all of the workspace. The subject of dexterity and orientability has also been studied bynumerous researchers in the field [15-17].
This paper introduces two methods for determining dexterity. A numerical method based upon criteriafor determining the accessible output set [11] was adapted to determine local dexterity. Localdexterity will be further clarified in the following section. Due to its inherent numerical formulation(using continuation methods), it will be shown that this method can only find local dexterity. It will alsobe shown that this numerical method is dependent upon the determination of a starting point on the one-dimensional curve defining the region of dexterity (called the service region). Therefore, only individualregions can be traced. Another method for determining the workspace of manipulators presented byAbdel-Malek and Yeh [18] will be used to determine global dexterity. This method will be shown to be
Abdel-Malek, K. and Yeh, H. J., (2000) "Local Dexterity Analysis for OpenKinematic Chains," Mechanism and Machine Theory, Vol. 35, pp. 131-154.
2
efficient in terms of determining service regions indicating dexterity. Difficulties encountered in bothmethods will be discussed.
2. LOCAL DEXTERITY, PART IDexterity, as used in the context of this paper, is all possible orientations for the end-effector at aspecified point in the workspace. A sphere located at this point may be used to detect all penetrations ofthe end-effector through it. This sphere was called the service sphere by Vinagradov [19]. The set ofpoints on the sphere that are due to these penetrations are collectively called a service region whichrepresents the local dexterity of a manipulator. At a specific point in the workspace, a service spheremay have a number of service regions. Determining all service regions means addressing the globaldexterity of the system at a point.
For example, consider the n-degree-of-freedom manipulator shown in Fig. 1a. At a point
p = x y zT* * * in the workspace, the service sphere is located with radius equal to the dimension
of the nth link. The vector joining the point g with p defines the orientation of the end-effector. Thus,the regions that g assumes on the surface of the sphere provide an indication of the dexterity of themanipulator at p.
The first formulation is aimed at determining the boundary curves to these service regions. For an
assembled configuration, the generalized coordinates q = q qn
T
1,..., satisfy independent holonomic
kinematic constraint equations of the form
Φ Px
y
y
P x
P y
P z
( )
( )
( )
*
*
*
q
q
q
0
−−−
= (1)
where P P Px y z
T( ) ( ) ( )q q q is the position vector of the point p described using the Denavit-
Hartenberg representation [20].
In order to include inequality constraints into the constraint equation, inequalities imposed on joint limitsin the form of
q q qi i im in m ax≤ ≤ (2)
are parametrized asq a bi i i i= + sin λ (3)
where ( )a q qi i i= +max min 2 and ( )b q qi i i= −max min 2 are the mid point and half range of the
inequality constraint. The vector of new generalized coordinates are λ = λ λ1,..., n
T.
A service sphere at p, parametrized in terms of output coordinates u = θ ϕ T can be written as
x u
q
q
qsphere
x
y
z
P r
P r
P r
( )
( ) cos cos
( ) cos sin
( ) sin
=++
+
φ θφ θ
φ(4)
where r is the radius of the service sphere. The vector pg , where g = g g gx y z
T is a point
chosen on the n-th link, can be written in terms of the spherical coordinates as
3
g P
g P
g P
r
r
r
x x
y y
z z
( ) ( )
( ) ( )
( ) ( )
cos cos
cos sin
sin
q q
q q
q q
−−−
=
φ θφ θ
φ(5)
The point g can exist on the surface of a sphere rotating with center at p. Since r is a known constant,only two of the three equations (Eq. 5) are needed to determine the spherical coordinates θ φ and .
Combining Eq. (11), two of Eqs. (5), the sphere angle constraints θ φ and , and the parametrized joint
limits, the vector equations of constraint are written as
Φ µ( )
( )
( )
( )
( ) ( ) cos cos
( ) ( ) cos sin
( sin )
( sin )
( sin )
( sin )
*
*
*
=
−−−
− −− −− +
− +
− +
− +
=
P x
P y
P z
g P r
g P r
q a b
q a b
x
y
z
x x
y y
n n n n
q
q
q
q q
q q0
φ θφ θ
θ π π λ
φ π λλ
λ
1
2
1 1 1 3
02
(6)
where µ = λu qT T T T. The constraint vector function Φ µ( ) has 5 2 7+ + = +n n( )
constraints. Define a service region on the sphere as
{ }A for some and ≡ =u 0 q: ( ) ,Φ µ λ (7)
It has been shown [11, 17] that the boundary of the workspace (called the accessible output set) ischaracterized by a row-rank deficiency of the sub-Jacobian of the kinematic constraint Φw . In the
formulation presented in this paper, a similar criteria is used for the boundary curves of service regions.The boundary of the service region is defined as
{ }∂A A Rank for some with ⊂ ∈ < +u w u w 0w: ( ),Φ Φ( , ) =n 7 (8)
where w q= λ Tis n n n+ + = +2 2 2( ) and the Jacobian of the constraint function at an
assembled configuration q0 is the matrix
( )Φ Φw q q( )0 0=
∂∂
i
jw(9)
The criteria for the boundary curve of the service region can be reduced to analytical form by notingthat the matrix is row-rank deficient if and only if its rows are linearly dependent [11]. This can be
done by searching for a solution for the vector γ in Φ =Τγw 0 , where γ has dimension (n+7). A
necessary condition for determining the boundary of the service region is
{ }∂A A: ⊂ ∈ =u 0 u w 0wΦ = Φ( , ) =Τ Τγ γ γ, ,1 (10)
4
To project the solution onto a nonlinear one degree of freedom system, the matrix G x*( ) is formed
(Eqs. 6 and 10) such that a solution is computed for
G x
u w
0w* ( ) ≡
=−
Φ( , )Φ Τ
Τ
γγ γ 1
(11)
where x u w= T T T Tγ . The constraint vector function Φ( , )u w has ( )n + 7 equations, ΦΤγw
has ( )2 2n + equations, and γ γΤ −1 has 1 equation. The total number of equations is ( )3 10n + .
The dimension of the new vector of generalized coordinates x is 2 2 2 7 3 11+ + + + = +( ) ( )n n n .
Thus, this is a one degree-of-freedom system.
At an initial configuration having the end-effector point p located at the target position x y zT* * * ,
the initial set of coordinates u qo o o Tλ satisfying the constraints Φ µ( ) of Eq.(6) can be
calculated. In this configuration, the wrist point g q( )o may be located inside the service region. To
compute a point near the boundary, the point g is ‘dragged’ along a direction vector until it reaches theboundary. This dragging procedure can be achieved by iteratively increasing the coordinates θ φ or in
small stepsizes and using the modified Newton-Raphson method with the Moore-Penrose pseudo inverseto obtain a corrected configuration. The pseudo inverse method is used because the dimension of the
vector [ ]µ = λu qT T T T is ( )2 4n + which yields a nonsquare Jacobian matrix.
In order to numerically trace the solution curve of Eq. (11), it is first necessary to find a starting pointon the curve. In order to obtain a solution to
Φ µ Φ)µ ∆ = −( (12)
the problem can be written as
( )∆µ Φ Φ Φ Φ)µ µ µ= −−
T T1
( (13)
and computed as
µ µ µi i i+ = +1 ∆ (14)
where the coefficient ( )Φ Φ Φµ µ µT T
−1
is called the Moore-Penrose pseudo inverse [21]. Thus given an
initial guess q1 , the Moore-Penrose pseudo inverse computes a starting point q* on the boundary
curve. Once a point close to the boundary is computed, the boundary constraints G x*( ) and the new
coordinates x with another modified Newton-Raphson iteration with pseudo inverse are used todetermine a point x on the boundary.
The boundary of the service region is traced using an experimental numerical code (called PITCON)based on the continuation method presented by Rheinboldt [22]. This method can be written as anequation of constraint
G x h x 0x ( ) ( ) = (15)
where h x( ) is uniquely defined by Eq. (15) and
h x h x( ) ( )T = 1 (16)
5
Det T
G w
h ww ( )
( )
> 0 (17)
It should be emphasized that only one boundary curve is traced for each starting point. Although wehave been able to determine many starting points through trial and error, we have not been able toanalytically determine all starting points. Neither have we been able to conclude the number of serviceregions.
3. EXAMPLE USING PART IConsider the six degree-of-freedom manipulator depicted in Fig. (2), with the following geometryd1 50= , d3 10= , d4 25= , d6 10= , and a2 20= . The manipulator comprises six revolute joints.
Using the Denavit-Hartenberg representation method [20], the ( )4 4× homogeneous transformation
matrices are formulated for each joint as
01
1 1
1 1
0 0
0 0
0 1 0 50
0 0 0 1
T =−
cos sin
sin cos
q q
q q, 1
2
2 2 2
2 2 2
0 20
0 20
0 1 0 0
0 0 0 1
T =
−
−
cos sin cos
sin cos sin
q q q
q q q
23
3 3
3 3
0 0
0 0
0 1 1 10
0 0 0 1
T =−
−
sin cos
cos sin
q q
q q , 34
4 4
4 4
4
0 0
0 0
0 1 0
0 0 0 1
T =−
cos sin
sin cos
q q
q q
d
45
5 5
5 5
0 0
0 0
0 1 0 0
0 0 0 1
T =
−
−
cos sin
sin cos
q q
q q, and 5
6
6 6
6 6
6
0 0
0 0
0 0 1
0 0 0 1
T =
−
cos sin
sin cos
q q
q q
d
The resultant transformation matrix relating the end-effector reference frame to the zeroth referenceframe is
06
1
0
6 06
06
1T T
R q p q
0= =
−
=∏ i
ii
( ) ( )(18)
where p q q q q( ) ( ) ( ) ( )= P P Px y z
T. Similarly, the coordinates of the point g can be determined
as
05
1
0
5 05
1T T
R q g q
0= =
−
=∏ i
ii
( ) ( )(19)
To compare this method with that presented in the following section, inequality constraints imposed onlyon the first three joints will be considered. The following inequality constraints
− ≤ ≤π π4
5
41q (20)
− ≤ ≤π π4 22q (21)
0 23≤ ≤q π (22)
are parametrized according to Eq. (3) as
6
q b c1 1 1 1 12
3
4= + = +sin sinλ π π λ (23)
q b c2 2 2 2 28
3
8= + = +sin sinλ π π λ (24)
q b c3 3 3 3 3= + = +sin sinλ π π λ (25)
At a point p* = −0 25 55T
, a service sphere is located and the constraint equation is
( ) ( )( ) ( )
Φ λ( , , )
( )
( )
( )
( ) ( ) cos cos
( ) ( ) cos sin
( sin )
( sin )
sin
sin
sin
u q
q
q
q
q q
q q0=
−+−
− −− −− +
− +
− −− −
− −
=
P
P
P
g P r
g P r
q
q
q
x
y
z
x x
y y
0
25
55
02
2 3 4
8 3 8
1
2
1 3
2 4
3 3
φ θφ θ
θ π π λ
φ π λ
π π λπ π λ
π π λ
(26)
The boundary curve is traced in Fig. (3). This curve is the boundary to a single service region on theservice sphere. The significance of this curve will become apparent in the following section. Singularbifurcation points may occur during tracing and the numerical code (PITCON) may stop. It issuggested that higher-order singularities exist at these points. This problem was not addressed in thiswork. First order singularities have been discussed by Abdel-Malek and Yeh [18] and a method forcomputing tangents at bifurcation points has been demonstrated.
4. DETERMINING LOCAL DEXTERITY, PART IIThe method presented in this section will employ a singularity criteria of the Jacobian. Due to itsanalytical formulation, the method is only valid for manipulators having spherical wrists. Themanipulator will be segmented into two parts. The first part comprises the first three links and thesecond part comprises the last three links. The workspace for each segment will be determined.Surfaces that are boundary to the workspace generated by a point on the first segment (called the wristpoint) will be analytically determined.
At a point p* in the workspace, the service sphere is located. The intersection of the service sphere
with the boundary to the wrist workspace results in service regions. Service regions due to the secondsegment will be determined. For the first segment, the vector function describing the coordinates of apoint on the third link (called the wrist point) can be written as
x q R q x p q( ) ( ) ( )= +03
3 03w (27)
where q = q q qT
1 2 3 , 03R is the ( )3 3× rotation matrix, 3x w is the vector describing the wrist
point resolved in the reference frame of link 3, and 03p is the position vector determined from 0
3T (Eq.
7
8). At a certain position in space, the generalized coordinates satisfy independent holonomic kinematicconstraint equations of the form
Λ( ) =q x q R q x p q 0( ) ( ) ( )− − =03
3 03w (28)
Method II is applicable to manipulators having up to 6 axes with revolute and prismatic joints.
Define a singularity qs as the value of a generalized coordinate that causes the mechanism to lose at
least one degree of mobility [23]. Singularities of mechanisms were defined [11] as the values thatmake the Jacobian singular. A Jacobian of the constraint function can be determined as
Λ ( ) =Λ
( )q qq
q∂∂
i
j
(29)
To take into consideration the effect of inequality constraints in the parametrized formq a bi ii i= + sin λ (30)
The Jacobian with respect to the new generalized coordinates can be written as
Λ ( ) =Λ
( ) Λ ( )λ λ∂∂
∂∂λq
q
qq q qq
i
j
j
k
= (31)
Singularities are determined by equating the determinant of Λ ( )λ q to zero such that
F(λ) = Λ qq 0λ = (32)
Solutions to Eq. (32) are values for λ that are substituted into Eq. (30) to obtain first-order
singularities in terms of the generalized coordinates q. These singularities will be denoted by q jsi ,
where the subscript indicates the joint number and the superscript indicates the number of that
singularity. For example, q s2
3 indicates the third singularity of the second joint.
Substituting the set of singularities into the wrist position vector (Eq. 27) yields a vector describing aparametrized surface in two variables.
x R x p( | , ) ( , ) ( , )q u v u v u vis
wj = +0
33 0
3 (33)
where the notation x( | , )q u vis j indicates the vector function x evaluated at the singularity qi
sj and
parametrized in terms of u and v. Inequality constraints imposed on the joint variables u and v are
u u umin max≤ ≤ and v v vmin max≤ ≤ (34)Singular surfaces defined by Eq. (33) may exist on the boundary to the wrist workspace, internal to it,or both. In order to determine regions of the surface that are boundary to the wrist workspace, singularsurfaces are intersected. The intersection of two singular surfaces yields singular curves. Definesingular curves as trajectories of the wrist point at which the mechanism loses two or more degrees ofmobility. Since resulting singular surfaces may be complicated, the intersection cannot be determinedanalytically. Numerical methods are necessary to trace the intersection curve. The intersection problemmay be considered as solving the system of seven non-linear equations with eight variables where theconstraint function H( )ζ is
8
[ ][ ][ ][ ]
H
x x
0( )
( | , ) ( | , )
( ) sin( ) ( )
( ) sin( ) ( )
( ) sin( ) ( )
( ) sin( ) ( )
ζ =
−− + + −− + + −− + + −− + + −
=
1 2
1 2 1 2 1
1 2 2 2 1
1 2 3 2 1
1 2 4 2 1
2 2
2 2
2 2
2 2
q u v q s t
u u u u u
v v v v v
s s s s s
t t t t t
js
msi k
λλλλ
(35)
where ζ = u v s tTλ λ λ λ1 2 3 4 and the inequality constraints associated with each
surface were parametrized per Eq. (3). The Jacobian of the constraint function H( )ζ for a certain
configuration ζ1 is the ( 3 3× ) matrix
HH
ζ1 1ζ
ζζ( () )=
∂∂
i
j
(36)
To satisfy the constraint equation, an algorithm similar to Newton-Raphson iteration method isemployed, as follows:
H Hζ ζ∆ = − (37)
The Moore-Penrose inverse is used again to determine a starting point ζ∗ on the intersection curve.
4.1. Determining the boundary to the wrist workspaceOnce a starting point is found, the intersection curve is traced along the tangent direction by using theso-called marching method [24]. The tangent vector at the starting point can be computed by
calculating the cross product of two normal vectors. At a known point on the surface x1( | , )q u visj ,
there are two linearly independent tangents which are the derivatives of the surface with respect to its
parameters. Let xu1 denote the derivative of x1 with respect to u and xv
1 denote the derivative of x1
with respect to v. The cross product of these vectors result in a normal to the surface such that
( )n x x x x1 1 1 1 1= × ×u v u v/ (38)
Similarly, the second surface has a normal such that
( )n x x x x2 2 2 2 2= × ×s t s t/ (39)
and the tangent τ is computed as
τ = ×n n1 2 (40)The new step constraint equation can be written as
[ ( , ) ]x x1 u v co− ⋅ τ − = 0 (41)
where xo is the computed point, and c is the step size.
To determine other intersection branches, singular behavior along the curve is studied. Allgower andGeorg [21] suggest monitoring the curve for a change in sign of the following determinant
det( ( )
( )
Hζ τ )τ
σσ
(42)
where σ is the arc length. Thus, to recognize that a singularity has occurred, Eq. (42) is used with adiminishing step variable until the singular point is computed. To trace the second curve, it is necessaryto compute the second tangent at this bifurcation point. For this reason, it is assumed that the surfacesare tangent at the bifurcation point such that
9
x x x x 0u v s t1 1 2 2× × ≠/ / (43)
Lucaks [25] showed that a branch of a curve can be parametrized in terms of its arc length σ as
r x x( ) ( ( ), ( )) ( ( ), ( ))σ σ σ σ σ= =1 2u v s t (44)
Taking the derivative of both sides of Eq. (44) with respect to σ yields the tangent vector∂∂σ σ σ σ σ
rx x x x= + = +u v s tu v s t1 1 2 2( ) ( ) ( ) ( ) (45)
Multiplying vectorially by xq1
1 we get
( ) ( ) ( )x x x x x xu v u s u tv s t1 1 1 2 1 2× ⋅ = × ⋅ + × ⋅( ) ( ) ( )σ σ σ (46)
Dividing by x xu v1 1× yields
( ) ( ) ( )s u vσ σ σα β= + (47)
( ) ( ) ( )t u vσ σ σγ δ= + (48)
whereαδ βγ− ≠ 0 (49)
Derive both sides of Eqs. (45) and (46) again yields
x x x x xuu uv vv u vu u v v u v1 2 1 1 2 1 12( ) ( ) ( ) ( ) ( ) ( )σ σ σ σ σσ σσ+ + + + = (50)
x x x x xss st tt t ts s s t t t2 2 2 2 2 2 22( ) ( ) ( ) ( ) ( ) ( )σ σ σ σ σσ σσ+ + + + (51)
Using the dot product of n in both sides of Eqs. (30) and (31), yields
< > + < > + < > =x n x n x nuu uu vvu u v v1 2 1 1 22, ( ) , ( ) ( ) , ( )σ σ σ σ (52)
< > + < > + < >x n x n x nss st tts s t t2 2 2 2 22, ( ) , ( ) ( ) , ( )σ σ σ σ (53)
Substituting Eq. (47) and Eq. (48) into Eq. (52) and Eq. (53) yields the following relation
θ µ κσ σ σ σ( ) ( ) ( ) ( )u u v v2 2
2 0+ + = (54)
which is a quadratic form that can be written as
[ ]( ) ( )( )
( )u v
u
vσ σσ
σ
θ µµ κ
= 0 (55)
The eigenvalues of the above system are computed as
λθ κ θ κ
µ1
22
2 2=
++
−
+ (56)
λθ κ θ κ
µ2
22
2 2=
+−
−
+ (57)
Therefore the solution in the neighborhood of a singular point depends on the definiteness of thequadratic form. Furthermore, the two vectors defining the tangent directions are the correspondingeigenvectors. Vectors in the tangent directions v1 and v2 are determined such that
τ1 = − +λ λ2 1 1 2v v (58)
τ 2 = − −λ λ2 1 1 2v v (59)
4.2. Perturbation methodIt remains to determine whether these sub-surfaces are internal or boundary surfaces. This can beperformed by perturbing a known point on the sub-surface and determining whether both perturbedpoints satisfy the constraint equation. Any point can be chosen, provided that it is not on the boundary
10
of the sub-surface. For a sub-surface Ψ ζ)i ( having a known parametrization and a known boundary,
the partial derivatives with respect to the parametrization variables q1 and q2 are ∂ ∂Ψ i q1 and
∂ ∂Ψ i q2 . At any regular point qo on the sub-surface, these vectors are linearly independent and
tangent to the coordinate curves through qo (they span the tangent plane of Ψ i ( )q at qo ). The unit
vector $n , which is orthogonal to those vectors, is
$ ( )n qo
i i
i i
q q
q q
=×
×
∂∂
∂∂
∂∂
∂∂
Ψ Ψ
Ψ Ψ1 2
1 2
(60)
For a small perturbation ∂ε about the point qo and along the normal $ ( )n qo , the coordinates of the
perturbed points are
x q q n q1 2, ( ) ( ) $ ( )o i o o= ±Ψ ∂ε (61)
If the perturbed point is inside the wrist workspace, it has to satisfy the constraint equation (Eq. 28),subject to inequality constraints of Eq. (30). Substituting Eq. (61) into Eq. (28) and augmenting thesystem of equations with the parametrized inequality constraints, the perturbed point is inside the wristworkspace if there exists a solution to the following system of equations:
03
3 03
1 1 1 1
2 2 2 2
3 3 3 3
R x p q n q
0
wi o o
q b c
q b c
q b c
+ −− −− −− −
=
Ψ ( ) $ ( )
sin
sin
sin
m∂ελλλ
(62)
Finding solutions to Eq. (62) indicates that the sub-surface is internal. Thus, a sub-surface Ψ i ( )q is
internal if and only if there exists a solution for Eq. (62) for both perturbations ±∂ε . Sub-surfacesthat are boundary to the wrist workspace are used to construct the boundary to the wrist workspace.
4.3. Determining service regions
At a point p* in the workspace, the service sphere is centered. The maximum distance between a point
on the end-effector and the wrist point is assigned to be the radius of the service sphere. Therefore, thewrist point may assume position on the surface of the sphere.
Analytical boundaries to the wrist workspace have been determined in the foregoing discussion. Theintersection of the service sphere with the boundary to the workspace yields regions that are accessibleby the wrist point. These service regions are further restricted by joint limits imposed on the secondsegment of the manipulator. These limits have been discussed in recent work [18] and will not bediscussed in this paper. Therefore, only inequality constraints associated with the first three joints willbe considered. The service region SRi ( , )p q is a set that exists on the surface of the service sphere such
that
{ }SR u v for somei ss( , ) ( , ) ,p q x 0 q= = (63)
where the sphere is parametrized as x pss
Tu v h v u h v u h v( , ) cos cos cos sin sin*= + , and
belongs to the wrist workspace such that
{ }SR for somei ( , ) ( ) ,p q q 0 q= =Φ (64)
11
Since the boundary of the wrist workspace has been analytically determined, it is possible to intersecteach boundary sub-surface with the service sphere to determine curves that are boundary to serviceregions. To determine whether the service region is enclosed by the intersecting curve or lies outside it,a ray is cast in the direction of the normal passing through p. The ray will intersect the sphere in twopoints s1 and s2 . The service region is identified by determining which of these points satisfies the
local constraint equation. A local constraint equation accounts for the inequality constraint associatedwith the singularity of the sub-surface. The intersection curve is the set of solutions to Λ1 , such that
ΛΨ
1 =−
− −
=
iss
i i i i
u v
q a b
( ) ( , )
sin
q x0
λ(65)
The service region is identified by determining one of the points on the ray satisfying the following
ΛΨ
2 =+ −
− −
=i
ss
local
t u v
q a b
( ) $ ( ) ( , )
sin
q n p x0
λ(66)
Numerical solutions to Eq. (66) are obtained.
5. EXAMPLE USING PART IIConsider the six degree-of-freedom used in demonstrating part I of this paper (Fig. 1). Consider thefirst three joints as being segment number 1 responsible for locating the wrist point w. Boundary
surfaces to the wrist workspace for the wrist point at 340 0xw
Td= will be studied.
The vector function describing the position of the wrist point is
x q x( )
cos cos cos sin sin cos sin cos cos
sin cos cos cos sin sin sin sin cos
sin cos cos sin
= =− − ++ − +
+ + +
03
1 2 3 1 3 1 2 1 2
1 2 3 1 3 1 2 1 2
2 3 2 2
10 10 10 20
10 10 10 20
10 10 20 50
q q q q q q q q q
q q q q q q q q q
q q q q
(67)
For a general point x = x y zT
on link 3 of the manipulator, the independent holonomic constraint
equations are
Λ( )
cos cos cos sin sin cos sin cos cos
sin cos cos cos sin sin sin sin cos
sin cos cos sin
q 0=− + + −− − + −
− − − −
=x q q q q q q q q q
y q q q q q q q q q
z q q q q
10 10 10 20
10 10 10 20
10 10 20 50
1 2 3 1 3 1 2 1 2
1 2 3 1 3 1 2 1 2
2 3 2 2
(68)subject to the following joint limits
− ≤ ≤π π4
5
41q , − ≤ ≤π π4 22q , and 0 23≤ ≤q π (69)
which are parametrized in Eqs. (23-25). To evaluate the Jacobian with respect to the new generalizedcoordinates λ i , the matrices Λq and qλ are evaluated such that
Λq =− − + −
− − +
10 10 10 20
10 10 10 20
0
1 2 3 1 3 1 2 1 2
1 2 3 1 3 1 2 1 2
sin cos cos cos sin sin sin sin cos
cos cos cos sin sin cos sin cos cos
q q q q q q q q q
q q q q q q q q q
− − − − −− − − − +
− + −
10 10 20 10 10
10 10 20 10 10
10 10 20 10
1 2 3 1 2 1 2 1 2 3 1 3
1 2 3 1 2 1 2 1 2 3 1 3
2 3 2 2 2 3
cos sin cos cos cos cos sin cos cos sin sin cos
sin sin cos sin cos sin sin sin cos sin cos cos
cos cos sin cos sin sin
q q q q q q q q q q q q
q q q q q q q q q q q q
q q q q q q
(70)
12
qλ =
3
40 0
03
80
0 0
1
2
3
πλ
πλ
π λ
cos
cos
cos
(71)
5.1. Computing singularitiesInternal and boundary singularities are computed by evaluating the determinant of the Jacobian andequating to zero such that
Λ λqq = −1125 1 7 81 2 3 3( ) cos cos cos sin sinλ λ λ π λ
[ ]+ − + − − +
+ + −
−
( ( ) ) ( ) cos
sin( ( ) ) cos
sin sin4 2 1 1 1
3
81 1
3 8
81 2 1 4 2 1 4 2 3π λ λ λ
+ + − +
+ + − + −
( ( ) ) cos
sinsin ( ( ) )( ( ) ) sin
sin1 1
3
82 4 1 1 1
3
81 4 2
31 2 1 4 2π λ
π λπ λ
− − − −−
+ +
=(( ) ( ) ) sinsin sin
sinsin
sin1 13 8
8
3
801 2 3 4 2 3 2
3
λ λ π λπ λ (72)
subject to the inequalities of Eq. (69). Singularities are determined by finding the roots of Eq. (72).
For example, the term cosλ1 vanishes if λ π1 2= or λ π1 2= − . Substituting λ1 into Eq. (23)
results in qs1
1
4= − π
or q s1
25
4= π
. The other computed singularities are qs2
3
4= − π
, q s2
4
2= π
,
q s3
5 0= , , qs3
6 2= π , and qs3
7 = π . The total number of first-order singularities is seven. The
singularity qs3
7 = π , however, is inside the interval [ ]0 2π . Since both of the endpoints are
singularities, qs3
7 = π will not be considered. Singular surfaces are parametrized by substituting each
singularity into Eq. (67). Note, however, that some of these surfaces are boundary to the workspace,other surfaces are internal, and some surfaces have parts that are on the boundary and parts that are
internal. For example, substituting the singularity qs1
1
4= − π
into Eq. (67) yields the singular surface
parametrized as follows
( )( )x1
1 2 3
2 3 3 2 2
2 3 3 2 2
3 2 2 2
1
7 0711 7 0711 14 1421
7 0711 7 0711 14 1421
10 10 20 50
( | , )
. cos cos . sin sin . cos
. cos cos . sin sin . cos
cos sin cos sin
q q q
q q q q q
q q q q q
q q q q
s =+ − +
− + + −+ + +
(73)
with inequality constraints defined as 0 23≤ ≤q π and − ≤ ≤π π4 22q . Singular surface
x11 2 3
1( | , )q q qs is shown in Fig. 5a.
Substituting the singularity q s1
25
4= π
into Eq. (67) yields the singular surface
( )( )x2
1 2 3
3 2 3 2 2
3 2 3 2 2
3 2 2 2
2
7 0711 7 0711 141421
7 0711 7 0711 141421
10 10 20 50
( | , )
. cos cos . sin sin . cos
. cos cos . sin sin . cos
cos sin cos sin
q q q
q q q q q
q q q q q
q q q q
s =− + + −− − − −
+ + +
(74)
13
with inequality constraints as 0 23≤ ≤q π and − ≤ ≤π π4 22q . The singular surface
x21 2 3
2( | , )q q qs is shown in Fig. 5b. Singular surfaces due to the singularities q s3
5 0= , qs3
6 2= π ,
qs2
3
4= − π
, and q s2
4
2= π
are depicted in Fig. 6a, b, c, and d, respectively.
5.2. Determining sub-surfacesSingular surfaces are divided into sub-surfaces by computing curves of intersection between them.Once these curves are determined and projected onto their respective parametric space of two variables,each region representing a sub-surface is studied for existence on the boundary of the workspace. Toillustrate the determination of sub-surfaces, consider the intersection of the two surfaces
x x11 2 3
11( | , ) ( , )q q q u vs = and x x21 2 3
22( | , ) ( , )q q q s ts = , where the parameters have been replaced by
u,v,s, and t for simplicity. The constraint matrix (Eq. 35) can be written as
H
x x
0( )
( , ) ( , )
sin
sin
sin
sin
ζ =
−
− −
− −
− −
− −
=
1 2
1
2
3
4
2
3
4
8
3
8
2
3
4
8
3
8
u v s t
u
v
s
t
π πλ
π πλ
π πλ
π πλ
(75)
The starting point ζ* computed using the Moore-Penrose pseudo inverse is
ζ* . . . . . . . .= −0 6184 34086 0 6184 2 8745 01928 0 0851 01928 0851 . Using ζ* as a
starting point, the algorithm for mapping marching curves is employed to continue tracing the curves.As the curve is being traced, the determinant of the sub-Jacobian changes signs and a bifurcation pointis encountered at
ζo = 0 7854 31416 0 7854 31416. . . . 0 3398 08306 10 0 3398 08306 109 9. . . .× − ×− − .
The matrix of the quadratic equation (Eq. 35) is computed as
Λ =θ µµ κ
=
−
14 1421 0 6830
0 6830 28 2843
. .
. .(76)
The eigenvalues of the quadratic equation are λ1 141421= . and λ 2 28 2843= − . . The first
eigenvector due to the first eigenvalue is v1810000 016099 10= × −. .
T, while the second
eigenvector due to the second eigenvalue is v28016099 10 10000= − × −. .
T. To compute the
tangents at the bifurcation point, a combination of the eigenvectors is used such that
τ12 1 1 2 5 3182 37606= − + = −λ λv v . .
T(77)
τ22 1 1 2 53182 3 7606= − − =λ λv v . .
T(78)
The normalized tangents computed in the parametric space at the bifurcation point are
τ1 08165 05773= . .T
and τ2 08165 0 5774= −. .T
. The resulting intersecting curves in the
parametric space are depicted in Fig. 7a, and depicted on the surfaces in Fig. 7b.
14
In addition to the intersection curves resulting from the intersection between x11 2 3
1( | , )q q qs and
x21 2 3
2( | , )q q qs , surface x11 2 3
1( | , )q q qs intersects with other singular surfaces. The computed
intersection curves due to other singular surfaces are superpositioned in Fig. 8. These four singular
curves ( c c c c1 2 3 4, , and ) partition surface x1 into twelve sub-surfaces.
To determine whether each sub-surface is a boundary or internal sub-surface to the wrist workspace, the
perturbation method (Eq. 61) is implemented. For example, consider the point p1( )q on the sub-
surface Ψ1 which has the set of generalized coordinates q2 0 4= . and q3 34= . . Note that the sub-
surface Ψ1 is defined as follows
( )( )Ψ1
2 3 3 2 2
2 3 3 3 2
2 3 2 2
7 0711 7 0711 14 1421
7 0711 7 0711 141421
10 10 20 50
=+ − +
− + + −+ + +
. cos cos . sin sin . cos
. cos cos . sin sin . cos
cos sin cos sin
q q q q q
q q q q q
q q q q
(79)
enclosed by the following boundary curve segments: c n n1 2 8 on the interval ,
c n n3 8 9 on the interval , and c n n4 9 2 on the interval (as illustrated in Fig. 8). To determine
the normal to Ψ1 using Eq. (60), partial derivatives representing tangent vectors are evaluated suchthat
∂∂ψ1
q
q q q q
q q q q
q q q q2
2 3 2 2
2 3 2 2
2 3 2 2
7 07 7 07 14 14
7 07 7 07 14 14
10 10 20
=− − −
+ +− +
. sin cos . cos . sin
. sin cos . cos . sin
cos cos sin cos
(80)
and
∂∂ψ1
q
q q q
q q q
q q3
2 3 3
2 3 3
2 3
7 07 7 07
7 07 7 07
10
=− +
+−
. cos sin . cos
. cos sin . cos
sin sin
(81)
The normal is computed
n = ×∂∂
∂∂
ψ ψ1 1
q q2 3
=
( )( )
( )=
−− − + −
−+ − − +
−− −
707
102
707
102
499849
5000
2 32
3 3 3 2 3 2 3
3 2 2 32
3 3 3 2 3
2 3 2 3 2 32
cos (cos ) sin cos sin sin cos cos cos
cos sin cos (cos ) sin cos sin cos cos
sin cos cos cos sin (cos )
q q q q q q q q q
q q q q q q q q q
q q q q q q
(82)
The unit normal $n n n= at the point qo on the sub-surface Ψ1 is evaluated
$ . . .n n n= = −0 098 0 452 0887T
(83)
For a small perturbation ∂ε = +01. , the coordinates of the perturbed point are computed as
x q n q1 6 513 1812 63418= Ψ i o o T( ) $ ( ) . . .+ = −∂ε (84)
15
Forming Eq. (62) with x1 and the inequalities of Eq. (69), there exists a solution such that the
generalized set is q = −2 321 1222 3502. . .T
. For a perturbation of ∂ε = −01. , the coordinates of
the perturbed point are
x q n q2 6 494 1721 63241= Ψ i o o T( ) $( ) . . .− = −∂ε (85)
and the solution for this position is the generalized set q = −2 393 1231 3463. . .T
. Thus, both
perturbation points are inside the wrist workspace which guarantees that this sub-surface is an internal
one. For sub-surface Ψ 2 , the point on this sub-surface is chosen as p2 ( )q which has coordinates
q2 10= . and q3 4 4= . . The unit normal $n n n= at this point on the sub-surface Ψ 2 is evaluated
as
$ . . .n n n= = 0 671 0 653 0 351T
(86)
For a small perturbation ∂ε = +01. , the coordinates of the perturbed point are
x q n q1 6 211 7 245 69 646= Ψ i o o T( ) $ ( ) . . .+ = − −∂ε (87)
For this point, a solution of Eq. (62) subject to inequality constraints of Eq. (69) can be found such that
the set of generalized coordinates is q = 2 276 1114 1882. . .T
. A solution, however, cannot be
found for −∂ε . This indicates that Ψ 2 is a boundary sub-surface to the wrist workspace. Using thismethod, boundary sub-surfaces of each singular surface are determined. These surfaces are depicted inFig. 9 . The volume enclosed by these surfaces is the wrist workspace. At the point
p* = −0 25 55T
, the sphere is located and intersected with the boundary to the wrist workspace.
Figure 10a depicts the sphere located at p* . The intersection of the sphere with the surfaces
x11 2 3
1( | , )q q qs and x21 2 3
2( | , )q q qs yields two sets of boundary that essentially are the service regions
(depicted in Fig. 10b).
6. CONCLUSIONSMethods for determining dexterity have been presented. Method I is a numerical formulation that hasbeen shown to work for any type of kinematic chain with various joint constraints. A vector constraintfunction is formulated to pose the problem in terms of a boundary curve to a service region. A serviceregion was shown as being an indication of the local dexterity of the manipulator.
Method I was shown to be efficient in determining a point on the curve that is boundary to a serviceregion within a few iterations. Numerical continuation methods were used to trace the boundary to theservice region based upon a row rank deficiency of the sub-Jacobian of the constraint function. Adeficiency of this method is in its inability to determine all service regions. Starting points computedusing the Moore-Penrose pseudo inverse cannot be found for all curves. Difficulties were encounteredin determining the number of existing service regions and therefore, the number of starting pointsrequired. The strength of this method is exhibited in its ability to account for all joint limits in a singleformulation.
Method II formulates the problem in terms of two manipulator segments. An analytical method fordetermining the boundary to the workspace of the first segment was presented. It was shown that usingthis method, first-order singularities are computed by studying the Jacobian’s singularity. It was alsoshown that surfaces where the manipulator looses one degree of freedom result from substituting thesesingularities into the constraint equation. Singular curves are then traced to partition singular surfaces
16
into sub-surfaces. Sub-surfaces that are boundary to the wrist workspace are then used to form theanalytical boundary. The service sphere is then intersected with the boundary to determine the serviceregions.
Because of the analytical results obtained in computing the wrist workspace, it is shown that all serviceregions are computed. Thus, the strength of method II are evident in determining the number of serviceregions existing on the service sphere. Joint limits imposed on the second segment of the manipulator,however, are more difficult to address.
7. REFERENCES1. B. Roth, NBS Special Publications, 459, (1975).2. A. Kumar, and K.J. Waldron, ASME Paper No. 80-DET, (1980).3. V. Kumar, 1985, Masters Thesis, The Ohio State University, (1985)4. C. Gosselin and J. Angeles, IEEE Trans. on Rob. and Auto., 6, (1990)5. D.M. Emiris, Mechanisms and Machine Theory, 28, (1993)6. Y.C. Tsai and A.H. Soni, J. of Mech. Design, 103, (1981).7. D.C.H. Yang and T.W. Lee, J. of Mech., Trans. and Auto. Design, 105 (1983).8. Z.C. Lai and A. Menq, IEEE J. Robotics and Automation, 4, (1988).9. F. Freudenstein and E.J. Primrose, J. of Mech., Trans., and Aut. in Des., 106, (1984)10. J. Spanos and D. Kohli, J. of Mech., Trans., and Aut. in Design, 107, (1985).11. E.J. Haug, C.M. Luh, F.A. Adkins, and J.Y. Wang, Proceedings of the 23rd ASME Mechanisms
Conference, Minneapolis, MN, (1994).12. M. Ceccarelli and A. Vinciguerra, Int. J. of Rob. Res., 14, No. 2, , (1995).13. S.K. Agrawal, Int. J. of Robotics and Automation, 7, (1990).14. G.R. Pennock and D.J. Kassner, ASME J. of Mech. Design, 115, (1993).15. A. Kumar and K.J. Walsdron, ASME J. of Mech. Design, 103, (1981).16. D.C.H. Yang and Z.C. Lai, Transactions of ASME, J.of Mech., Transm., and Automation in
Design, 107, (1985).17. J.Y. Wang and J.K. Wu, Mechanics of Structures and Machines, 21, (1993).18. K. Abdel-Malek and H.J. Yeh, Computer Aided Design,,(1995).19. I. Vinagradov (in Russian) Mexanika Mashin, 27-28, (1971).20. K.S. Fu, Gonzalez, and Lee, Robotics: Control, Sensing, Vision, And Intelligence, McGraw-Hill,
Inc., New York (1987).21. E.L. Allgower and K. Georg, Numerical Continuation Methods, Berlin: Springer-Verlag (1990).22. W.C. Rheinboldt, Numerical Analysis of Parametrized Nonlinear Equations, New York: John
Wiley and Sons, (1986).23. P.J. McKerrow, Introduction to Robotics, Addison Wesley, (1991).24. M.J. Pratt and A.D. Geisow, The Mathematics of Surfaces, (J. Gregory), Clarendon Press, Oxford,
(1986).25. G. Lucaks, The Mathematics of Surfaces, (J. Gregory), Clarendon Press, Oxford, (1990).
CAPTIONS TO FIGURESFigure 1 (a) A serial n-degree-of-freedom manipulator (b) The service sphere and region
17
Figure 2 A six degree-of-freedom manipulatorFigure 3 Boundary curve to a service regionFigure 4 (a) Intersection of singular surfaces (b) Partitioning of a surface to sub-surfaces
Figure 5 Singular surfaces (a) x11 2 3
1( | , )q q qs due to qs1
1 4= −π , (b) x21 2 3
2( | , )q q qs due to
q s1
2 5 4= π
Figure 6 Singular surfaces due to (a) qs3
2 0= , (b) q s3
5 = π , (c) qs2
3
4= − π
, and (d) q s2
4
2= π
Figure 7 Intersection Curves Between x1 and x2 (a) in the uv-space, (b) on the surfaces
Figure 8 Intersection curves dividing singular surface x1 into sub-surfacesFigure 9 Analytical surfaces that are boundary to the workspaceFigure 10 Service regions
18
plink 1
link (n-1)link n
p
rg
service sphere
service region
(a) (b)
Fig. 1 (a) A serial n-degree-of-freedom manipulator (b) The service sphere and region
19
z2
x3
z0
x2
(a)x0
y0z1
wz3
x4x5
x6
d6
a2
x1
d4
z4
z5
z6
z3
d1
d3
Fig. 2 A six degree-of-freedom manipulator
20
Figure 3 Boundary curve to a service region
21
n1
n2n3
x1
x2
x3
c2c1
c3
(a)(b)
singularcurves
Ψ1
Ψ4
Ψ2
Ψ3
subsurface
Fig. 4 (a) Intersection of singular surfaces (b) Partitioning of a surface to sub-surfaces
22
-20-10
0
10
-20
-10
0
10
40
50
60
70
80
-20-10
0
10
-20
-10
0
10
-100
1020
-20
-10
0
10
40
50
60
70
80
-100
1020
-20
-10
0
10
Fig. 5 (a) Singular surfaces (a) x11 2 3
1( | , )q q qs due to qs1
1 4= −π , (b) x21 2 3
2( | , )q q qs due to
q s1
2 5 4= π
-20
0
20
-20
0
20
40
50
60
70
80
-20
0
20
-20
0
20
-10
0
10 -10
0
1050
55
60
-10
0
10
(a) (b)Fig. 6 (continued) Singular surfaces due to first order singularities
23
-20
0
20 -20
0
204045
50
-20
0
20
-10
0
10
-10
0
10
60
65
70
75
80
-10
0
10
-10
0
10
(c) (d)Fig. 6 (continued) Singular surfaces due to first order singularities
Fig. 7 Intersection Curves Between x1 and x2 (a) in the uv-space, (b) on the surfaces
24
n9
n3
n8
n2
n4
n1
n6
r
por1
r2
Fig. 8 Intersection curves dividing singular surface x1 into sub-surfaces
25
-20
0
20
-20
0
20
40
50
60
70
80
-20
0
20
-20
0
20
Fig. 9 Analytical surfaces that are boundary to the workspace
-200
20-20
0
20
40
50
60
70
80
-200
20
Fig. 10 Service regions