Professional Documents
Culture Documents
1 s2.0 089571779090069Y Main
1 s2.0 089571779090069Y Main
00
Printed in Great Britain Pergamon Press plc
Abstract. A systematic and precise approach is developed for enumerating non-isomorphic kinematic
chains based on the theory of permutation groups. First, we define contracted link adjacency matrices
of kinematic chains, and elements in the matrices are separated into four sets. We then propose an
algorithm for assigning values to elements of these sets to generate non-isomorphic configurations
according to their permutation groups. As a result, the numbers of simple kinematic chains with up
to twelve links and seven degrees of freedom are listed.
INTRODUCTION
Number synthesis of kinematic cha.ins has been the subject of numerous studies for a long time.
They are based on intuition and ingenuity [1,2], Franke’s notation [3,4], Baranov trusses [5], Assur
group [6], graph theory [7-161, expansions from binary chains [17-201, base structures [21], and
others [22,23].
In the past years, a major problem encountered in kinematic number synthesis is the elimina-
tion of isomorphic chains. Various codes, such as characteristic polynomials [24-291, linkage path
codes [30], optimal code [31], min code [32], degree code [33], e t c., are used for this purpose after
kinematic chains are synthesized. In 1987, Tuttle and Peterson [21] applied the concept of sym-
metry group for generating non-isomorphic kinematic chains directly based on base structures.
However, this method needs to generate non-isomorphic base structures in advance.
The purpose of this paper is to propose an algorithm for generating kinematic chains with
required numbers of links and degrees of freedom based on permutation groups. This algorithm
has the advantage of avoiding the genera.t,ion of isomorphic configurations thoroughly in the
process. Here, a kinematic chain refers only to the one which is planar, with simple revolute
joints and without any rigid subchains.
The authors are thankful to National Science Council of the Republic of China for supporting this research under
Grant NSC79-0401-EOO608.
Typeset by AM-T&i
29
30 H.S. YAN, Y.W. HWANG
(a) (b)
Fig. 1. A (10,13) kinematic chain and its multiple and contracted links.
of joints incident between link i and link j, and its value is defined such that eij = w if link i
and link j are connected by w joints. Note that w can be 0, 1, or 2. The case of w = 2 happens
only in the condition that one of these two adja.cent links is a contracted link with three or more
binary links, the other one is a multiple link, and both ends of the contracted link are connected
to this multiple link. Without loss of generality, diagonal elements of a CLAM are rearranged
in a nonincreasing sequence by exchanging the order of links. For example, the CLAM of the
kinematic chain with ten links and thirteen joints shown in Figure l(a) is expressed as
4 1 0 11 1 0 1
1 4 1 0: 1 1 0
0 1 3 li 0 1 0
1 0 1 3: 0 0 1
CLAM =
.,.... ... ... .... ... ...
1 1 0 OI-2 0 0
0 1 1 oi o-2 0
_ 1 0 0 li 0 o-2
in which diagonal elements imply that the kinematic chain has two quarternary links (links 1
and 2), two ternary links (links 3 and 4), and three contracted links with two binary links (links
5, 6, and 7), as shown in Figure l(b).
For the sake of simplicity, we divide a CLAM into four submatrices, MM, MC, CM, and CC,
1
as follows:
A/lA4 i n4c
CLAll4 = ... .,. ...
[ CM i cc
MM is the upper-left square submatrix in t,he CLAM that expresses the configuration of mul-
tiple links. CC is the lower-right square submatrix in the CLAM that expresses the configuration
of contracted links. Note that the value of off-dia.gonal elements in CC matrix are always zero
because any two contracted links a.re nonadja.cent. A4C is the upper-right matrix in the CLAM
that indicates the adjacent rela.tion between multiple links and contracted links. CM is the
lower-left matrix in the CLAM that is a transpose matrix of the MC matrix.
Number synthesis of kinematic chains 31
Link assortments(LA)
Contracted link
assortments (CA)
Incident joint
sequences (I j)
MM matrices
MC matrices
ENUMERATING ALGORITHM
Since a CLAM represents the topological structure of a kinematic chain, the enumeration of
kinematic chains can be achieved by constructing all possible CLAMS. In the following, we
describe briefly the algorithm for construction steps of all non-isomorphic CLAMS (Figure 2):
Step 1
Since planar kinematic chains with revolute pairs and simple joints is our concern, the number
of joints (J) can be calculated based on Gruebler’s criterion [34] as follows:
Step 2
n2 + 7z3 + q + . . . + np = N (2)
2~ + 3113+ 4n4 + . . . + qn, = 25 (3)
(N -F + 1)/2 if F = 0 or 1
Q (4)
= min {(N - F - l), (N + F - 1)/2} if F 12
For kinematic chains with N = 10 and F = 1, and therefore J = 13, all possible link assort-
ments are [4/6/O/O], [5/4/1/O], [6/2/2/O], [7/0/3/O], [6/3/O/l], [7/1/1/l], and [8/O/O/2]. The
LA of the kinematic chain shown in Figure l(a) is [6/2/2/O].
Step 3
where
2 Jm = 3123+4n4 + . ..+qnq (8)
0 ifN,=l
2Jk= 3(N,,,-1)-l ifN,=2,4,6,... (9)
{ 3(N,,, - 1) - 2 if N,, = 3,5,7,. ..
Based on equations (5)-(g), all possible cont.racted link assortments can be generated for a
given link assortment. For example, if hr = 10, F = 1, and LA = [6/2/2/O], then r = 2, N,,, = 4,
J ,,, = 7, 3 5 N, 5 6, and all possible cont,ractecl link assortments are [O/3], [2/2], [4/l], and [6/O].
Once contracted link assortments are obt.a.ined, the value of eii of the CLAM can be determined
in a nonincreasing sequence. For example, if LA = [6/2/2/O] and CA = [2/2], then the two
quarternary links must be labelled as links 1 and 2, the two ternary links as links 3 and 4, the
two contracted links with one binary link as links 5 a.nd 6, and the two contracted links with two
binary links as 7 and 8. The sequence of the value of eii is (4,4,3,3, -1, -1, -2, -2).
Number synthesis of kinematic chains 33
c =
N?Vl
eij ai, i= l,... ,N, (10)
j=l
j#l
Equation (10) is called compatibility constraint,s of MM matrix. Furthermore, the sum of ai,
denoted by 2Jd, can be obtained by the following expression:
2 Jd = 2 ,I,,, - 2 N, (II)
We see that the problem of determining incident joint sequences is equivalent to the problem
of partitioning integer 2Jd into L parts, and assigning these /.z parts into N, elements of IJ
sequence. Here, k 5 N,, since some multiple links may not be adjacent to the other multiple
links.
In order to avoid the configuration of multiple links with rigid subchains, the t parts must
satisfy the following constraints:
(1) The largest of parts, t, cannot be greater than the maximum number of joints of multiple
links, i.e. t < ell, and must be less than the number of parts, i.e. t < k.
(2) The degrees of freedom of the configuration of multiple links must be positive, i.e.
3(k - 1) - 2Jd > 0.
For example, if the sequence of link elements is (4,4,3,3, -1, -1, -2, -2), then J, = 7, N, = 4,
N, = 4, Jd = 3, and k _< 4. From the second constzaint, k > 3. Thus, k = 4. From the first
constraint, t 5 4. All possible partitions of 2Jd, which is 6, into four parts are 3 + 1 + 1 + 1 and
2+2+1+1.
After partitions are obtained, we now assign these partitions to ai. Since eii is the total number
of joints belonging to multiple link i a.nd ai is only the number of joints incident to the other
multiple links, ai < eii. For the sa.ke of a.voiding having isomorphic configurations of multiple
links, we set a rule that ai < aj, if eii = ejj a.nd i < j. The resultant incident joint sequences IJ
of the above exa.mple are: (3,1,1,1), (1,1,3,1), (2,2,1,1), (2,1,2,1), and (1,1,2,2).
Step 5
Construct MM matrices.
After incident joint sequences are obtained, the permut,ation group [35] of link elements of MM
matrix can now be determined after the following terminologies are explained.
A one-to-one mapping from a finite set S onto itself is called a permutation p. For example,
the sequence (s~,ss, sl,sq) is a permutation of the set S = (~1, sz,ss, sq) in which sl + (is
transformed into) ~2, s2 -+ ~3, ss + sl, and s4 + ~4. In this permutation, s1 + s2 ---f ss -+ s1
forms a cycle, denoted by [s~s~s~I. s4 + s4 forms another cycle [sd]. The cyclic representation of
this permutation is denoted by [s~s~.zT~][s~].The usua.1 composition of mappings provides a binary
operation for permutations on the same set. Fmthermore, whenever a collection of permutations
is closed with respect to this composit,ion, it is called a penn~laiion group G. Two elements si
and sj of set S are similar, if there exists a permuta.tion p of G which transforms si into sj.
Furthermore, set S can be partitioned int.o some similar classes by putting similar elements into
the same class.
In our problem, let A4L = (Ll, La,. . . , LN,) be the set of multiple links. The attributes of
a link is some information about this link, such as eii, ai, eij, . . . , etc. The permutation group
of ML called the link-group is the set of permutations which transform a link into another one
34 H.S. YAN, Y.W. HWANG
without changing their attributes. Up to now, a multiple link has two given attributes, the
number of its joints (eii) and the number of joints incident to the other multiple links (ai). For
example, if ML(L1, Lz, Ls, LJ), the values of eii are (4,4,3,3), and the values of ai are (2,2,2,2),
then the link-group GL of the set ML is
GL = {Pl,P2rP3,P4}
where
pl =[Ll][L2][L3][L4]
P2 =[L1 LzlP3l[L4l
P3 =[‘%][L2][L3 ‘541
In order to determine the value of eij for each link i, we induce another permutation group,
namely join,&group GJ, which acts on the set of eij of MM matrix. Each permutation of the
link-group induces a corresponding permutation of the joint-group by mapping eij into epp if Li
is mapping into L, and Lj into L,. For example, the joint-group of the above example is
where
~‘1=[~121[~131[~~41[~231[~241[~341
P’Z =h2lh3 e231h4 e241k341
P$ =[el2l[el3e141k23 e241k341
Pi =[e121h3 e24lkl4 e231k341
There are three similar classes of GJ here: {erz}, {eis, e14, e23, e24}, and {eaa}.
Now, we start to assign Jd “1”s to eij based on joint-group GJ. Unassigned elements are set
to “0.” In the assignment, the compatibility constraints, equation (lo), must be satisfied. In
this work, we propose a recursive procedure for our assignment problem. This procedure, which
we call ASSIGNMENT, takes four arguments: ESET, GROUP, JD, and PATH. They are
initially set equal to the set of elements, permutation group, number of “1”s to be assigned, and
an empty list, respectively. What follows is the ASSIGNMENT.
EMPTY is a predicate true for its argument that is an empty list. Upon the empty list,
the procedure is returned.
2. CLASSLIST 6 SIMILAR(ESET,GROUP);
SIMILAR is a function that separa.tes ESET into some similar classes based on GROUP
and order them into a list.
3. CLASS + ADDLAST(FIRST(CLASSLIST) CLASSEND);
The first similar class is selected, and add a symbol, CLASSEND, to the last of the class.
4. RSET + REMOVE(CLASS,ESET);
REMOVE is a function that removes the elements of CLASS from ESET. The rest of the
elements form a set, RSET, for t*he nest recursion.
5. PATHS + LIST(PATH);
LIST is a function that produces a. list of its argument. A path indicates a sequence of
assigned elements.
Number synthesis of kinematic chains 35
EXPAND is a function that expands the end node, ni, of each path Pi in PATHS to
generate a! set of new paths. The successors of node ni are the elements whose order in
CLASS are lower than that of ni.
ASSIGNMENT(REST,NGROUP,JD,REMOVELAST(P));
If the path cannot be expanded in the current CLASS, then ASSIGNMENT is called
recursively on the rest elements. MODIFY is a function that removes the destroyed
permutations from GROUP based on path P, where a destroyed permutation is one in
which the values of elements in the same cycle are distinct.
MAXIMAL is a predicate true for it.s first argument, P, if P is a maximal path. A maximal
path is defined that the highest order of elements of this path is greater than those of the
other paths transformed by permutations of GROUP. If the highest orders are equal, then
the second ones are compared, and so on. If P is not a maximal path, then it must be
isomorphic to a maximal path and be removed from PATHS.
13. if LENGTH(P)=JD,
if COMPATIBLE(P), OUTPUT(P);
14. end
15. end
16. return
For the example mentioned previously, if the set of joint elements of MM matrix is MJ =
(ei2, eis, e14,ess,e24, esd), incident joint sequence is ZJ = (2,2,2,2), Jd = 4, and joint group
GJ = {P~,P~,P$,P~), where
P: =[el21[e~31[el41[e231[e241[e341
~5 =[el21[03 e231h4 e24lk341
We execute the assignment procedure with its initial arguments ESET = MJ, GROUP = GJ,
JD = 4, and PATH = nil, where nil denotes an empty list. The process of the procedure is
illustrated in Figure 3, which shows a t,ree generated to a depth of 4. In this tree, nodes depicted
by a circle express assigned elements and nodes depicted by a box labeled by the modified group
indicate the beginning of a recursive call. Isomorphic paths are cut off by a double circle, and the
paths which cannot be expanded to a depth of 4 are terminated by a triple circle. There are six
36 H.S. YAN, Y.W. HWANG
non-isomorphic paths of depth 4, but four of them do not satisfy the compatibility constraints.
The two results are indicated by darkened branches and their MM matrices are
The joint group of the first MM matrix is the same as the original group, but the joint group of
the second one is modified by removing pi and pi from the original group. The corresponding
link group of the second one is reduced as GL = {pl, pa}.
Step 6
Construct MC matrices.
In Step 5, we construct MM matrices. Now, we want to construct MC matrices for each
MM matrix. Similar to the process of generating MM matrices, the process of generating MC
matrices is transformed into the problem of assigning 2N, joints into elements of MC matrices.
Two differences between this step and Step 5 are as follows. (1) If the value of the element in MC
matrix is “2,” the assignment process must be executed for two times. At the first time, assign
Js “2”s to the elements of MC matrix, and at the second time, assign 2N, - 252 “1”s to the
elements. Unassigned elements are set to “0.” (2) Assigned elements must satisfy the following
compatibility constraints of MC matrix:
NIB8
c
j=l
eij = 2, i=N,,,+l,... ,N,,,+N, (12)
Now, let MBL = (LI, La,. . , , L,,) be the set of multiple links and contracted links. The link
group of multiple links with the given MM matrix is obtained in Step 5. The link group of
contracted links is the set of permutations which transform the value of eii into itself. The link
Number synthesis of kinematic chains 37
group of the set MBL can be obtained by combining link groups of multiple links and contracted
links. For example, if N = 10, F = 1, LA = [G/2/2/0], CA = [O/3], and
then the link group of multiple links has two permutations: [Lr][LZ][Ls][L4] and [LI L2][L3 Ld],
which are obtained in Step 5. The link group of contracted links has six permutations: [Ls][Lc][Lr],
[Ls][Lc L7], [L6][L5 L7], [L7][L5 L6], [L5 L6 L7], and [L5 L7 L6]. The link group GL of MBL
has 12 permutations by combining the above two link groups; i.e.,
GL = ~~1,~2,~3,~4,~5,~6,~7,~3,~~,~10,~11,~12}
where
pl =[Ll][L?][L3][L4][L5][L6][L7]
p2 =[Ll][LZ][L,][L,][L,][LG L7]
p3 =[‘k][L2][L3][L4][L6][L5 L7]
P4 =[‘%][L,][L,][L,][L, L6][L7]
p5 =[Ll][LZ][L3][L4][L5 L6 L7]
PS =[‘h][L?][L3][L43[L5 L7 L6]
GJ = {P:,PI?~P$,P~,P~~P~,P:,P~,P~,P:o,P~~,P:z}
38 H.S. YAN, Y.W. HWANG
where
d =[e15][e16][e17][e25][e?6][eZ7][e35][e36]
[e37][e45][e46][e47]
Ie37][e45 e46][e47]
Finally, the ASSIGNMENT procedure is executed with initial arguments ESET = MBJ,
GROUP = GJ, JD = 2N,, and PATH = nil. The resulting MC matrices are
Step 7
Construct CLAMS.
This step is to construct corresponding CLAMS from MC matrices obtained in Step 6. For
the three A4C matrices generated in Step 6, their corresponding CLAMS are
Furthermore, each CLAM containing any construction of basic rigid chain should be deleted. A
kinematic chain is degenerate with three- or five-link basic rigid chains if the upper-left submatrix
Number synt.hesis of kinematic chains 39
. . . 1 . . 1
I
1 . . 1 . . 1 .
As for detecting CLAMS with seven-or-more-link basic rigid chains, we use the method proposed
in reference [23] by removing bina.ry links in sequence.
Step 8
RESULTS
A computer code is developed based on t,he a.lgorit,hm described. As simple as inputing the
required numbers of links (N) and degrees of freedom (F), all desired non-isomorphic kinematic
chains are be generated automatically. As a result, for one degree of freedom, there are 1 for
40 H.S. YAN, Y.W. HWANG
4 links, 2 for 6 links, 16 for 8 links, 230 for 10 links, and 6862 for 12 links. For two degrees of
freedom, there are 4 for 7 links, 40 for 9 links, and 839 for 11 links. For three degrees of freedom,
there are 7 for 8 links, 98 for 10 links, and 2442 for 12 links. For four degrees of freedom, there
are 10 for 9 links and 189 for 11 links. For five degrees of freedom, there are 14 for 10 links
and 354 for 12 links. For six degrees of freedom, there are 19 for 11 links. For seven degrees of
freedom, there are 24 for 12 links. Table 1 summarizes the results. Figure 5 shows the results of
N=8andF=l.
CONCLUSION
In conclusion, we present a systematic and precise algorithm for enumerating kinematic chains
based on permutation groups. This approach guarantees that isomorphic kinematic chains will
not be generated in the process of synthesis. Based on this proposed algorithm, a computer
program is developed such that the catalogues of planar kinematic chains with required numbers
of links and degrees of freedom can be obtained automatically. In addition, the efforts of this
work can be further applied to the number synthesis of kinematic chains with other types of
joints rather than revolute pairs. The result of this work is of helpful to mechanism designers in
conceptual stage for selecting better configurations.
REFERENCES
24. J. J. Uicker and A. Raicu, A Method for the Identification and Recognition of Equivalence of Kinematic
Chains, Mechanism and h4achine Theory 10, 375-383 (1975).
25. H. S. Yan and A. S. Hall, Linkage Characteristic Polynomials: Definitions, Coefficients by Inspection, ASME
fiansaciions, Journal of Mechanical Design 103, 578-584 (1981).
26. H. S. Yan and A. S. Hall, Linkage Characteristic Polynomials: Assembly Theorem, Uniqueness, A SME
Transaciions, Journal of Mechanical Design 103, 578-584 (1981).
27. H. S. Yan and W. M. Hwang, A Method for the Identification of Planar Linkage Chains, ASME Transactions,
Journal of Mechanisms, Transmission, and AzLlomation in Design 105, 658-662 (1983).
28. R. K. Dubey and A. C. Rao, New Characterist.ic Polynomial - A R&able Index to Detect Isomorphism
between Kinematic Chains, Nail. Conf. Mach. Mech. IISc, India (Feb), 36-40 (1985).
29. T. S. Mruthyunjaya and H. R. Balasuhramauian, In Quest of a Reliable and Efficient Computational Test
for Detection of Isomorphism in Kinematic Chains, Nat/. Conf. n4ach. Mech. IISc, India (Feb), 53-60 (1985).
30. H. S. Yan and W. M. Hwang, Linkage Path Code, n4echanism and Machine Theory 19 (4/S), 425-529
(1984).
31. Y. J. Shah, G. I. Davida, and M. K. McCarbhy, Optimum Features and Graph Isomorphism, IEEE Trans-
actions on Systems, Man, and Cybernetics, 313-319 (1974).
32. A. G. Ambekar and V. P. Agrawal, Canonical Numbering of Kinematic Chains and Isomorphism Problem:
min Code, Mechanism and Machine Theory 22 (5), 453-461 (1987).
33. C. S. Tang and T. Liu, The Degree Code - A New Mechanism Identifier, Trenda and Developmenia in
Mechanisms, Adachines, and Robotics, ASdiE Conference, 147-151 (1988).
34. M. Grubler, Allgemeine Eigenschaften tier Zwanglaufigen Ebenen Kinematischen Ketten, Ciuilingenieur 29,
167-200 (1883).
35. F. Harary, GTaph Theory, Addison-Wesley, (1969).
36. H. S. Yan and Y. W. Hwang, A New Algorithm for Automatic Sketching of Kinematic Chains, Proceeding
of 1989 ASME Compuiers in Engineering, July 30-Au.gust 3, 1989, 245-250.