Engineering with Computers (2010) 26:119–127 DOI 10.1007/s00366-009-0141-6
ORIGINAL ARTICLE
The establishment of edge-based loop algebra theory of kinematic chains and its applications Huafeng Ding Æ Jing Zhao Æ Zhen Huang
Received: 20 February 2009 / Accepted: 4 August 2009 / Published online: 17 September 2009 Springer-Verlag London Limited 2009
Abstract Based on the edge-based array representation of loops in the topological graphs of kinematic chains, this paper first proposes three arithmetic operations of loops. Then the concept of the independent loop set as well as its determination rules is introduced, and a new structure decomposition algorithm of kinematic chains is presented. Based on the algorithm, an automatic and efficient method for rigid sub-chain detection and driving pair selection of kinematic chains is proposed. Finally, an index is proposed to assess computation complexity of kinematic analysis with respect to different driving pair selections. Keywords Kinematic chain Loop algebra theory Rigid sub-chain detection Driving pair selection
1 Introduction Structure analysis and synthesis of mechanism kinematic chains are among the most creative and important stages in mechanical conceptual design. Studies of these issues have attracted researchers for over a century [1–5]. The introduction of the graph theory to the study of the topological structure of kinematic chains by Crossley [6], Freudenstein [7] and Woo [8] in 1960s was a great breakthrough in this direction, for the graph theory is mathematically rigorous,
H. Ding Z. Huang Robotics Research Center, Yanshan University, 066004 Qinhuangdao, China H. Ding (&) J. Zhao Key Lab of Industrial Computer Control Engineering of Hebei Province, 066004 Qinhuangdao, China e-mail:
[email protected]
visually intuitive, and easily adaptable to computation. Since then, a great number of methods were proposed in an attempt to analyze and synthesize kinematic chains automatically [9–16]. As a systematic method for the conceptual design of mechanical products [2, 3], structure synthesis provides designers with a larger number of distinct kinematic chains of certain links and degrees-of-freedom (DOFs). However, in the process of structure synthesis, many candidate kinematic chains contain rigid sub-chains and must be eliminated. Researchers have presented many methods for rigid sub-chain detection, and their findings have advanced the studies on structure synthesis of mechanisms. Nonetheless, along with their advantages, current methods have their inadequacies. The method proposed by Hwang and Hwang [17, 18] is just suitable for kinematic chains with planar topological graphs. Tuttle [19] attempted to find all the models of rigid sub-chains with up to seven links, then to detect rigid sub-chains according to these models. Obviously, this method is only suitable for kinematic chains with only fewer links. Lee and Yoon [20, 21] proposed to detect rigid sub-chains by removing the binary links one by one from kinematic chains, but with this method it is hard to fulfill the task automatically in the computer. The quest for a rigid sub-chain detection method which is efficient, effective and can be achieved in the computer is still on. For a synthesized kinematic chain to be put into practice, one of its links should be fixed as the frame and one or more joints should be actuated to supply input motion. Kinematic chains fall into three groups based on their types of DOFs: chains with total freedom, with partial freedom and with fractionated freedom [22, 23]. For a single DOF kinematic chain, any joint can be selected as the driving pair if there is no special requirement to meet. But for multi-DOF (F C 2)
123
120
Engineering with Computers (2010) 26:119–127
partial or fractionated freedom kinematic chains, improper selection of driving pairs may bring about kinematic interference. How to select the proper driving pairs and no kinematic interference occurs is the problem of driving pair selection [1]. The current method for driving pair selection is to fix all selected driving pairs and then calculate the DOFs of the resulting mechanism or part of the mechanism [1]. Due to its inefficiency, this method hardly meets the requirements of modern mechanism synthesis characterized by automation and computer-orientation. This paper establishes the edge-based loop theory of kinematic chains and attempts to solve the problems of automatic rigid sub-chain detection and driving pair selection for structure analysis and synthesis of kinematic chains. The paper is organized as follows. In Section 2, the edge-based array representation of loops of kinematic chains is proposed, and three algebra operations of loops are discussed. In Section 3, the concept of the independent loop set as well as its selection rules is given, and the structure decomposition algorithm of kinematic chains is presented. The application of the structure decomposition algorithm on rigid sub-chain detection is discussed in Section 4. In Section 5, the rules of driving pair selection are addressed, and an index is proposed to assess computation complexity of kinematic analysis with respect to different driving pair selections.
In a topological graph, a path is an alteration sequence of vertices and edges, where any vertex or edge appears only once and the starting vertex and the ending vertex are different. When the starting and ending vertices of a path are the same, that is, each vertex is incident with two edges, the path becomes a loop. For example, in Fig. 1b edges e1, e2, e3, e4 form a path and edges e5, e6, e8, e9 and e10 form a loop. In a topological graph, a path a can be denoted by an mdimensional array P(a), where m is the number of edges of the chain. The jth element in P(a) (the rightmost element is the first one and the leftmost element is the last one) indicates the relationship between edge j and path a. If edge j exists in path a, the jth element of P(a) is ‘‘1’’; otherwise, is ‘‘0’’. As shown in Fig. 1b, if P(s) denotes the path consisting of edges e1, e2, e3 and e4, P(s) is expressed as
2 Fundamental theory
N½PðsÞ ¼ 4; N½Lð1Þ ¼ 5
2.1 Basic concepts
2.2 Basic edge-based operations of loops
For the research on the topological structure of kinematic chains, a kinematic chain is represented by a graph whose vertices correspond to links of the chain and whose edges correspond to joints. The graph is called the topological graph. For example, Fig. 1a is a nine-bar two-DOF kinematic chain and Fig. 1b is its topological graph.
The ‘‘H’’operation of loops. The ‘‘H’’operation of two loops is expressed as
e1
2 e1
2
1
(3)
e7
3 (3)
8 e11 7
e2
1
e2 3
e8
e11
e7
e3
8 e8
e9
e6
(1)
9
e5
e9
7
4 5
(a)
e4
e6
4 e4
e10 6
e5
5
(b)
Fig. 1 A 9-bar 2 DOF kinematic chain (a) and its topological graph (b)
123
When the starting and ending vertices of a path are the same, the path becomes a loop. Here a loop a is denoted by L(a). In Fig. 1b, edges e5, e6, e8, e9 and e10 form a loop, and the loop is expressed as Lð1Þ ¼ ½0; 1; 1; 1; 0; 1; 1; 0; 0; 0; 0 The number of edges (the number of non-zero elements) in a path or loop is defined as the sub-dimension of the path or loop. Here, N[.] is used to denote the sub-dimension of a path or loop. For example, in Fig. 1b
pða H bÞ ¼ LðaÞ H LðbÞ:
ð1Þ
where p(a H b) denotes a path whose dimension is the same as the two operated loops. The algorithm of ‘‘H’’operation. Subtract every element of L(b) from its corresponding element of L(a) respectively. In each bit of the operation, if the difference is greater than zero, the result is ‘‘1’’, otherwise, is ‘‘0’’. That is ( 1; when 0\ðba ðiÞ bb ðiÞÞ pðaHbÞi ¼ : ð2Þ 0; otherwise:
(2)
9
(1)
e10
6
e3
(2)
PðsÞ ¼ ½0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 1:
where ba(i) is the ith element of loop L(a); bb(i) is the ith element of loop L(b); p(a H b)i is the ith element of p(a H b). Array p(a H b) denotes the path consisting of those edges that are on loop L(a) but not on loop L(b). In Fig. 1, if L(2) denotes the loop consists of edges e3, e4, e9, e10 and e11, then
Engineering with Computers (2010) 26:119–127
121
Lð2Þ ¼ ½1; 1; 1; 0; 0; 0; 0; 1; 1; 0; 0:
LP ¼ Lð1Þ Lð2Þ ¼ ½1; 0; 0; 1; 0; 1; 1; 1; 1; 0; 0:
Here pð1 H 2Þ ¼ Lð1Þ H Lð2Þ ¼ ½0; 0; 0; 1; 0; 1; 1; 0; 0; 0; 0:
LP denotes the array constituted by edges e3, e4, e5, e6, e8 and e11; obviously, it is a loop combined by loops L(1) and L(2).
Obviously, p(1 H 2) denotes the array consisting of edges e5, e6 and e8, and its elements denote the path consisting of those edges on loop L(1) but not on loop L(2). The ‘‘’’operation of loops, the ‘‘’’operation of two loops is expressed as
3 Structure decomposition of kinematic chains
pða bÞ ¼ LðaÞ LðbÞ:
ð3Þ
where p(a b) is an array whose dimension is the same as the two operated loops. The algorithm of ‘‘’’operation. Compare every element of L(a) with its corresponding element of L(b), respectively. In each bit, if they are both equal to ‘‘1’’, the result is ‘‘1’’, otherwise ‘‘0’’, that is ( 1; when ba ðiÞ ¼ bb ðiÞ ¼ 1; pða bÞi ¼ : ð4Þ 0; otherwise: where ba(i) is the ith element of loop L(a); bb(i) is the ith element of loop L(b); p(a b)i is the ith element of the ‘‘’’operation result of loops L(a) and L(b). Array p(a b) denotes the path consisting of those edges that are both on loops L(a) and L(b). For the topological graph shown in Fig. 1 pð1 2Þ ¼ Lð1Þ Lð2Þ ¼ ½0; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0: Here, array p(12) consists of edges e9 and e10, and its elements denote the common edges of loops L(1) and L(2). The ‘‘’’operation of two loops is expressed as LP ¼ LðaÞ LðbÞ:
ð5Þ
where LP is an array whose dimension is the same as the two operated loops. The algorithm of ‘‘’’operation. Compare every element of L(a) with the corresponding element of L(b), respectively. In each bit, if they are not equal, the result is ‘‘1’’, otherwise ‘‘0’’, that is ( 1; when ba ðiÞ 6¼ bb ðiÞ; LPðiÞ ¼ : ð6Þ 0; otherwise: where ba(i) is the ith element of loop L(a); bb(i) is the ith element of loop L(b); LP(i) is the ith element of the array LP. If LP is a loop, it can be expressed as L(a b), which denotes the loop obtained through the combination of loops L(a) and L(b). Obviously, the necessary and sufficient condition for the ‘‘’’ operation result of loops L(a) and L(b) to be a loop is that p(a b) = L(a) L(b) is a successive path. For the topological graph shown in Fig. 1, here is
3.1 Basic loop set For a topological graph with n vertices, m edges and v independent loops, if a loop set satisfies the following two conditions, the loop set is a basic loop set. 1.
The number of loops in the loop set is just equal to its independent loop number v (v is determined by Euler theorem). All the other loops of the kinematic chain can be obtained through the ‘‘’’ operation of loops in the loop set.
2.
In v basic loops selected, if there exist three different loops L(i), L(j) and L(k) satisfying L(i) L(j) = L(k), then L(k) can be obtained through the ‘‘’’ operation of loops L(i) and L(j). That is to say, we can get a basic loop set constituted by v-1 loops. Obviously, it is contradictory with Euler theorem. Here, a rule for selecting the basic loop set is as follows: In a loop set S{L(1), L(2),…,L(v)}(v is the number of its basic loops) of a kinematic chain, if any three loops L(i), L(j) and L(k) (i, j, k = 1, 2,…,v) in the set satisfy LðiÞ Lð jÞ 6¼ LðkÞ
ð7Þ
the loop set S{L(1), L(2),…,L(v)} is a basic loop set, or an independent loop set. If the topological graph of a chain is a planar graph, then its mesh ring can be selected as the basic loop. For a nonplanar topological graph, its mesh ring can be selected as a part of the basic loop set. The selection rule of other basic loops is that every selected loop must include new edges that do not belong to the loops already selected. 3.2 Structure decomposition algorithm Based on the basic loop set, the structure decomposition of a kinematic chain is to decompose the chain into v subloops or paths of common edges according to certain rules, where v is the number of basic loops of the kinematic chain. Based on the basic loop set, a kinematic chain can be decomposed according to the following steps: Step 1: Select a basic loop set S{L*(1), L*(2),…,L*(v)}. 1.
For a kinematic chain whose topological graph is a planar graph, choose its mesh-rings as the basic loops.
123
122
2.
Engineering with Computers (2010) 26:119–127
For a kinematic chain whose topological graph is a non-planar graph, if it has mesh-rings, then all the mesh-rings are chosen as basic loops. The rest of the basic loops are obtained by the rule aforementioned for selecting the basic loop set, and their subdimensions should be as small as possible.
Step 2: Sequence of all loops in set S{L*(1), L*(2),…,L*(v)} according to their sub-dimensions: loops with smaller sub-dimensions are arranged ahead of those with larger ones. If the rearranged loop set is {L(1), L(2),…,L(v)}, then N ½Lð1Þ N ½Lð2Þ N ½LðvÞ Step 3: Determine the mobility factor w1 of loop L(1). Here, the DOF of a loop is defined as its mobility factor. For the loop L(1), if its sub-dimension is q, then its mobility factor is q-d (d is the order of a mechanism, for a planar or spherical mechanism, d = 3; for a spatial mechanism, d = 6). Obviously, the mobility factor w1 of loop L(1) is
P1 ðvÞ ¼ L1 ðvÞHP1 ðv 1ÞH HP1 ð2ÞHLð1Þ wv ¼ N ½P1 ðvÞ d þ 1 Following the above steps, a kinematic chain is decomposed into one loop (L(1)) and v-1 paths(P1(2), P1(3),…,P1(v)). 3.3 Property of structure decomposition Here, the array consisting of the mobility factors of loop L(1) and paths P1(2), P1(3),…,P1(v) is defined as the mobility factor array w, where w ¼ ½w1 ; w2 ; . . .; wv For a kinematic chain, the sum of the elements of the mobility factor array is a constant regardless of different selection ways of the basic loop set or different ways of structure decomposition. That is v X q¼ wi ¼ m vd þ v 1: ð8Þ i¼1
w1 ¼ N ½Lð1Þ d: Step 4.1: Determine loop L1(2) in the rest elements of the basic loop set.
Proof v X q¼ wi ¼ f N½Lð1Þ dg
L1 ð2Þ ¼ minf LðiÞjNf LðiÞHLð1Þg; i ¼ 2; 3; . . .; vg If several loops satisfy the above condition, the loop with the smallest sub-dimension is selected as loop L1(2). Step 4.2: Determine path P1(2) and its mobility factor w2, where P1(2) = L1(2) H L(1). Here the mobility factor of path P is defined as the DOF of the sub-chain represented by P. Obviously, the mobility factor of path P1(2) is w2 ¼ N ½P1 ð2Þ d þ 1 Step j.1: Determine loop L1(j-2). Choose a loop L(i) as loop L1(j-2) in the rest elements of the basic loop set. Here, L(i) satisfies (1) N{L(i) H P1(j-3)HH P1(2)HL(1)} is the smallest and (2) loop L(i) has the smallest sub-dimension, that is L1 ðj 2Þ ¼ minf LðiÞjNf LðiÞHP1 ðj 3Þ H HP1 ð2ÞHLð1Þg , LðiÞ 2 S; LðiÞ 6¼ Lð1Þ; L1 ð2Þ; . . .; L1 ðj 3Þg Step j.2: Determine path P1(j-2) and its mobility factor w(j-2), where P1 ðj 2Þ ¼ L1 ðj 2ÞHP1 ðj 3ÞH HP1 ð2ÞHLð1Þ wðj2Þ ¼ N ½P1 ðj 2Þ d þ 1 Step v ? 2: For the last loop L1(v) of the basic loop set, there is
123
i¼1
þ
v X
f N½LðkÞHPðk 1ÞH HPð2ÞHLð1Þ d þ 1g
k¼2
¼ f N½Lð1Þ þ N½Lð2ÞHLð1Þ þ N½Lð3ÞHPð2ÞHLð1Þ þ þ N½LðvÞHPðv 1ÞH HPð2ÞHLð1Þg d þ ðv 1Þð1 dÞ ¼ m vd þ v 1 where m is the number of edges, v is the number of basic P loops, and d is the order. Obviously q ¼ vi¼1 wi is a constant for a given kinematic chain.
4 Rigid sub-chain detection In a kinematic chain, if there exists one closed sub-chain whose DOF is smaller than 1, the sub-chain is defined as the rigid sub-chain. Based on the structure decomposition algorithm and its property, the algorithm for rigid subchain detection is as follows. If any of the elements in the mobility factor array, w = [w1, w2,…,wv], satisfy the condition r X wi r\0: ð9Þ i¼1
where r ¼ 1; 2; . . .; v; there exist rigid sub-chains in the kinematic chain; otherwise, no rigid sub-chains exist.
Engineering with Computers (2010) 26:119–127
123
P Proof Assume r = q, there is qi¼1 wi q\0: Obviously the DOF of the sub-chain constituted by loops L(1), P L1(2),…,L1(q) is M ¼ qi¼1 wi q þ 1 0: So the kinematic chain contains rigid sub-chains. P If for all r ¼ 1; 2; ; v; there is ri¼1 wi r 0: This means that the DOF of the sub-chain constituted by loop L(1), the DOF of the sub-chain constituted by loops L(1) and L1(2),…,and the DOF of the sub-chain constituted by loops L(1), L1(2),…,L1(v) are all equal to or greater than 1. Obviously, there are no rigid sub-chains in the kinematic chain. Example 1: Figure 2 is a 12-bar kinematic chain and its topological graph. To detect whether it includes rigid subchains, the following steps are taken. Step 1: There are five basic loops in the chain and the basic loop set can be selected as L ð1Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 0; 0; 0; 1; 1; 0 L ð2Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 1; 1; 0; 1; 1; 1; 0; 0; 0
Again the mobility factor set w = [2, 1, 0, 0, 2], and P4 i¼1 wi 4 ¼ 1\0: The sub-chain constituted by loops L1(4), L1(3), L1(2) and L(1) can also be detected as a rigid sub-chain.
L ð3Þ ¼ ½0; 0; 0; 0; 1; 0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 1 L ð4Þ ¼ ½1; 1; 1; 1; 1; 0; 0; 0; 0; 0; 0; 1; 0; 0; 0; 0 L ð5Þ ¼ ½0; 0; 0; 0; 0; 1; 1; 0; 0; 0; 0; 1; 1; 1; 0; 0 Step 2: Obviously, N[L*(1)] = N[L*(2)] = N[L*(3)] = N[L*(5)] = 5, and N[L*(4)] = 6. There are 24 ways to rearrange the basic loops and one of the rearranged basic loop sets is {L(1), L(2), L(3), L(4), L(5)}, where L(1) = L*(1), L(2) = L*(2), L(3) = L*(3), L(4) = L*(5), L(5) = L*(4). Step 3: It is clear that N[L(1)] = 5 and the mobility factor of loop L(1) is w1 = 2, loop L(1) is not a rigid sub-chain. Step 4.1: Both loop L(2) and L(3) satisfy the condition that N{L(i) H L(1)} is the smallest. Either of them can be selected as loop L1(2). Step 4.2: If loop L1(2) = L(2), then N[P1(2)] = 3, and w2 = 1. Obviously, w1 ? w2-2 = 1, so the sub-chain
6
6 e13 e6
7
e7
e11 e8 9 (2) e9 8 (1) (5) e4 4 e10 3 e3 e2 (3)
2
10 e5
1
(a)
e8
11 e15
e12
e11
10
9 (5)
e7 8 5 (4)
e13
(2)
e14
e5 e14
(4)
(1) e10 2
e9 e3
e2
4
e4
5
11
3 12
e1
7
e16
(3)
e1 1
e12 e16
The structure decomposition may also be carried out alternatively: Lð1Þ ¼ L ð3Þ; L1 ð2Þ ¼ L ð1Þ; L1 ð3Þ ¼ L ð2Þ; L1 ð4Þ ¼ L ð5Þ; L1 ð5Þ ¼ L ð4Þ
fL ð1Þ; L ð2Þ; L ð3Þ; L ð4Þ; L ð5Þg
e6
constituted by loops L1(2) and L(1) is not a rigid subchain (the same case with L1(2) = L(3)). Step 5.1: Both loop L(3) and L(4) can be selected as loop L1(3). Step 5.2: If loop L1(3) = L(3), then N[P1(2)] = 2, and w3 = 0. Obviously, w1 ? w2 ? w3-3 = 0, so the subchain constituted by loops L1(3), L1(2) and L(1) is not a rigid sub-chain (the same case with L1(3) = L(4)). Step 6.1: In the basic loops left, only loop L(4) can be selected as loop L1(4). Step 6.2: It can be seen that N[P1(2)] = 2, and w4 = 0. P4 Obviously, i¼1 wi 4 ¼ 1\0; so the sub-chain constituted by loops L1(4), L1(3), L1(2) and L(1) is a rigid sub-chain.
e15 12
(b)
Fig. 2 A 12-bar kinematic chain (a) and its topological graph (b)
5 Driving pair selection 5.1 Classification of kinematic chains Kinematic chains fall into three categories based on their degree-of-freedom, namely kinematic chains of the total freedom, of partial freedom and of fractionated freedom. If the mobility (M) of any loop or subset of loops of a kinematic chain is equal to or greater than F (F denotes the degree-of-freedom of the kinematic chain), that is M C F, the kinematic chain has total freedom. For example, a 10-bar 3-DOF kinematic chain is shown in Fig. 3. For a kinematic chain, if there exists at least one loop or subset of loops with the mobility (M), 0 \ M \ F, (F denotes the degree-of-freedom of the kinematic chain), the kinematic chain is a chain with partial freedom. Figure 4 is a 10-bar 3-DOF kinematic chain. The minimum value of its sub-dimension of loops is greater than three but smaller than six, so the kinematic chain has partial freedom. If a kinematic chain can be divided into two independent kinematic chains with a shared link, and the sum of the degrees-of-freedom of the two independent parts is equal to the freedom of the whole chain, F, the kinematic chain is said to be a chain with link fractionated freedom. Figure 5a is a kinematic chain with link fractionated freedom whose shared link is link 4.
123
124
Engineering with Computers (2010) 26:119–127 8
9
9
e10
e11
8
(2)
9
7
e9 (3)
11
(4)
e12 10 e13
e10
e4
e6 (2)
e8
(1)
(3)
4
2
6
5 e7
e5 1
10
e3
3
2 e2
(a)
1
e1
6
e13
e8
e4 (2) e7
5
4
(1)
e3 3
e2
e5 1
e6
(1)
10
e14
(4)
(3) 7
6
5
11 e12
e9
e14
7
3
4
e11
8
e1 2
(b)
Fig. 3 A 10-bar kinematic chain with total freedom
Fig. 6 11-bar partial DOF kinematic chain (a) and its topological graph (b)
Fig. 4 A 10-bar kinematic chain with partial freedom
kinematic chain, any joint can be selected as the driving pair if there is no special requirement to meet. But for multi-DOF (F C 2) kinematic chains with partial freedom or fractionated freedom, improper selection of driving pairs can lead to kinematic interference. For example, Fig. 6a and b is a 11-bar 2-DoF kinematic chain with partial freedom and its topological graph, respectively. If vertex 1 is selected as the frame, joints e2 and e3 are selected as the driving pairs, the kinematic interference occurs. It is also the case when joints e3 and e6 are selected as the driving pairs. But if joints e2 and e8 are selected as the driving pairs, the kinematic interference will not occur. So for a kinematic chain with partial or fractionated freedom, proper selection of the driving pairs is very important. Proper selection of the driving pairs based on structure decomposition of kinematic chains can be tested below. As is mentioned above, a kinematic chain is decomposed into one loop (L(1)) and v-1 paths (P1(2), P1(3),…,P1(v)) after structure decomposition. The elements corresponding to the selected driving pairs in loop L(1) and paths P1(2), P1(3),…,P1(v) are set to zero, and the arrays thus resulted are denoted by P#1(1), P#1(2),…,P#1(v), respectively. For any driving pair selection, if the following condition is satisfied, r X wdi r 0; r ¼ 1; 2; . . .; v ð10Þ
6 5
7
(2)
4
(3)
2
9
(1) 10
1
8
8
7
8
3
7
(3)
9 (2)
6
(3)
9 6
10
(2) 5
10
4
5 j
4
j 2
(1)
3
2
(1)
1
1
(a)
(b)
3
Fig. 5 A chain with link fractionated freedom (a), and a chain with joint fractionated freedom (b)
If a kinematic chain can be divided into two independent kinematic chains with a connected joint, j, and the sum of the degrees-of-freedom of the two independent parts is equal to F - Fj (F is the DOF of the chain, and Fj is the DOF of joint j), the kinematic chain is said to be a chain with joint fractionated freedom. Figure 5b is a kinematic chain with joint fractionated freedom and joint j is its connected joint. 5.2 Testing of proper selection of driving pairs When one link is fixed as the frame, a kinematic chain becomes a mechanism. For a single degree-of-freedom
123
i¼1
where wd ¼ ½wd1 ; wd2 ; . . .; wdv ; and wdi = N{P#i (i)} (d-1), (i = 1, 2,…,v), then proper driving pairs are selected and no kinematic interference will occur. Proof It is clear that M driving pairs need to be selected for a kinematic chain with M-DOF. If proper driving pairs are selected, the DOF of every sub-chain is equal to or greater than zero when all the driving pairs are fixed. Assuming that certain driving pairs have been selected. P Suppose r = q, there is qi¼1 wdi q\0: It is clear that the DOF of the sub-chain consisting of the first q loops L
Engineering with Computers (2010) 26:119–127
(1), L1(2),…,L1(q) is less than ‘‘0’’. Obviously, it is improper to select such driving pairs. P If for every r (r = 1,2,…,v), there is ri¼1 wdi r 0: Obviously, the DOFs of those sub-chains composed of loop L(1), loops L(1) and L1(2),…,loops L(1), L1(2),…,L1(v) are all equal to or greater than zero. The selection is proper and no kinematic interference will occur. Example 2: For the kinematic chain in Fig. 6, its driving pairs are selected as follows.
125
Through the analysis above, it can be seen that at least one of the two driving pairs should be selected from the edge set {e8, e9, e10, e11, e12, e13, e14} for the kinematic chain in Fig. 6. Example 3: A 10-bar 3-DOF kinematic chain and its topological graph are shown in Fig. 7a, b. Its driving pairs are selected as follows. Step 1: The basic loop set is selected as S = {L* (1), L* (2), L* (3)}, where
Step 1: Choose S = {L* (1), L* (2), L* (3), L* (4)} as its basic loop set, where
L ð1Þ ¼ ½1; 1; 1; 1; 1; 1; 1; 0; 0; 0; 0; 0 L ð2Þ ¼ ½0; 0; 0; 0; 1; 1; 1; 1; 0; 1; 0; 0 L ð3Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 1
L ð1Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 1; 1; 0; 0; 1; 1; 1; L ð2Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 1; 0; 0; 0; L ð3Þ ¼ ½0; 1; 1; 0; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0; L ð4Þ ¼ ½1; 1; 1; 1; 0; 0; 0; 0; 0; 0; 1; 0; 0; 0: Step 2: The rearranged loop set is S = {L(1), L(2), L(3), L(4)}, where L(1) = L*(2), L(2) = L*(3), L(3) = L*(1), L(4) = L*(4). Step 3: loop L(1) = [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0]. Step 4: loop L1(2) = L(3), and P1(2) = L1(2) H L(1) = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1]. Step 5: loop L1(3) = L(4), and P1(3) = L1(3) H P1(2) H L(1) = [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. Step 6: loop L1(4) = L(2), and P1(4) = L1(4) H P1(3) H P1(2) H L(1) = [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]. If vertex 1 is selected as the frame, edges e2, e3 are the driving pairs, then P# 1 ð1Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 1; 0; 0; 0 P# 2 ð2Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1 P# 3 ð3Þ ¼ ½1; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0 P# 4 ð4Þ ¼ ½0; 0; 0; 0; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0 and P wd = [2, -1, 2, 1]. Then wd1 1 ¼ 1 [ 0; 2i¼1 wdi 2 ¼ 1\0: So the driving pair selection is improper. If joints e3 and e6 are selected as the driving pairs, we can get wd = [1, 0, 2, 1]. Obviously, wd1 1 ¼ 0 ¼ P 0; 2i¼1 wdi 2 ¼ 1\0: This selection is also improper. If joints e2 and e8 are selected as the driving pairs, then wd = [2, 0, 2, 0]. There is wd1 1 ¼ 1 [ 0;
2 X
i¼1
wdi 3 ¼ 1 0;
If vertex 3 is selected as the frame, and edges e1, e5, e6 are the driving pairs, then P# 1 ð1Þ ¼ ½0; 0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 0; P# 2 ð2Þ ¼ ½0; 0; 0; 0; 1; 1; 0; 0; 0; 0; 0; 0; P# 3 ð3Þ ¼ ½1; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0; and wd = [1, 0, 2]. It can be seen that wd1 1 ¼ P 0; 2i¼1 wdi 2 ¼ 1\0: Wrong driving pairs are selected. If edges e5, e6, e7 are selected as the driving pairs, then P wd = [2, -1, 2]. Obviously, wd1 1 ¼ 1; 2i¼1 wdi 2 ¼ 1\0: This selection is also improper. If edges e1, e5, e9 are selected as driving pairs, then wd = [2, 0, 2, 0]. There is
e9
i¼1
It is a proper selection of driving pairs. Kinematic interference will be avoided.
e12
7 e8
6
3
e6
e4 (3)
2 e2
1
(a)
4 e1
e11
(1) 6
5
e7
e6 e5
(2)
(2) e3
9
e10
e9
10
e7
e5
wdi 4 ¼ 0 0
8
e11
(1)
8
5
4 X
9
e10
wdi 2 ¼ 0 0;
i¼1 3 X
Step 2: The rearranged basic loop set is S = {L(1), L(2), L(3)}, where L(1) = L*(3), L (2) = L*(2), L (3) = L*(1). Step 3: loop L(1) = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1]. Step 4: loop L1(2) = L(2), and P1(2) = L1(2) H L(1) = [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0]. Step 5: loop L1(3) = L(3), and P1(3) = L1(3) H P1(2) H L(1) = [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0].
10
7
e12
e8
e3
2
3
(3)
e2 1
e1
e4 4
(b)
Fig. 7 10-bar 3-DOF kinematic chain (a) and its topological graph (b)
123
126
Engineering with Computers (2010) 26:119–127
wd1 1 ¼ 0 0;
2 X
From Eq. 15, the joint variables q4, q5, q6 can be obtained. If vertex 3 is the frame and edge e7 is the driving pair, the kinematic analysis equations are
wdi 2 ¼ 0 0;
i¼1 3 X
wdi 3 ¼ 0 0:
f ðq1 ; q2 ; q8 ; q9 Þ ¼ 0
ð16Þ
This is the proper selection of the driving pairs, and no kinematic interference will occur.
f ðq3 ; q7 ; q8 ; q9 ; q10 Þ ¼ 0
ð17Þ
f ðq4 ; q5 ; q6 ; q10 Þ ¼ 0
ð18Þ
5.3 Optimized selection of driving pairs based on kinematic analysis
It is clear that computation complexity increases with this driving pair selection in comparison with the former selection. The same analysis applies to the kinematic chain in Fig. 6. If vertex 1 is the frame, the kinematic analysis when edges e9 and e11 are selected as the driving pairs is more complex than when edges e5 and e11 are selected. Here, the computation complexity of the kinematic analysis with a certain driving pair selection can be accessed as follows. v X z¼ ðwdi 1Þ2 ð19Þ
i¼1
For a kinematic chain, there usually exist many proper ways to select the driving pairs, which lead to considerable difference in computation complexity in kinematic analysis. Here, an optimized selection of driving pairs based on the kinematic analysis is presented. For the kinematic chain shown in Fig. 8, if vertex 3 is selected as the frame and edge e2 as the driving pair, the kinematic analysis of loop L(1) can be conducted according to a 4-link mechanism. Then based on the result the kinematic analysis of loop L(2) can be conducted, also according to a 4-link mechanism. The kinematic analysis of loop L(3) is done in the same way. That is f ð q1 ; q 2 ; q 8 ; q 9 Þ ¼ 0
ð11Þ
f ðq3 ; q7 ; q8 ; q9 ; q10 Þ ¼ 0
ð12Þ
f ðq4 ; q5 ; q6 ; q10 Þ ¼ 0
ð13Þ
where qi denotes the joint variable of edge i, and qi means pair i is a driving pair. By solving Eq. 11, we can obtain the joint variables q2, q8, q9, and Eq. 12 can be converted into the following form f ðq3 ; q7 ; q~8 ; q~9 ; q10 Þ ¼ 0
f ðq4 ; q5 ; q6 ; q~10 Þ ¼ 0
ð15Þ
(b)
Fig. 8 An 8-bar kinematic chain (a) and its topological graph (b)
123
For any two selections of driving pairs, the smaller the value of z is, the less complex the kinematic analysis is. For example, in Fig. 8 if vertex 3 is selected as the frame, and edge e1 is the driving pair, wd = [1, 1, 1], and z = 0; if link 3 is selected as the frame and edge 7 as the driving pair, wd = [2, 0, 1] and z = 2. The kinematic analysis of the former selection is less complex. In Fig. 6, if vertex 1 is selected as the frame and edges e11 and e14 are the driving pairs, wd = [2, 1, 0, 1] and z = 2; if vertex 1 is selected as the frame and edges e6 and e11 are the driving pairs, wd = [1, 1, 1, 1] and z = 0. The kinematic analysis of the latter is less complex.
ð14Þ
where q~i denotes the determined joint variable qi. From Eq. 14, the joint variables q3, q7, q10 can be obtained, and Eq. 13 can be converted into the following form
(a)
i¼1
6 Conclusions Automatic structure analysis and synthesis of kinematic chains are important to the creative design of mechanical devices. Aiming at the automation of structure analysis and synthesis of kinematic chains, this paper establishes the edge-based loop theory of kinematic chains, including three arithmetic operations of loops and the resulting structure decomposition algorithm, both of which can be realized automatically in a computer. The theory not only applies to kinematic chains with planar topological graphs, but is also applicable to those with non-planar topological graphs. The two problems of rigid sub-chain detection and driving pair selection can be fulfilled automatically based on the theory, whether the kinematic chain has a planar or non-planar topological graph. Compared with other solutions of the problems, the computation complexity is dramatically reduced, even for complex kinematic chains.
Engineering with Computers (2010) 26:119–127 Acknowledgments This research is sponsored by the NSFC (Grant No. 50905155), the China Postdoctoral Science Foundation Funded Project (Grant No. 200801271 and No. 20080430122), and the Hebei Nature Science Foundation under Grant E2008000808.
References 1. Yang TL (1995) Basic theory of mechanical system—structical kinematics dynamics (in Chinese). Mechanical Press, Beijing, pp 1–69 2. Mruthyunjaya TS (2003) Kinematic structure of mechanisms revisited. Mech Mach Theory 38(4):279–320 3. Uicker JJ, Raicu A (1975) A method for the identification of and recognition of equivalence of kinematic chains. Mech Mach Theory 10(5):375–383 4. Liu XJ, Wang JS, Pritschow G (2005) A new family of spatial 3-DoF fully-parallel manipulators with high rotational capability. Mech Mach Theory 40:475–494 5. Chu JK, Cao WQ (1998) Systemic of Assur groups with multiple joints. Mech Mach Theory 33(8):1127–1133 6. Crossley FRE (1965) The permutations of kinematic chains of eight members or less from the graph theoretic point of view. Dev Theor Appl Mech 2:467–486 7. Freudenstein F, Dobrjanskyj L (1964) In: Proceedings of the 11th international congress applications of mechanics. Springer, pp 420–428 8. Woo LS (1967) Type synthesis of plane linkages. Trans ASME J Eng Ind 89B:159–172 9. Hung CC, Yan HS, Pennock GR (2008) A procedure to count the number of planar mechanisms subject to design constraints from kinematic chains. Mech Mach Theory 43(6):676–694 10. Yan HS, Hwang YW (1990) Number synthesis of kinematic chains based on permutation groups. Math Comput Model 13(1):29–42 11. Sunkari RP, Schmidt LC (2006) Structural synthesis of planar kinematic chains by adapting a Mckay-type algorithm. Mech Mach Theory 41(9):1021–1030
127 12. Tischler CR, Samuel AE, Hunt KH (1995) Kinematic chains for robot hands. I: orderly number synthesis. Mech Mach Theory 30(8):1193–1215 13. Mruthyunjaya TS, Balasubramanzan HR (1987) In quest of a reliable and efficient computational test for detection of isomorphism in kinematic chains. Mech Mach Theory 22(2):131–140 14. He PR, Zhang WJ, Li Q et al (2003) A new method for detection of graph isomorphism based on the quadratic form. ASME J Mech Des 125(3):640–642 15. Sunkari RP, Schmidt LC (2006) Reliability and efficiency of the existing spectral methods for isomorphism detection. ASME J Mech Des 128(6):1246–1252 16. Ding HF, Huang Z (2007) The establishment of the canonical perimeter topological graph of kinematic chains and isomorphism identification. ASME J Mech Des 129(9):915–923 17. Hwang W, Hwang Y (1992) Computer aided structure synthesis of planar kinematic chains with simple joints. Mech Mach Theory 27(2):189–199 18. Hwang W, Hwang Y (1991) An algorithm for the detection of degenerate kinematic chains. Math Comput Model 15(11):9–15 19. Tuttle ER (1996) Generation of planar kinematic chains. Mech Mach Theory 31(6):729–748 20. Lee H, Yoon Y (1992) Detection of rigid structure in enumerating basic kinematic chain by sequential removal of binary link string. JSME Int J 35(4):647–651 21. Lee H, Yoon Y (1996) Algorithm to identify the types of degrees of freedom in kinematic chains. JSME Int J 39(1):144–148 22. Crossley FRE (1964) A contribution to Gruebler’s theory in the number synthesis of planar mechanisms. J Eng Indust, ASME Trans Series B 86:1–8 23. Manolescu NI (1964) A unitary method for construction of the kinematic plane chains and plane mechanisms with different degrees of mobility. Revue Roumaine des Sciences Techniques, Serie de Mecanique Appliquee 9:1263–1313
123