Singularity Analysis of Geometric Constraint System

Singularity Analysis of Geometric Constraint System
Peng Xiaobo*
Chen Liping
Zhou Fanli
Zhou Ji
CAD Center, Huazhong Univ. of Sci. & Tech., Wuhan, P.R.China 430074
Abstract
Singularity analysis is an important subject of geometric constraint satisfaction problem. In this paper, three
kinds of singularity are described and corresponding identification methods are presented for both under-constrained
system and over-constrained system. Another special but common singularity for under-constrained geometric system,
pseudo-singularity, is analyzed. Pseudo-singularity is caused by the variety of constraint matching for an under-constrained
system and can be removed by improving constraint distribution. To avoid pseudo-singularity and decide redundant
constraints adaptively, a differentiation algorithm is proposed in the paper. Its correctness and efficiency have been
validated through practical applications in a 2D/3D geometric constraint solver CBA.
Keywords
Geometric Constraint Satisfaction, Parametric Design, Singularity, Redundant Constraint
are comprehensively analyzed and, further, three types of
1 Instruction
singularity and corresponding judging methods are
presented.
Singularity analysis of constraint is a key technology
for Geometric Constraint Satisfaction Problems(GCSP).
2 Basic concepts
However, so far most researches and papers on GCSP have
been focused on constraint solving planning[1,2,3,4,5,6,8],
A geometric constraint system can be described with
i.e. constraint matching, sorting, and decomposition, with
a directed graph G[4], in which a directed arc a uniquely
only few papers involving singularity analysis. DCM
stands for a constraint c, and c matches with the head
2D/3D is one of the best constraint solvers in the world.
vertex of a. The process of creating a directed graph is in
But according to our experiences, definition of constraints
fact an iterative process of finding matching vertex for
and dimensions in DCM is affected by operation order in
every constraint. It is essentially the bipartite matching of
under-constrained system. It seems that DCM has not
<c,e>, where e is geometric element. Following are
perfectly
several important concepts used in the paper:
resolved
the
singularity
problem
for
under-constrained system. Light[1] tried to differentiate
Compound Vertex: In directed graph G, a strongly
the redundancy of a constraint according to the singularity
connected sub-graph can be reduced to a single vertex
of its Jacobian matrix. Wang Boxing[7] indicated that if
called compound vertex.
there is redundant constraint, the Jacobian matrix of the
system must be singular.
Residual DOF(RDOF): The difference between the
Degree of Freedom(DOF) of a vertex and the number of
Our research work is based on constraint directed
its matching constraints is called its RDOF; RDOF of a
graph. Generally, graph-based singularity analysis is fit for
compound vertex is the sum of RDOF of all the vertices in
well-constrained system and over-constrained system. In
it.
If the RDOF of a vertex is more than 0, it is free.
this paper, singularity analysis method is extended to
Propagation Set and Predetermination Set: In a
under-constrained system. The reasons leading to a
DAG(directed acyclic graph), the vertex set found by
singular Jacobian matrix of a geometric constraint system
DFE(depth first ergodicity) from vertex v is called the
*Corresponding author.
E-mail: [email protected] (Peng Xiaobo);
[email protected] (Chen Liping);
propagation set of v. While the vertex set found by inverse
DFE from v is called its predetermination set.
Transitive path: Constraints c1 and c2 correspond to
an in-arc and an out-arc of vertex v1 respectively. The
explicit parameter sets in algebra expressions of c1 and c2
are P1 and P2 respectively. If P1∩P2≠Ф, then c1 and c2 are
c3 = PntOnLine(p1,l3);
c4 = PntOnLine(p3,l3);
c5 = PntOnLine(p2, l2);
c6 = PntOnLine(p3,l2);
c7 = DistPP(p1,p2,d1);
c8 = DistPP(p2,p3,d2);
c9 = DistPP(p1,p3,d3)
If add a new height constraint c10=Height(p2,l3,h)
transitive at v1 and any change of either one will affect the
other. If all the constraints along a path are transitive and
between p2 and l3, c10 will cause saturated singularity.
the end vertex is free, then the path is transitive.
The remainder of this paper is organized as follows:
Section 3 describes three types of singularity and analyzes
pseudo-singularity for under-constrained system; Section 4
advances the symbol method and the numerical method for
singularity differentiation. In the section, a singularity
differentiation algorithm is presented and some examples
are illustrated; Section 5 gives a conclusion.
(a)
3 Singularity types
p2{c7
c10}:0
c2
A geometric constraint system can be expressed as a
proposed
to
p1{c9
}:1
decompose
geometric constraint system so that a geometric system is
c6
c8
p3{c8
,c4}:0
c9
c4
were
c10
blocking triangular form of sparse matrix, many dividing
c7
c1
set of non-linear equations. Based on the algorithm for the
methods[1,3,4,5,8]
l2{c5,
c6}:0
c5
l1{c1,
c2}:0
c3
l3{c3}
:0
reduced to a set of sub-systems that can be solved orderly.
(b)
In these methods, singularity analysis of constraints is a
Fig.1 Saturated singularity
key subject.
3.2 Embranchment singularity
3.1 Saturated singularity
Chen Liping[3] presented the concept of Saturated Set:
According to mechanism kinematics, if at the time of
if under geometric constraint set C in which there is no
t* there is a position q* for the system where the Jacobian
redundant constraint, relative DOF between any two
matrix q(q*,t*) is not singular, then according to the
geometric entities in entity set E is zero, then E is called a
Implicit Function Theorem, for δ>0, the system has a
Saturated Set under C. A saturated set can be regarded as a
stable unique solution q(t) near q* in the period of |t-t*|<δ.
rigid body composed of its inner geometric entities.
Solution 1 and Solution 2 in Fig.2(b) are two examples of
Any constraint c added into a saturated set will cause
q*. On the other hand, if there exists locking or
a singular Jacobian matrix and thus is called saturated
embranchment at the time of t*, then when t→t* there is
redundant constraint. In this case, the bipartite matching
no solution and the motion of the system loses its certainty.
operation of c, which is to find its matching vertex in the
For example, at the position showed in Fig.2(a), the next
directed graph, will fail.
moving direction of the system can not be decided and the
In Fig.1, when the lengths of the three sides of
system becomes singular. In the research of multi-body
triangle P1P2P3 are decided, P1P2P3 is also decided. It can
system, E.J Haug[9] and Hong Jiazhen[10] considered
be regarded as a rigid body. The constraints are as follows:
that this kind of singularity occurs only at isolated points,
Geometric entity set: E = {p1,p2,p3,l1,l2,l3};
e.g. position q* in Fig.2(a), and called it isolated
Constraint set: C = {ci | i=1,9}
singularity.
c1=PntOnLine(p1,l1);
This case also occurs in geometric constraint
c2=PntOnLine(p2,l1);
2
satisfaction
problems
such
as
parametric
design.
Solution
1
解1
6
Considering that two curves are constrained by tangency
Embranchment
constraint. The constraint system is non-linear and the
5
分支点
Point bb
6
3
5
Jacobian matrix q is dependent on the orientation
3
ang
8.5
parameter vector q of the system[12]. The system is
8.5
解2
singular. Obviously the singularity occurs only when
Solution 2
(a)
tangency constraint exists or rather at the isolated points.
(b)
That is to say, tangent point can be considered as the
Fig.2
isolated point of the system.
There is only one difference between embranchment
singularity of mechanism analysis and that of geometric
constraint satisfaction problems: Kinematics analysis can
be considered as geometric constraint problem based on
time sequence. While for static GCSP like parametric
design, when we say a system is of embranchment
Fig.3 Embranchment singularity caused by tangency
there are constraints leading to isolated singular points for
the system. For example, if the influence of time is not
l1{c3,
c5}:0
c3
considered in Fig.2(a), when some constraints make the
c7
p1{c1,
c2}:0
c3=PntOnLine(p1,l1);
c5=Horizontal(l1);
c6 = PntOnCircle(p2,c);
c7=PntOnCircle(p3,c);
c8=PntOnLine(p3,l2);
c9=Horizontal(l2);
c10=DistPP(p1,p2,d1);
c11=DistPP(p1,p3,d2);
l2{c8,
c9}:0
p2{c4,
c10}:0
be written as follows:
c4=PntOnLine(p2,l1);
c8
c10
horizontal, c is tangent with l1 and l2. The constraints can
c2=FixY(p1);
c{c12,
c6,c13
}:0
c6
singularity. Similarly, in Fig.3, p1 is fixed, l1 and l2 are
c1=FixX(p1);
p3{c7,
c11}:0
c11
c4
quadrilateral to be a triangle, the system is of isolated
c12
c13
singularity, we mean that the system is at a position where
Fig. 4 A directed graph of embranchment singularity
c12=TanLC(l1,c);
c13=TanLC(l2,c);
Fig.4 is the directed graph of Fig.3. The strongly
connected sub-graph SC={p3,l2,c} corresponds to a 7×7
Jacobian matrix q. q is singular and rank(q)=5. Its
l1{c1}
:1
c9
and the singularity comes from the tangencies between c
c3
and l1, l2.
p1{c3}
:1
3.3 Redundancy singularity
c6
c7
p0{c4,
c6}:0
c8
(c)
c4
points. Obviously, there is no redundant constraint here
l2{c2,
c9 }
:0
c5
rank deficit is 2, being equal to the number of tangent
c{c8,
c7,c5}
:3
Fig. 5 Redundancy singularity
There is no essential difference between redundancy
singularity and saturated singularity, which are both
singularity. Redundancy singularity often produced by the
caused by redundant constraints. When a redundant
existence of equivalent geometric constraints.
constraint can be decided by a symbol method, it is called
Unlike saturated singularity, this type of singularity is
saturated singularity; Otherwise, it is called redundancy
common when system is under-constrained, especially
3
A
during the initial phase of design. For an under-constrained
vertex, symbol method can not be used to judge its
l1
l3
singularity by simply calculating its RDOF, because in this
60°
B
case, singularity might still exist even if the vertex is free.
l2
C
(a)
For instance, when a vertex of DOF 3 is constrained by
two geometrically equal constraints, the vertex is free and
l4
c7
the directed graph is normal, but singularity occurs.
Considering the constrained geometry in Fig.5(a):
c1=Horizontal(l1);
D
l4
c6
D
c5
A
c2=Vertical(l2);
l3
c0
c11
c9
c4
c3=PntOnLine(p1,l1); c4=Cent_X(p0,c);
c5=Cent_Y(p0,c);
c6=PntOnLine(p0,l2);
c7=Tangent(l1,c);
c8=PntOnCircle(p1,c);
l1
C
c10
c80
c1
c3
B
c9=PntOnLine(p1,l2);
Fig.5(c) is the directed graph of Fig.5(a). It can be
l2
c2
(b)
seen that circle c and its center point p0 constitute a
Fig.6 Redundancy singularity
strongly connected component SC. Although the RDOF of
Here it is also impossible to judge the singularity by
SC seems to be zero in the graph, when the radius of c
calculating the DOF of vertices. In fact, constraints
changes, all the constraints can still be satisfied(Fig.5(b)).
AB//DC and AD//BC are equivalent to |AB|=|CD|, which
That is to say, SC is not fixed and the system is singular.
leads to the singularity.
This singularity is just caused by the existence of
equivalent geometric constraints. This kind of singularity
3.4 Pesudo-singularity
can not be decided by symbol method and numerical
method should be adopted.
For an under-constrained system, the matching
Fig.6(a) is another example of redundancy singularity:
modes between constraints and entities are various.
AB//DC, AD//BC, |AB|=|CD|, ∠B=60°, |AB|=5. The
Different constraint matching modes produce different
constraint set is:
solving sequences. Part of these solving sequences may
c0=PntOnLine(A,l1);
c1=PntOnLine(B,l2);
contain singular units and are called ill-conditioned
c2=PntOnLine(B,l2);
c3=PntOnLine(C,l2);
solving sequence. However, this kind of singularity can be
c4=PntOnLine(C,l3);
c5=PntOnLine(D,l3);
c6=PntOnLine(A,l4);
c7=PntOnLine(D,l4);
c8=AngBtLine(l1,l2,60);
c9=ParalLL(l1,l3);
c10=ParalLL(l2,l4);
c11=DistPP(A,B,5);
A
l1
Absolute constraint:
l2
l1 is horizontal and fixed;
p
c1=OnLine(p,l1);
c2=OnLine(p,l2);
c12=EqualLen((A,B),(C,D));
ABCD is a parallelogram. Fig.6(b) is the directed
c1
v(l1)
v(p)
v(l1)
c1
v(p)
graph of fig.6(a). Three dashed arcs in Fig.6(b) denote the
c2
four-element constraint c12=EqualLen((A,B),(C,D)), which
c2
v(l2)
is different to binary constraints. Three arcs of c12 mean
v(l2)
(b-1)
(a-1)
that c12 involves 4 vertices. But the three arcs work as a
single one and reduce the DOF of the vertex D by 1. It can
c1
v(l1)
be seen that the total RDOF of the system is 3 and there is
v(p)
c3
no local over-constraint in the graph. The system seems to
c2
v(l2)
be well-constrained. However, it is obvious that CD can
move along AD. That is to say, the system is not
(a-2)
under-constrained. So in the system there exists singularity.
Fig.7
4
v(l1)
c1
c3
v(p)
c2
v(l2)
(b-2)
An example of pseudo-singularity
removed by improving the constraint distribution. If a kind
constraint directed graph. There must be a matching vertex
of singularity can be eliminated by adjusting constraint
for a normal constraint. Otherwise, the directed graph can
distribution, it is called pseudo-singularity.
not be created correctly.
In the example of Fig.7, l1 is horizontal and fixed. p
Property 2: If constraint c is redundant, then the
is the intersection point of l1 and l2. A is the angle between
Jacobian matrix q of the matching vertex of c is singular.
l1 and l2. This under-constrained system has two possible
That is, in our research, q has row rank deficit.
directed graphs(Fig.7(a-1) and Fig.7(b-1)). Now add an
Any redundant constraint belongs to an interrelated
angle constraint c3=AngLL(l1,l2,180) between l1 and l2.
constraint set. In our research, each row vector of the
Then (a-1) and (b-1) develop to (a-2) and (b-2)
Jacobian matrix of the interrelated constraint set is
respectively. In the case of (b-2), intersection point p can
composed of the partial derivatives of orientation
not be solved from two superposed lines l1 and l2. The
parameters of one constraint equation in the set. Because
system is singular. However, for the same system, the
of the relativity of the constraint set, the row vectors of its
solving sequence in (a-2) is normal. This situation is call
Jacobian matrix are also relative and there must be deficit
pseudo-singularity. To avoid the pseudo-singularity in
of row rank of the Jacobian matrix.
(b-2), adjust constraint c2 and let it be matched with v(l2),
Property 3: Assume that vs is a compound vertex and
then the directed graph is optimized to (a-2) and the
there is no unary constraint that describes absolute position
solving sequence v(l1)v(p)v(l2) becomes normal.
in vs, if (i) the predetermination set of vs is empty and the
So we can conclude that: (1) For under-constrained
RDOF of vs is less than that of a rigid body or (ii) the
system, singularity of a constraint can not be simply
predetermination set of vs contains only one vertex P, the
determined by the singularity of a single vertex; (2) For
RDOF of vs is zero and number of the out-arcs from P to
under-constrained system, if a constraint has at least a
vs is more than the DOF of P, then there must be saturated
normal solving sequence, then it is normal.
singularity.
We adopt the steps as follows trying to eliminate
Generally, there are two methods to position vs: one
pseudo-singularity: Once an ill-conditioned vertex vss is
is using unary constraints that describe absolute position
obtained, constraint matching adjustment[8] will be
such as fixed position, horizontal, vertical and so on. This
implemented on the non-propagation set of vss to search
situation is excluded by property 3. The other method is to
for a inverse transitive path P. Reverse the arcs along P to
l2{c5,
c6}:0
propagation set of vss is enlarged and a new solving
p2{c7
c10}:0
c1
sequence is obtained. To ensure the new solving sequence
c2
c8
c3
c4
c9
p1{c9
}:1
the new solving sequence. Readers please refer to
p3{c8
,c4}:0
c10
c7
is normal, the algorithm needs to check all the vertices in
c6
l1{c1,
c2}:0
c5
move the constraint matched with vss so that the
l3{c3}
:0
reference[8] for details.
(a)
4 Singularity differentiation
c1
properties:
p1{c9
,c3}:1
Property 1: If constraint c is not redundant, then
c6
p3{c8
,c4}:0
c8
c7
A geometric constraint system has following three
c5
p2{c7
c10}:0
c9
4.1 Graph differentiation method
l2{c5,
c6}:0
c2
l1{c1,
c2}:0
c1
0
c4
c3
l3{}:2
there must be a geometric entity e in the system,
(b)
DOF(e)>0 and c can be matched with e(<c,e>|e∈E).
This property comes from the definition of geometric
Fig.8 Graph character of saturated singularity
5
position by its predetermination set P. If P is empty or
perturbation direction; F is the constraint equation. Then
there is only one geometric entity whose DOF is less than
compute with the iteration formula
that of vs, obviously it is impossible for vs to be positioned
q j 1  q j   q j  F j ,
and there must be saturated singularity among the
Where q is the orientation parameter vector of vi,  q is
j
constraints of vs.
Property 1 and 2 are two necessary conditions for a
the general inverse of q. Because the perturbation is
normal constraint. Property 3 indicates the graph character
small, after few steps of iteration can we determine if there
of saturated singularity and becomes an efficient symbol
is a solution or not. If there is a solution for either
differentiation method for this kind of singularity. For
perturbation direction for ci and row rank deficit of q
instance, Fig.8(a) is the strongly connected graph of
decreases, the singularity caused by ci is embranchment, or
Fig.1(b), in which the only strongly connected sub-graph
it is redundancy. By this means, the types of singularity of
SC has 4 entities and its RDOF is 2×4-6 = 2. After the
all the constraints in Cr can be decided.
optimal matching adjustment[8], which can ensure the
RDOF of any compound vertex vi Dof(vi)→0, SC contains
In Fig.5, there is redundancy among the constraints
3 entities Vs={p1,p2,p3} and RDOF=2×3-6 = 0(Fig.8 (b)).
between compound vertex Vs and c6,c7,c8. When Cr={c6},
The predetermination set of Vs is P={l3}. The DOF of l3 is
2. However, it can be seen that there are three arcs from l3
the perturbation is:
a2x0 + b2y0 + c2 = ,
to Vs, corresponding to constraints c3, c4, c10, which means
where a2,b2,c2 are parameters of l2. After perturbation, l2
rigid body Vs whose DOF is 3 is fully determined by l3
will have a slight translation and then the intersection
whose DOF is 2. It is obviously impossible. According to
point of l1 and l2 can not be on circle c(Fig.9(a)). There is
Property 3, there must be saturated singularity in SC.
no solution for this perturbation. If Cr={c7}, the
perturbation is:
4.2 Constraint Residue Perturbation Method
a1xc + b1yc + c1  r = ,
where a1,b1,c1 are parameters of l1. It means that l1 moves
For redundancy singularity and embranchment
singularity, numerical judging method should be applied.
l1
l1
p1
l1
p1
p1
To decide singular points, E.J.Haug[9] presented a variable
perturbation method. This method is efficient. However, it
p0
applies perturbation to all the entities in the system
l2
c
p0
c
p0
l2
l2
Perturbation
indiscriminately and the scope of perturbation does not
l1
vary for different entities, which increases the expense of
No solution
无解
time of the method.
No solution
无解
Considering that singularity is caused by redundant
constraints,
we
advance
the
Constraint
c
扰动解
Residue
(a) (a)
Perturbation Method(CRPM) which only involves the
redundant constraint set:
p1
solution
p0
c
l2
(b)
(c)
Fig. 9 Redundancy singularity
If Jacobian matrix q of a solving unit vi is singular,
then redundant constrain set Cr  C can be found easily
Perturbation
l
using Gaussian Elimination Method. Here C is the
constraint set of vi. Set a perturbing value  for each
Perturbation
constraint ci ∈ Cr and then adopt Newton-Raphson
soloution
p
扰动解
iteration. For
c
ci∈Cr  Fi= Fi ,
soloution
l 扰动解
p
p
c
(a)
where > ,  is the iteration precision;  means
l
c
(b)
(c)
Fig.10 Embranchment singularity
6
along l2(Fig.9(b)). Obviously, the perturbing result also
singularity) then c is redundant and return
makes p1 not on circle c, which is inconsistent to c8 and
FALSE;
there is also no solution. When Cr={c8}, perturbation is
else if (there is v∈S and v is of redundancy
singularity) then {search for reverse transitive
( xc  x1 ) 2  ( y c  y1 ) 2  r   .
paths P on the non-propagation set of v;}
It means that the radius of circle c changes for the
else {print(“c is normal constraint”) output the
perturbation. From Fig.9(c), it can be seen that after
solving sequence; return TRUE;}
perturbation, all the constraints are still satisfied and
step5
If (P is empty) c is redundant; return FALSE;
perturbing solution can be easily obtained. The Jacobian
else{apply reverse operation on P; reset the
matrix q of Vs is:
solving sequence S; goto Step2;}
c4 :
where
x0
y0
xc
yc
r
1
0
1
0
0
In Algorithm 1, step 4 needs to judge the singularity
c5
0
1
0
1
0
type of vertex v. Algorithm 2 gives this judging method:
c6
a2
b2
0
0
0
Algorithm 2: Judging the singularity type of vertex v
c7
0
0
a1
b1
1
step1
c8
0
0
( xc  x1 ) / R ( y c  y1 ) / R  1
E  { p0 , c}
,
C  {c4 , c5 , c6 , c7 , c8 ,}
if (v satisfies Property 3)
return “v is of saturated singularity”;
,
T
q  x0 , y0 , xc , yc , r , R  ( x c  x1 ) 2  ( y c  y1 ) 2 .
step2
Compute the Jacobian matrix q of v;
step3
If (q is normal) return “v is normal”
step4
Compute dependant constraint set Cr in v by
Because p0 and p1 are always on l2 before and after
Gaussian Elimination Method.
perturbation and the values of (xc-x1)/R and (yc-y1)/R do
Step5
i = 1, r is the number of constraints in Cr.
not change, the row rank deficit of q is unaltered.
Step6
ci∈Cr, r0=rank(q);
According to CRPM, c8 causes redundancy singularity.
Step7
Add a perturbation δ on ci;
Similarly, in Fig.10(b), line l is tangent with circle c.
Step8
Solve v;
The system is singular. After either perturbation shown in
Step9
If (there is no solution)
return “v is of redundancy singularity”;
Fig.10(a) or Fig.10(c), the row rank deficit of the Jacobian
matrix of the system decreases to 0, which shows the
else if(r1=rank(q)≤r0)
return “v is of embranchment singularity”;
system has embranchment singularity.
The algorithm of singularity differentiation can be
summed up as follows:
step10
If (i<r) {i+1, go to step5};
step11
return “v is normal”;
Algorithm 1: Globally judging the redundancy of
constraint c in an under-constrained system
step1
step2
step3
Algorithm 1 adaptively enlarges the propagation set
If the bipartite matching of c fails, c is
of constraint c according to the singularity types of the
redundant; return FALSE;
vertices in the solving sequence SC and eliminates the
Initialize directed graph G; Get the propagation
singularity. Because the repeat of Step2 is limited, the
set PS of c.
complexity of the algorithm is approximately equal to that
Adopt optimal adjustment algorithm[8] to
of DFE: O(n+e)[11]. The algorithm works well for
obtain the strongly connected sub-graphs on PS
under-constrained systems. However, it is also efficient for
and make G a directed non-loop graph. Then the
well-constrained and over-constrained systems.
solving sequence S={vi} from c can be obtained
along the our-arcs of c.
step4
if (there is v ∈ S and v is of saturated
7
CbaDigraph
CBA classes
CbaObject
CbaSolveUnit
CbaConstraint
CbaModel
CbaBody
CbaModel2D
CbaBody2D
CbaModel3D
CbaBody3D
CbaDim2D
CbaConstraint2D
CbaDim3D
CbaConstraint3D
CbaGeomEntity
CbaSolveUnit2D
CbaPoint2D
CbaPoint3D
CbaLine2D
CbaLine3D
CbaCircle2D
CbaPlane3D
CbaEllipse2D
..........
Fig.11
CbaRelation
CbaSolveUnit3D
CbaDivertex
CbaDigraph2D
CbaDigraph3D
CbaDiEdge
the hiberarchy of CBA
Fig.12 An example of constraint identification
1
1
3
3
2
2
(a)
(b)
Fig.13 Assembling a tripod
constraints in these constraints. Finally, 2n+1 horizontal
4.3 Some examples
constraints, 2 vertical constraints, 4+3(n-1)=3n+1 tangent
constraints and 3 point-on-line constraints are obtained by
Using O-O method we presented a united modeling
method for both 2D and 3D geometric constraints and
developed
a
CBA(Constraint
2D/3D
geometric
Broadcasting
constraint
solver
Automation).
Fig.11
illustrates the hiberarchy of CBA.
CBA2D. In this example, all the types of singularity
mentioned above occur. Particularly, after the constraint
identification, labeling some dimensions (e.g. Fig.12(b))
will lead to sophisticated embranchment singularity.
CBA2D also can deal with such kind of problems.
The module of constraint identification in CBA2D
transforms general engineering graphs to parametric ones
and identifies geometric constraints according to relative
positions of geometric entities. Fig.12(a) is a keyway that
has n loops. By geometric detection, 2n+1 horizontal
constraints, 2 vertical constraints, 4n tangent constraints
and 4n+4 point-on-line constraints are made out. The
algorithm identifies successfully that there are n-1
redundant tangency and 4n+1 redundant point-on-line
In another 3D example in Fig.13(a), pole 2 mates
with pole 1 and pole 3 by two co-axis relations. Each
co-axis relation includes 4 constraints. If add another
co-axis relation between pole 1 and pole 3, CBA3D will
close
the
tripod
constraints(Fig.13(b)).
and
find
(Readers
out
two
please
redundant
refer
to
reference[12] for our research of geometric constraint
expression and decomposition). Practice has proven the
differentiation method presented in this paper fast and
efficient.
perturbation
method
are
advanced
to
differentiate
efficiently singular constraints. All the algorithms and
5 Conclusion
methods proposed in this paper can also be applied to 3D
geometric constraint system and has proved efficient and
Singularity is an important factor that affects directly
fast in CBA 3D.
the solving ability of geometric constraint solver. In this
paper, three types of singularity are presented and
pseudo-singularity,
which
is
very
common
6 Acknowledgement
in
This work was supported by the National “863”
under-constrained systems, is analyzed. As one part of the
kernel of our geometric constraint solver CBA, the graph
differentiation
method
and
the
constraint
Project under grant 9842-003 in the field of automation.
residue
References
1
2
Light
R, Lin V, Gossard D. Variational geometry in CAD.
key technologies of geometric constraint driven function in
Computer Graphics, 1981,15(3)171-177
traditional drafting systems. Chinese Computer Research &
Kramer G.A. A geometric constraint engine, Artificial
Development, Vol.35, No.10, pp935-940,1998.
intelligence, 1992, 58: 327-360
3
4
8
Chen liping, Zhou Ji. Research of geometric constraint
Graph Matching for Underconstrained Geometry Solving.
system reasoning. Journal of Huazhong Univ. of Sci &
Chinese Journal of Computers Vol. 23, No. 5, May 2000:
Tech,1995, 6:70-74.
pp523-530.
Dong jinxiang. A new thought of constraint solving in
9
variable drawing system. Journal of computer-aided design
10 Hong Jiazhen, Computational Dynamics of Multibody
Jae Yael Lee, Kwangsoo Kim. A 2-D geometric constraint
System. Advanced Education Press, China, 1996(4):70.
solver using DOF-based graph reduction. Computer-Aided
11 Yan Weimin, Wu Weiming, Data Structure, Tsinghua
Design, 1998,30(11):883-896
6
University Press, China, 1992.
Xiao-Shan Gao,Shang-Ching Chou, Solving geometric
12 Chen Liping, Peng Xiaobo, Proceedings of ASME
DETC’00, Baltimore, Maryland, September 10-13, 2000.
constraint systems. A symbolic approach and decision of
Rc-constructibility. Computer-Aided Design Vol.30,No.20.
pp115-122,1998
7
Haug E.J, Computer Aided Kinematics and Dynamics of
Mechanical Systems, Vol. I Basic Method, 1989.
& computer graphics, 1997, 9(6):513-519.
5
Chen Liping, Wang Boxing, An Optimal method of Bipartite
Wang Boxing, Chen Liping, Zhou Ji, Study and practice of
9