# Generating the Isocurve Representation for Configuration Space of Mechanisms

Authors: Weirui Kang; Jiani Zeng; Qinghua Liu; Zhengdong Huang
Journal: Mathematical Problems in Engineering
 (2018)

---

## Abstract

This paper proposes an approach for generating a set of isocurves as a representation for configuration space (CS) of a mechanism. An isocurve here is a curve in CS with some parameters fixed. Compared with conventional methods like box approximations, sampling points, and boundary tessellations, the isocurve-based representation has some advantages in space parameterization and data management. This approach directly formulates the joint loop equations in the form of kinematic matrices, which does not need any extra conversions and solves the equations with an isocurve-tracing method applying ODE solvers. Since the isocurves are connected in certain orders with the guide isocurves in a lower-dimensional space, tracing all the isocurves only needs one initial solution point for an isolated solution component. In addition, the proposed approach includes an interference-handling step, which trims off the collision portions of the isocurves by checking their feasibility according to the previously defined half-space constraints, and a measure for identifying the forward direction at singular points where the first-order derivatives vanish. The approach is implemented through programming and the results for a few examples show its effectiveness.


---

## Body

## 1. Introduction

The configuration of a part in mechanism is its position and orientation in a world coordinate system and the configuration variables for a single part are simply its three-position coordinates and three-orientation angles, which usually serve as its configuration representation [1]. Configuration space (CS) of a mechanism is a representation for all the feasible positions and orientations of all parts in the mechanism. Taking into account the motion constraints on closed chains and the collision-free requirements between different parts, the CS is often one or more regions of certain manifolds in a high-dimensional space [2] and it reflects overall kinematic characteristics of the mechanism. Usually, the CS coordinates are the kinematic parameters, its manifold dimensionality shows the degree of parameter coupling imposed by loop constraints, and its boundaries indicate the range of feasibility from interference-free requirements. Therefore, configuration space is frequently used in mechanical design for kinematical identification, function verification, and design optimization [1, 3]. Operation planning and control is another important application of configuration space after the design is finished [2, 4]. In this case, a subset of mechanism’s CS can be utilized to describe the feasible motion ranges or the reachable space of a specific point of the mechanism after considering its interference with environmental obstacles and other actuation requirements, which is known as workspace in robotics.Generally, there exist three kinds of representation schemes for mechanism’s CS; they are box approximations, sampling points, and boundary tessellations. Box approximation methods, which describe the range of CS with a number of boxes with various sizes, are mostly adopted in the design research community because the workspace volume as an important performance metric can be calculated conveniently from this representation [5, 6]. Sampling points methods are often used in path planning area, in which the points randomly generated within CS together with the edges connecting them serve as a representation for the feasible configurations and their transition relations [7, 8]. The graph form of the sampling points representation is well suitable for the purpose of optimal path search and there is no special difficulty in handling higher-dimensional problems. Boundary tessellation methods that only focus on the positions of boundary points of CS are also preferred by some researchers [9, 10] because of their simplified target in generating the representation and probably more precise results. Although the above CS representations can support the functions in design and planning in some ways, they cannot meet the requirements in more sophisticated design analyses and process planning that involves frequent queries of the CS points, especially for the CSs trimmed from lower-dimensional manifolds in higher-dimensional spaces because the identification of each CS point requires solving nonlinear equations with a large number of unknowns. For example, when one is planning the motion of a complex parallel mechanism, he may need to frequently retrieve the neighboring CS points in order to identify an optimal motion step. In this case, the well-prepared CS representation can greatly reduce the computation cost spent on the CS point retrievals.This paper proposes to represent a CS with a set of trimmed isocurves in certain orders. An isocurve here is a curve in the CS manifolds with some parameters fixed. Compared with the conventional methods mentioned above, the isocurve-based representation has some advantages in space parameterization and data management, and thus it is convenient for querying individual points in CS. However, identifying these points in large number needs efficient and precise algorithms for solving constraint equations.There exists plenty of research work on solving constraints in mechanisms and a good brief review could be found in [11]. Generally, the approaches developed in the past can be classified into two categories: algebraic methods and numerical methods. The algebraic methods include the elimination method [12, 13] and the Gröebner basis method [14]. The methods have advantages in finding all the solutions with high precision, but they usually suffer from the difficulties emerging in implementation that involves the equation form conversion and symbolic computation. Most of the numerical methods reported in literature are the continuation method [15–17] and the interval-based methods [11, 18–20]; the latter is more frequently used in practical cases, which generate box approximations for a CS. To avoid missing a solution, the interval-based methods check all the boxes in a CS whether they include a solution point and then minimize the boxes to achieve an appropriate precision. Although the computation cost may not be low, the calculation process is relatively simple compared to approaches involving the inverse computations. Usually, the forward computations from CS to constraint function values are carried out with the interval arithmetics [11, 18]. But partially using the inverse computations, such as the extreme point identification with optimization approaches [19] and the region exclusion by checking proper conditions for branch-and-bound approaches [20], is helpful for improving the efficiency. Newton-Raphson method, as a popular numerical method for solving general nonlinear equations, was also used for solving constraints in mechanisms [21–23]. While it usually produces the solutions with higher precision compared to the interval-based methods, it can only identify the solutions point by point. In this paper, an ODE-based approach is proposed to obtain the isocurves in the solution space of mechanism constraints.This paper is organized into seven sections. In Section2, the concept and representation of isocurves for a CS are presented. After this, the formulas for the ODE-based approach that generates isocurves are derived in Section 3. Section 4 focuses on the method for trimming the isocurves with interference-free constraints, while Section 5 gives a second-order derivative approach for identifying the forward direction at singular points. Section 6 presents the computational results of three examples obtained with the proposed methods. Finally, the paper is ended with some conclusions and outlooks in Section 7.


## 2. Isocurve Representation for CS of Mechanism

For a given mechanism, letX=(x1,x2,…,xp)be the vector of motion parameters consisting of all its joint variables and assume that X is constrained by equality constraintsh(X)=(h1(X),h2(X),…,hq(X))=0,q<p, which are mainly composed of the loop equations on all the closed kinematic chains. Then its configuration space without considering the collision-free requirement between parts in the mechanism is(1)S=X∣hX=0,X∈Rp.Here,Ris the real number set and Rp is thep-dimensional space.PartitionXisX=(Y,Z), whereY∈Rnis the vector foractive parameters whileZ∈Rp-nis the vector composed ofpassive parameters. Here, active parameters are the motion parameters whose values can be changed independently while passive parameters are those whose values are determined by solving the equality constraints for given active parameters. Then, the domain of active parameters Y can be defined as follows:(2)D=Y∣∃Z,Y,Z∈S.In addition, useM(Y)={X∣X=(Y,Z)∈S}to denote the set ofX-points in S that are associated with a Y-pointYin D. For a givenY,M(Y)consists of all theX-points, made of X=(Y,Z), which satisfy the equality constraints. Generally,M(Y)includesm points for a mechanism withm solution components.For a fixed pointY0=(y10,y20,…,yn0)∈D, define the set Dk={(y1,…,yk,yk+10,…,yn0)∈D}(1≤k≤n) extended fromY0by making its firstk coordinates varying and the CSS’s subset Sk=⋃Y∈DkM(Y). Anisocurve of S is a curve which has all the active parameters fixed except one of them. Let yi be the variable active parameter and then the yi-isocurve at Y0 can be expressed with(3)CY0;yi=X∣∃yi,X∈MY,Y=y10,…,yi-10,yi,yi+10,…,yn0∈D⊂S.Here, Y0 defines the starting point of an isocurve whileyigives its variable. It is worth noting that theisocurve variableyimay not vary monotonically on the curve like the parameter of an ordinary parametric curve. Furthermore, we define Qk={C(Y;yk+1)∣Y∈Dk} to be an isocurvecluster, whereDkis called theguide of the cluster and it specifies all the starting points of the isocurves inQk. Actually,Qn-1formsan isocurve representation of configuration spaceS because(4)S=⋃Y∈Dn-1CY;yn.Therefore,Sn, that is, S, is represented with theyn-isocurveclusterQn-1at guide Dn-1. Recursively,Skis represented with theyk-isocurveclusterQk-1at guideDk-1, and, finally,S1is represented with a singley1-isocurveat guide D0={Y0}. Summarily, they are(5)Sk=⋃Y∈Dk-1CY;yk,k=1,2,…,n.According to the above formulation, starting with a given feasible point Y0∈D or a point inM(Y0)⊂S, a hierarchical isocurve representation can be created in the order implied in (5). The representation mainly has three characteristics (see Figure 1): (1) it is parametric because the points inScan be arranged in the hierarchical order; (2) the elemental entities of the representation are curves inRp; (3) the curves are grouped and connected in a specific way, which facilitates the generation and query of them.Figure 1
Hierarchical isocurve representation for configuration space.
(a)
S 1 generated from S0 (b)
S 2 generated from S1 (c)
S 3 generated from S2


## 3. ODE-Based Approach for Isocurve Generation

Suppose thath(X)=0represents the equality constraints for the mechanism under investigation. In detail, the equality constraintsh(X)=0are further divided into loop constraints AiX=I(i=1,2,…,m) and selection constraintsci(X)=0(i=1,2,…,s). Here,m is the number of independent joint circuits in the mechanism, I is the identity matrix, and Ai=Ai1,i2Ai2,i3⋯Aik-1,ikAik,i1 is the motion matrix along the ith closed chain, whereAi,jis a4×4transformation matrix expressing the relative motion from part Pi to Pj. Meanwhile, the selection constraintsci(X)=0are adopted here to express certain temporary preferences in the motion computation, like making a parameter equal to a fixed value. So, generally, there is (6)hX=A1X-I,…,AmX-I,c1X,…,csX.For an isocurve, there is a parametric expressionX=X(t)for the solution ofh(X)=0when appropriate selection constraintsci(X)=0are imposed on some parameters. Fromh(X(t))≡0for variablet, there are∇Ai·X˙=0(i=1,2,…,m) and∇ci·X˙=0(i=1,2,…,s), where ∇A·X˙=(∇aij·X˙)4×4 for A=(aij)4×4and X˙=dX/dt. The former is equivalent to Ai-1(∇Ai·X˙)=0, which can be expressed in the form of screws:(7)$i,1$i,2⋯$i,p·X˙=0,where$i,k=screwAi-1∂Ai∂xk.The purpose of using the screw form here is to reduce the number of equations from 12 to 6; this is true for all the individual loop constraints of a mechanism because the constraint equations in a homogeneous4×4matrix are converted into the 6×1 vector form for screws. The reduction of constraints is mainly due to the fact that the derivatives ∂Ai/∂xk of the 12 constraints in matrix equationAi(X)=Ionly have 6 independent elements when they are expressed in the frame ofAias Ai-1∂Ai/∂xk. Assembling the equations for X˙, we have(8)JX˙=0,J=T1⋮Tm∇c1T⋮∇csT,Ti=$i,1$i,2⋯$i,p.HereJ is a(6m+s)×pmatrix. For an appropriately defined isocurve that has only one DOF for expressing the point variation in the curve, the rank ofJ is p-1 and its one-dimensional null space can be obtained with the singular value decomposition. Usually, an appropriate isocurve is defined by specifying the right selection constraintsci(X)=0. Suppose that the unit basis vector of its null space isd, which satisfiesJd=0. Then the Ordinary Differential Equations (ODE) for the isocurve is(9)X˙=σdX,σ=±1,dX=nullJXX0=X0.Here σ is a sign chosen to make the right sideσd(X)change continuously along the isocurve. Since the solutions obtained from a linear system solver forJd=0are two vectors ±d, the choice of the solution’s sign is needed in order to ensure that the curve tracing is conducted in a consistent direction. In this research, σ is chosen at each step of the numerical calculation so that the inner product of the current σd(X) with the one at the previous step is a positive value.


## 4. Trimming the Isocurves with Collision-Free Constraints

### 4.1. Interference-Free Constraint between Point and Convex Body

Construction of interference-free constraints is a complicated work and so we simplify the problem with some approximations (see Figure2). Here, the interference-checking is made for a pair of parts Pi and Pj with relative motion Ai,j, which could be an obstacle to avoid in space or a link of the mechanism. First, both of the parts are represented with a set of implicit functionsFl={fl,1(x),fl,2(x),…} that bound a region in the way Pl={x∣f(x)≤0,f(x)∈Fl}(l=i,j), wherexis a point coordinate defined in the part’s local coordinate frame. Second, both of the parts are approximated with a set of scattered pointsVl={vl,1,vl,2,…}(l=i,j) where vl,k are the points’ coordinates in Pl’s local frame. Then, the interference-free constraints between Pi and Pj are defined as follows:(10)gi,j≤0,gj,i≤0wheregi,j=-minv∈Vj⁡maxf∈Fi⁡fAi,jv.Here, Ai,j is the transformation from Pj’s frame to Pi’s and Ai,jv gives the coordinates in the Pi’s frame for point v. In addition, the coordinate transformation Ai,j=Ai,j(X) is composed of the joint matrices in the shortest joint chain connecting Pi and Pj.Figure 2
Entities used for constructing the interference-free constraintgi,j.For the example in Figure2, constraintgi,j≤0is constructed from the implicit functions fi,k(k=1,2,…) of Pi, the boundary points vj,l(l=1,2,…) of Pj, and the motion matrix Ai,j transforming Pj’s coordinates to Pi’s. To apply the above constraints to some objects like nonconvex parts, which is difficult to be expressed with the intersections of half-spaces defined with a set of implicit functions, they should be decomposed into multiple convex bodies first and then the inequality constraints are created for each pair of convex bodies, respectively, belonging to the two parts under consideration. The one overall inequality constraint can be expressed as follows:(11)gX=maxi,j⁡gi,j≤0.While the above proposed approach is generic in detecting collisions of parts in a mechanism, it suffers from some restrictions. For example, all the part surfaces need be expressed with implicit functions, concave parts should be decomposed into multiple convex bodies, and the checking points on part boundaries should be selected beforehand.


### 4.2. Interference-Free Constraint between Line Segment and Convex Body

Here, let us consider the interference-free constraint between a line segmentL=v1v2¯ and a convex body B defined by F={f1(x),f2(x),…}. Suppose that the points on L are expressed as v(τ)=v1(1-τ)+v2τ,0≤τ≤1 and the constraint is formed according to (10) as follows:(12)gL,B=-min0≤τ≤1⁡maxfk∈F⁡fkτ≤0.In the above formula, fk(τ)=fk((1-τ)v1′+τv2′), vl′=Avl,l=1,2, andAis the transformation from the L’s local frame to that of the convex body. Since the part faces in industry are often planar or quadratic surfaces,fk(τ)are considered as linear or quadratic functions here, which can be expressed in the form fk(τ)=ak+bkτ+ckτ2,0≤τ≤1. Therefore, the evaluation of the constraint function in (12) mainly includes the operations of identifying the upper-most curve segments among different fk(τ). As shown in Figure 3, the upper-most curve segments in orange can be determined after calculating the intersection points (marked with circles) between differentfk(τ), which is trivial for linear or quadratic functions.Figure 3
Constraint function for line-body interference-free requirement.


### 4.3. Calculating the Trimming Points on Feasible Domain Boundary

Suppose that an isocurveX=X(t)is solved from (9) and then it satisfiesh(X(t))=0; that is, Ai(X(t))=I(i=1,2,…,m) and cj(X(t))=0(j=1,2,…,s). Taking into account the interference-free requirement and motion parameter ranges, the end points of the open feasible segments of the curve should be a solution of g(X(t))=0, which is defined by (11). Therefore, the trimming points can be obtained by solving g(X(t))=0. Usually, the equation can be solved with Newton-Raphson method, but since it is hard to calculate the derivative of g(X(t)), which is required by the method, we adopt the bisection method here. Assume that two consecutive points Xin and Xout satisfyingg(Xin)<0 and g(Xout)>0 on the discrete expression of the isocurve X=X(t)are already detected. Then we search fort∗∈(0,1)that makes g((1-t∗)Xin+t∗Xout)=0, by iteratively subdividing the interval into two at the midpoint.


## 4.1. Interference-Free Constraint between Point and Convex Body

Construction of interference-free constraints is a complicated work and so we simplify the problem with some approximations (see Figure2). Here, the interference-checking is made for a pair of parts Pi and Pj with relative motion Ai,j, which could be an obstacle to avoid in space or a link of the mechanism. First, both of the parts are represented with a set of implicit functionsFl={fl,1(x),fl,2(x),…} that bound a region in the way Pl={x∣f(x)≤0,f(x)∈Fl}(l=i,j), wherexis a point coordinate defined in the part’s local coordinate frame. Second, both of the parts are approximated with a set of scattered pointsVl={vl,1,vl,2,…}(l=i,j) where vl,k are the points’ coordinates in Pl’s local frame. Then, the interference-free constraints between Pi and Pj are defined as follows:(10)gi,j≤0,gj,i≤0wheregi,j=-minv∈Vj⁡maxf∈Fi⁡fAi,jv.Here, Ai,j is the transformation from Pj’s frame to Pi’s and Ai,jv gives the coordinates in the Pi’s frame for point v. In addition, the coordinate transformation Ai,j=Ai,j(X) is composed of the joint matrices in the shortest joint chain connecting Pi and Pj.Figure 2
Entities used for constructing the interference-free constraintgi,j.For the example in Figure2, constraintgi,j≤0is constructed from the implicit functions fi,k(k=1,2,…) of Pi, the boundary points vj,l(l=1,2,…) of Pj, and the motion matrix Ai,j transforming Pj’s coordinates to Pi’s. To apply the above constraints to some objects like nonconvex parts, which is difficult to be expressed with the intersections of half-spaces defined with a set of implicit functions, they should be decomposed into multiple convex bodies first and then the inequality constraints are created for each pair of convex bodies, respectively, belonging to the two parts under consideration. The one overall inequality constraint can be expressed as follows:(11)gX=maxi,j⁡gi,j≤0.While the above proposed approach is generic in detecting collisions of parts in a mechanism, it suffers from some restrictions. For example, all the part surfaces need be expressed with implicit functions, concave parts should be decomposed into multiple convex bodies, and the checking points on part boundaries should be selected beforehand.


## 4.2. Interference-Free Constraint between Line Segment and Convex Body

Here, let us consider the interference-free constraint between a line segmentL=v1v2¯ and a convex body B defined by F={f1(x),f2(x),…}. Suppose that the points on L are expressed as v(τ)=v1(1-τ)+v2τ,0≤τ≤1 and the constraint is formed according to (10) as follows:(12)gL,B=-min0≤τ≤1⁡maxfk∈F⁡fkτ≤0.In the above formula, fk(τ)=fk((1-τ)v1′+τv2′), vl′=Avl,l=1,2, andAis the transformation from the L’s local frame to that of the convex body. Since the part faces in industry are often planar or quadratic surfaces,fk(τ)are considered as linear or quadratic functions here, which can be expressed in the form fk(τ)=ak+bkτ+ckτ2,0≤τ≤1. Therefore, the evaluation of the constraint function in (12) mainly includes the operations of identifying the upper-most curve segments among different fk(τ). As shown in Figure 3, the upper-most curve segments in orange can be determined after calculating the intersection points (marked with circles) between differentfk(τ), which is trivial for linear or quadratic functions.Figure 3
Constraint function for line-body interference-free requirement.


## 4.3. Calculating the Trimming Points on Feasible Domain Boundary

Suppose that an isocurveX=X(t)is solved from (9) and then it satisfiesh(X(t))=0; that is, Ai(X(t))=I(i=1,2,…,m) and cj(X(t))=0(j=1,2,…,s). Taking into account the interference-free requirement and motion parameter ranges, the end points of the open feasible segments of the curve should be a solution of g(X(t))=0, which is defined by (11). Therefore, the trimming points can be obtained by solving g(X(t))=0. Usually, the equation can be solved with Newton-Raphson method, but since it is hard to calculate the derivative of g(X(t)), which is required by the method, we adopt the bisection method here. Assume that two consecutive points Xin and Xout satisfyingg(Xin)<0 and g(Xout)>0 on the discrete expression of the isocurve X=X(t)are already detected. Then we search fort∗∈(0,1)that makes g((1-t∗)Xin+t∗Xout)=0, by iteratively subdividing the interval into two at the midpoint.


## 5. Handling the Singularity Issue

In the ODE approach for generating isocurves presented in Section3, the dimension of J’s null space is supposed to be 1. But at singular points of a mechanism, this may not be true. One case is that additional infinitesimal motions in certain directions exist at a singular point, which makes the rank r of J less than p-1. Another case is kinematotropic mechanisms [24] which have different finite motions in other directions at a singular point. So, the problem is to determine the forward direction at a point where r is less than p-1 in solving (9). When r is less than p-1, its null space has two or more basis vectors for expressing the solution ofJ(X)d=0in the way dX=a1v1+a2v2+⋯+ap-rvp-r. The forward direction di at Xi should satisfy the following conditions (see Figure 4): (1) di should belong to the null space; that is,di=a1vi,1+a2vi,2+⋯, wherevi,jare its basis vectors; (2) di should be continuous with its previous forward direction on the curve, which requires1-ε<(di)Tdi-1<1+εfor a smallε>0; (3) di should represent a direction for finite motion that satisfies constraintsh(X(t))=0.Figure 4
Forward direction determination at a singular point.In the above three conditions, the first two are easy to handle, but the last one is not. Here, a second-order derivative method is proposed to identify the finite motion direction in the linear combinations of two or more basis vectors. For simplicity, only one loop constraintA(X)-I=0inh(X)=0is considered here. FromA(X(t))-I≡0, there is ∑k=1p$k(t)x˙k(t)≡0, where$k=screw(A-1∂A/∂xk). Furthermore, performing the second-order differential operation on the identity, the following can be obtained:(13)Q=∑k,l=1pQk,ltx˙ktx˙lt=0,whereQk,l=A-1∂2A∂xk∂xl.LetA=Ro01. Then Qk,l=RTR¨klRTo¨kl00, where R¨kl=∂2R/∂xk∂xl and o¨kl=∂2o/∂xk∂xl. FromRTR=Iand R˙TR+RTR˙=0, there is(RTR¨kl)T+RTR¨kl=ΩkΩl+ΩlΩk, where Ωi=RT∂R/∂xi=0-ω3iω2iω3i0-ω1i-ω2iω1i0 and the symmetric matrix at the right side is (14)ΩkΩl+ΩlΩk=-2ω3kω3l-2ω2kω2lω2kω1l+ω1kω2lω3kω1l+ω1kω3l∗-2ω3kω3l-2ω1kω1lω2kω3l+ω3kω2l∗∗-2ω2kω2l-2ω1kω1l.Let RTR¨kl=(bij)3×3; there are(15)bii=-∑v=13ωvkωvl+ωikωil,bij+bji=ωikωjl+ωjkωil.Since the right side of (15) is completely determined by the first-order derivative, the number of independent variables in the R’s second-order derivative is 3, and the total independent-variable number for the A’s second-order derivative is 6 after considering those inRTo¨kl. In the way similar to the definition for the first-order screw,Qk,lcan be expressed with a skew symmetric matrix formed using the 6 independent second-order variablesΦ=(k1,k2,k3;a1,a2,a3)as follows:(16)Qk,l=0-k3k2a1k30-k1a2-k2k10a30000+b11c12c130c21b22c230c31c32b3300000,wherecij=ωikωjl. In the above formulation, the second matrix is calculated from the first-order derivative while the first one is related to the second-order derivative in the way: (17)a1,a2,a3T=RTo¨kl,k1,k2,k3T=c23-RTR¨kl23,-c13+RTR¨kl13,c12-RTR¨kl12T.AfterQk,lare computed with ((16)-(17)), the matrixQ=(qij)4×4in (13) can be obtained for a given linear combinationd=x˙1t,x˙2t,…=a1v1+a2v2+⋯+ap-rvp-rof the null space basis vectors. Whenqij=0 for all 1≤i,j≤4, thendis considered a finite motion direction in this research.


## 6. Examples

In this section, three examples are presented to show how the proposed approach can be used to generate the isocurve representation of configuration space of a mechanism, among which the first and third examples are planar mechanisms while the second one is a spatial mechanism.


### 6.1. Four-Stop Geneva Mechanism

The first example is a four-stop Geneva mechanism, which is shown in Figure5. The mechanism is formed with three parts P0, P1, and P2, and it has three different motion phases, respectively, illustrated in Figures 5(b)–5(d). In the figure, symbols φ1, φ2, θ, t, and ϕrepresent the five motion parameters of the mechanism;φ1andφ2, respectively, denote the rotational motions of P1 and P2 with respect to P0, θ, and ϕwhich are the rotational angles from P1 to P2, respectively, for the first and second phases, andtis the distance between the pin of P2 and the center of P1 at the first phase. The dimensions of the mechanism areR=100,R1=80,h=65,r=5,d=2R, δ=cos-13R2-R12/22R2, β=sin-1Rsinδ/R1+π/4, andγ=β-π/4.Figure 5
Four-stop Geneva mechanism. (a) Dimensions; (b–d) three-motion phases.
(a) (b) (c) (d)In the first phase, the mechanism has one loop whose matrix equation isA01φ1A12t,θA02-1φ2-I=0. The equation is solved with the ODE approach presented in Section 3, and its solution is presented in Figure 6. In the figure, all the three horizontal axes are the sequence numbers of points on the isocurve while the vertical axes are the values of its individual coordinate components. The figure shows that the approach can generate the isocurve with a high accuracy; the matrix equation errors in the Frobenius norm are less than7×10-6and the larger errors occur at points where the curves have steeper slope. For example, the curve for parameter t changes rapidly near the 25th and 250th points and then the errors there fluctuate severely. The second phase shown in Figure 5(c) has a smooth motion and its precision reaches as high as6×10-13.Figure 6
The isocurve representation for the CS of the first phase.
(a)
Three-angle parameters curves (b)
Translational parametert curve (c)
The errore=A01A12A02-1-IFThe third phase shown in Figure5(d) has no loop constraints but it needs to handle the interference-free constraints. Here, the methods presented in Section 4 are used to generate its configuration space and the result is displayed in Figure 7. In this example, the point set V1 for P1 includes the 12 corner points on its outer boundary and its surface set F1 has 9 half-space functions; they are the four R1 arcs, the four small r circles at outlets of the 4 slots and one big circle R. Part P2 is represented with two separate bodies for interference-checking; one is the C-shape area and the other is the circular pin with radius r. So, it has two surface sets F2=F2,1∪F2,2 and two point sets V2=V2,1∪V2,2 whose points are sampled on their respective boundaries. In Figure 7, the interference-free areas are represented with straight-line isocurves and the end points of the lines exactly give the locations where P1 and P2 contact with each other.Figure 7
The isocurve representation for the CS of the third phase.The overall configuration space of the mechanism is a union of multiple domains in the 5-dimensional space of parametersφ1, φ2, θ, t, and ϕ. Figures 8(a)–8(c) show the isocurve CS representation of phases 1 and 2, respectively, in the subspaces ofR(φ2,θ,t),R(ϕ,φ1,t), andR(ϕ,φ2,t), where the red curves are for the CS of phase 1, the black are for phase 2, and the dashed lines show the CS domain adjacency relations. The two points connected with a dashed line represent the same position and orientation of the mechanism, belonging to different phases as a transitional state or different periods in cyclic motions separated by this point. In addition, Figures 8(d) and 8(e) give the CS for phases 1 and 3, respectively, in subspacesR(φ1,φ2,t) andR(φ1,φ2,θ), where the blue lines are for phase 3. The final subfigure in Figure 8 presents the CS for phases 2 and 3 in R(φ1,φ2,θ), and it can be seen that the projection of the CS of phase 2 on subspaceR(φ1,φ2)is completely included in the CS of phase 3, which means that phase 2 can be looked as constrained states of phase 3 and represented with one more parameter.Figure 8
The CS for two phases and their adjacency relations.
(a)
CS of phases 1 and 2 inR(φ2,θ,t) (b)
CS of phases 1 and 2 inR(ϕ,φ1,t) (c)
CS of phases 1 and 2 inR(ϕ,φ2,t) (d)
CS of phases 1 and 3 inR(φ1,φ2,t) (e)
CS of phases 1 and 3 inR(φ1,φ2,θ) (f)
CS of phases 2 and 3 inR(φ1,φ2,θ)Finally, the CS for all the three phases can be represented with isocurves in the same space; Figure9 gives this representation inR(φ1,φ2,θ), which shows the complete feasible configurations and their transitional relations of the mechanism.Figure 9
The CS for all the three phases inR(φ1,φ2,θ).


### 6.2. Chain R-C-R-C

The second example is the mechanism of chain R-C-R-C (see Figure10), which is well known as a kinematotropic mechanism [24]. It is composed of four link parts Pi(i=0,1,2,3) with their dimension parametersw=200 andh=240 and four jointsA01(a01,t01), A12(a12),A23(a23,t23), andA03(a03), whereaijandtij, respectively, are rotational and transitional joint parameters. Thus, its motion parameter vector isX=(a01,t01,a12,a23,t23,a03). The mechanism has only one loop and its loop constraintA01A12A23A03-1-I=0 is easy to construct after the local coordinate frames for each parts are determined. The difficulty comes from the change of the number for active parameters.Figure 10
The mechanism of chain R-C-R-C.
(a)
Links and their joint parameters (b)
Configuration space inR(a01,t01,a12)Starting with a given initial point where the Jacobian matrix of the equations has two zero-singular values, the loop equations can be solved with the ODE method developed in Section3 after one selection constraintc(X)=t01=t010is added, wheret010is the fixed value for one isocurve, and its isocurve representation of the solution can be obtained as the plane of a12=0 shown in Figure 10(b). However, if the singular values on the plane are checked exactly, it can be found that the number of zero-singular values at configuration(a01,t01,a12)=(0,100,0)becomes three. This corresponds to the state shown in Figure 10(a), in which the mechanism has mobility with parameters a01,t01, anda12. Figure 11 shows the distributions of nonzero-singular values on the CS plane a01-t01. Since the parameter number is 6, the number of nonzero singular values should be 4 for two active parameters, but it can be seen in Figure 11(d) that the fourth-singular value becomes zero at point Y′, which indicates that the mechanism may have another DOF there.Figure 11
Distributions of nonzero singular values on the CS planea01-t01.
(a)
The first-singular value (b)
The second-singular value (c)
The third-singular value (d)
The fourth-singular valueSimilarly, if we start with an initial point where the Jacobian matrix of the equations has one zero-singular value, a single line CS can be obtained as the vertical line at(a01,t01)=(0,100) shown in Figure 10(b). However, an exact checking of the singular value distribution on the CS line shows that there are three zero-singular values at a12=0 (see Figure 12). Please note that the green curve for the second-singular value does not reach zero at a12=0 though it has a small value there. So, the singular value distributions indicate that the mechanism may have two other DOFs at a12=0.Figure 12
Singular value distribution on the CS lineX1,3(a12)=(0,100,a12).
(a) (b) (c)Although the singular value decomposition (SVD) of Jacobian matrix can identify the singular configuration and its number of additional DOFs for infinitesimal motions, it cannot give the directions of the additional finite motions. For example, when the singular pointY′ is found during generating the isocurves on the plane a01-t01, we need to determine the additional finite motion direction; in fact, it is (0,0,1) inR(a01,t01,a12). Here, we use the second-derivative method presented in Section 5 for this purpose. For matrixQ=(qij)4×4in (13) forA=A01A12A23A03-1, the value distribution of each element qij on the surface of unit sphere at Y′ is evaluated (see Figure 13), where the directions on the sphere are parameterized withϕandθ(see Figures 14(a) and 14(b)). Actually, X′=(0,100,0,0,100,0) for point Y′ and the three basis vectors of the null space of the Jacobian matrix at X′ can be obtained as di(i=1,2,3). Then, the vector on the sphere has the form dϕ,θ=sin⁡θcos⁡ϕd1+cos⁡(θ)d2+sin⁡(θ)sin⁡(ϕ)d3.Figure 13
The distributions of the nonzero second-order derivatives in different directions at the singular point.
(a)
q 12 (b)
q 21 (c)
q 24 (d)
q 34Figure 14
The directions in which all the second-order derivatives are zero at the singular point.
(a)
Direction representation (b)
Finite motion directions marked on theq34surface (c)
Contours ofL(d) (d)
Surface ofL(d)In order to show the directiond with Q(d)=0, we use the following measure:(18)Ld=∑i=13∑j=14qijdmaxd⁡qijd.Figure 14(c) shows the contours of L(d) while Figure 14(d) gives its surface graph. It can be seen from the figure that L(d)=0 for the linesθ=nπandϕ=nπwheren∈Z. In addition, the figure also clearly indicates that L(d)=0 at the directions of(ϕ,θ)=(0.5π,0.5π)and(ϕ,θ)=(1.5π,0.5π). So, they represent the forward and backward directions for the additional finite motion DOF, respectively.


### 6.3. 3-RPR Parallel Mechanism

The third example is a 3-RPR parallel mechanism whose notations of links and joints are shown in Figure15. The side length of the equilateral triangular platform is 100, the three slideway parts Pi(i=1,2,3) have a length of 60, and the three legs have the maximum length 600 and the minimum length 60. The mechanism includes 8 link parts Pi(i=0,1,2,…,7), 9 joints with motion parameters θi, li, and φi(i=1,2,3), and two independent loops; here loops P0P1P4P7P6P3P0 and P0P2P5P7P6P3P0 are chosen as the independent loops to construct loop constraints. In addition to the 9 parameters, we also use three nonjoint parameters xc,yc, andϕ, which describe the location of platform P7 relative to the frame of the fixed part P0. Based on the above notations, the parameter vector is defined asX=(x1,x2,…,xp)=(l3,l2,l1,θ1,θ2,θ3,φ1,φ2,φ3,xc,yc,ϕ),p=12, and the two loop constraints are(19)A1X-I=0,A2X-I=0,where (20)A1X=A01θ1A14l1A74-1φ1A76φ3A36-1l3A03-1θ3,A2X=A02θ2A25l2A75-1φ2A76φ3A36-1l3A03-1θ3.The equality constraints also include three additional equations that define the nonjoint parameters(xc,yc,ϕ):(21)c1X=x10-A071,4,c2X=x11-A072,4,c3X=cos⁡x12-A071,12+sin⁡x12-A072,12,whereA07=A01A14A74-1, x10=xc, x11=yc, andA07(i,j)is the (i,j)-element of matrix A07. The interference-free constraints include that the three legs should not intersect with each other, the triangular platform P7 is only allowed to move within the rectangular area of P0, and the legs should not interfere with the platform. In order to create these constraints, the methods presented in Section 4 for point-body and line-body interference-free requirements are utilized here.Figure 15
The 3-RPR parallel mechanism.Based on the SVD analysis onh(X)=(A1(X)-I,A2(X)-I,c1(X),c2(X),c3(X))=0, it can be found that there are three active parameters. Here, we choose the active parameters asY=(x1,x2,x3)=(l3,l2,l1),n=3, and then the passive parameters areZ=(θ1,θ2,θ3,φ1,φ2,φ3,xc,yc,ϕ). Furthermore, there are(22)D=D3=l3,l2,l1∣∃Z,l3,l2,l1,Z∈S,S=X∣hX=0,X∈R12.Then, we fix the three parameters(l3,l2,l1)to some given values and use the Newton-Raphson method to find an initial feasible pointX0that satisfies all the above equality constraints:X0 = (4.7286089012212, 2.3792141800824, 0.412318887062, 280.0, 224.0, 224.0, −2.1577111209578, −0.1908158279374, 2.1585788932014, 235.5134599227698, 131.003318949172, 2.5696410780740).Starting with the initial point, represented byD0={Y0}andS0=M(Y0)={X0}as notated in Section 2, the isocurveC(Y0;x1)as the guide curve is generated using the ODE approach. Actually,S1=C(Y0;x1) here. Using a series of pointsXk=(Yk,Zk)∈S1(k=1,2,…) on the guide curve as starting points, a cluster of isocurvesC(Yk;x2)can be generated, which serve as an approximate representation S~2 for the guide surfaceS2=⋃Y∈D1C(Y;x2); hereD1={(x1,x20,x30)∈D}andS~2=⋃kC(Yk;x2)⊂S2. The above results are shown in Figure 16. Finally, the isocurvesS~for representation of the entire configuration space can be generated starting with a set of discrete points X(i,j)=(Y(i,j),Z(i,j))∈S~2(i,j=1,2,…) on the isocurve representation of the guide surface; this isS~=S~3=⋃i,jC(Y(i,j);x3)⊂S3, where S3=⋃Y∈D2C(Y;x3) andD2={(x1,x2,x30)∈D}.Figure 16
The initial point, guide curve, and guide surface for the isocurve representation.The isocurves inS~ are 12-dimensional curves, and their visualizations can only be realized in a space with 2 or 3 dimensions. Figure 17 shows the isocurves in the space ofR(xc,yc,sin(ϕ))after making the projectionP:X→(x10,x11,x12)and transformation T:(x10,x11,x12)→(xc,yc,sin(ϕ)). Here,ϕis transformed tosin(ϕ)in order to eliminate the visual discontinuity atϕ=2kπ,(k=0,±1,±2,…), in the space ofR(xc,yc,ϕ). The end points of the isocurves indicate the locations where certain interferences occur between the link parts. Figure 18 shows the CS boundary formed from these points in two different views, where the green curves displays the interference places at individual CS section surfaces.Figure 17
The isocurve representation is displayed in the subspace ofR(xc,yc,sin(ϕ)).
(a) (b)Figure 18
The boundary of isocurve representation is determined by interference-free constraints.
(a) (b)The results of the proposed approach include the detailed information about all the parameter values, and thus projections of the isocurves on various subspaces can be visualized conveniently. Figure19 presents a section surface of S at l3=2.088727816759159e+002 in the subspaces ofR(l1,l2), R(xc,yc,sin(ϕ)), R(θ1,θ2,θ3), and R(sin(φ1),sin(φ2),sin(φ3)), where Figure 19(a) clearly shows the interference-free range of the driving joint parameters l1 and l2 when l3 is fixed at that value, while Figures 19(b)–19(d) present the mappings of the area in other parameter spaces.Figure 19
The section surface formed by isocurves atl3=2.088727816759159e+002.
(a) (b) (c) (d)Many spatial parallel mechanisms have a similar topology to the 3-RPR except they usually have more DOFs and the interferences should be checked in 3D space. For example, the spatial parallel mechanisms 3P-S-S/S and 3S-P-S/S, which are studied in [25], are also actuated via three prismatic joints and have three leg chains as well to support a platform. Actually, the isocurve generations for the mechanisms each only involve two equality matrix equations for their joint loops like the 3-RPR, but their DOFs include 4 more rotations. If the position and orientation of the platform are taken into account, they totally have 6 more DOFs. Besides the DOF difference, the interference checking of the spatial mechanisms would take much more time for the evaluations of ((11)-(12)). Nevertheless, the constructions of the equations may not have special difficulties because the 3D shapes of their link parts are relatively simple, mainly involving cylinders, spheres, and cubes. Once the isocurve representations for their CSs are generated, the mappings between their three prismatic actuation parameters and other joint or configuration parameters can be created. Just like what illustrated in Figure 19, the mappings can help planning the motions of the spatial parallel mechanisms by providing the detailed information of the feasible configuration points and their neighbors.


## 6.1. Four-Stop Geneva Mechanism

The first example is a four-stop Geneva mechanism, which is shown in Figure5. The mechanism is formed with three parts P0, P1, and P2, and it has three different motion phases, respectively, illustrated in Figures 5(b)–5(d). In the figure, symbols φ1, φ2, θ, t, and ϕrepresent the five motion parameters of the mechanism;φ1andφ2, respectively, denote the rotational motions of P1 and P2 with respect to P0, θ, and ϕwhich are the rotational angles from P1 to P2, respectively, for the first and second phases, andtis the distance between the pin of P2 and the center of P1 at the first phase. The dimensions of the mechanism areR=100,R1=80,h=65,r=5,d=2R, δ=cos-13R2-R12/22R2, β=sin-1Rsinδ/R1+π/4, andγ=β-π/4.Figure 5
Four-stop Geneva mechanism. (a) Dimensions; (b–d) three-motion phases.
(a) (b) (c) (d)In the first phase, the mechanism has one loop whose matrix equation isA01φ1A12t,θA02-1φ2-I=0. The equation is solved with the ODE approach presented in Section 3, and its solution is presented in Figure 6. In the figure, all the three horizontal axes are the sequence numbers of points on the isocurve while the vertical axes are the values of its individual coordinate components. The figure shows that the approach can generate the isocurve with a high accuracy; the matrix equation errors in the Frobenius norm are less than7×10-6and the larger errors occur at points where the curves have steeper slope. For example, the curve for parameter t changes rapidly near the 25th and 250th points and then the errors there fluctuate severely. The second phase shown in Figure 5(c) has a smooth motion and its precision reaches as high as6×10-13.Figure 6
The isocurve representation for the CS of the first phase.
(a)
Three-angle parameters curves (b)
Translational parametert curve (c)
The errore=A01A12A02-1-IFThe third phase shown in Figure5(d) has no loop constraints but it needs to handle the interference-free constraints. Here, the methods presented in Section 4 are used to generate its configuration space and the result is displayed in Figure 7. In this example, the point set V1 for P1 includes the 12 corner points on its outer boundary and its surface set F1 has 9 half-space functions; they are the four R1 arcs, the four small r circles at outlets of the 4 slots and one big circle R. Part P2 is represented with two separate bodies for interference-checking; one is the C-shape area and the other is the circular pin with radius r. So, it has two surface sets F2=F2,1∪F2,2 and two point sets V2=V2,1∪V2,2 whose points are sampled on their respective boundaries. In Figure 7, the interference-free areas are represented with straight-line isocurves and the end points of the lines exactly give the locations where P1 and P2 contact with each other.Figure 7
The isocurve representation for the CS of the third phase.The overall configuration space of the mechanism is a union of multiple domains in the 5-dimensional space of parametersφ1, φ2, θ, t, and ϕ. Figures 8(a)–8(c) show the isocurve CS representation of phases 1 and 2, respectively, in the subspaces ofR(φ2,θ,t),R(ϕ,φ1,t), andR(ϕ,φ2,t), where the red curves are for the CS of phase 1, the black are for phase 2, and the dashed lines show the CS domain adjacency relations. The two points connected with a dashed line represent the same position and orientation of the mechanism, belonging to different phases as a transitional state or different periods in cyclic motions separated by this point. In addition, Figures 8(d) and 8(e) give the CS for phases 1 and 3, respectively, in subspacesR(φ1,φ2,t) andR(φ1,φ2,θ), where the blue lines are for phase 3. The final subfigure in Figure 8 presents the CS for phases 2 and 3 in R(φ1,φ2,θ), and it can be seen that the projection of the CS of phase 2 on subspaceR(φ1,φ2)is completely included in the CS of phase 3, which means that phase 2 can be looked as constrained states of phase 3 and represented with one more parameter.Figure 8
The CS for two phases and their adjacency relations.
(a)
CS of phases 1 and 2 inR(φ2,θ,t) (b)
CS of phases 1 and 2 inR(ϕ,φ1,t) (c)
CS of phases 1 and 2 inR(ϕ,φ2,t) (d)
CS of phases 1 and 3 inR(φ1,φ2,t) (e)
CS of phases 1 and 3 inR(φ1,φ2,θ) (f)
CS of phases 2 and 3 inR(φ1,φ2,θ)Finally, the CS for all the three phases can be represented with isocurves in the same space; Figure9 gives this representation inR(φ1,φ2,θ), which shows the complete feasible configurations and their transitional relations of the mechanism.Figure 9
The CS for all the three phases inR(φ1,φ2,θ).


## 6.2. Chain R-C-R-C

The second example is the mechanism of chain R-C-R-C (see Figure10), which is well known as a kinematotropic mechanism [24]. It is composed of four link parts Pi(i=0,1,2,3) with their dimension parametersw=200 andh=240 and four jointsA01(a01,t01), A12(a12),A23(a23,t23), andA03(a03), whereaijandtij, respectively, are rotational and transitional joint parameters. Thus, its motion parameter vector isX=(a01,t01,a12,a23,t23,a03). The mechanism has only one loop and its loop constraintA01A12A23A03-1-I=0 is easy to construct after the local coordinate frames for each parts are determined. The difficulty comes from the change of the number for active parameters.Figure 10
The mechanism of chain R-C-R-C.
(a)
Links and their joint parameters (b)
Configuration space inR(a01,t01,a12)Starting with a given initial point where the Jacobian matrix of the equations has two zero-singular values, the loop equations can be solved with the ODE method developed in Section3 after one selection constraintc(X)=t01=t010is added, wheret010is the fixed value for one isocurve, and its isocurve representation of the solution can be obtained as the plane of a12=0 shown in Figure 10(b). However, if the singular values on the plane are checked exactly, it can be found that the number of zero-singular values at configuration(a01,t01,a12)=(0,100,0)becomes three. This corresponds to the state shown in Figure 10(a), in which the mechanism has mobility with parameters a01,t01, anda12. Figure 11 shows the distributions of nonzero-singular values on the CS plane a01-t01. Since the parameter number is 6, the number of nonzero singular values should be 4 for two active parameters, but it can be seen in Figure 11(d) that the fourth-singular value becomes zero at point Y′, which indicates that the mechanism may have another DOF there.Figure 11
Distributions of nonzero singular values on the CS planea01-t01.
(a)
The first-singular value (b)
The second-singular value (c)
The third-singular value (d)
The fourth-singular valueSimilarly, if we start with an initial point where the Jacobian matrix of the equations has one zero-singular value, a single line CS can be obtained as the vertical line at(a01,t01)=(0,100) shown in Figure 10(b). However, an exact checking of the singular value distribution on the CS line shows that there are three zero-singular values at a12=0 (see Figure 12). Please note that the green curve for the second-singular value does not reach zero at a12=0 though it has a small value there. So, the singular value distributions indicate that the mechanism may have two other DOFs at a12=0.Figure 12
Singular value distribution on the CS lineX1,3(a12)=(0,100,a12).
(a) (b) (c)Although the singular value decomposition (SVD) of Jacobian matrix can identify the singular configuration and its number of additional DOFs for infinitesimal motions, it cannot give the directions of the additional finite motions. For example, when the singular pointY′ is found during generating the isocurves on the plane a01-t01, we need to determine the additional finite motion direction; in fact, it is (0,0,1) inR(a01,t01,a12). Here, we use the second-derivative method presented in Section 5 for this purpose. For matrixQ=(qij)4×4in (13) forA=A01A12A23A03-1, the value distribution of each element qij on the surface of unit sphere at Y′ is evaluated (see Figure 13), where the directions on the sphere are parameterized withϕandθ(see Figures 14(a) and 14(b)). Actually, X′=(0,100,0,0,100,0) for point Y′ and the three basis vectors of the null space of the Jacobian matrix at X′ can be obtained as di(i=1,2,3). Then, the vector on the sphere has the form dϕ,θ=sin⁡θcos⁡ϕd1+cos⁡(θ)d2+sin⁡(θ)sin⁡(ϕ)d3.Figure 13
The distributions of the nonzero second-order derivatives in different directions at the singular point.
(a)
q 12 (b)
q 21 (c)
q 24 (d)
q 34Figure 14
The directions in which all the second-order derivatives are zero at the singular point.
(a)
Direction representation (b)
Finite motion directions marked on theq34surface (c)
Contours ofL(d) (d)
Surface ofL(d)In order to show the directiond with Q(d)=0, we use the following measure:(18)Ld=∑i=13∑j=14qijdmaxd⁡qijd.Figure 14(c) shows the contours of L(d) while Figure 14(d) gives its surface graph. It can be seen from the figure that L(d)=0 for the linesθ=nπandϕ=nπwheren∈Z. In addition, the figure also clearly indicates that L(d)=0 at the directions of(ϕ,θ)=(0.5π,0.5π)and(ϕ,θ)=(1.5π,0.5π). So, they represent the forward and backward directions for the additional finite motion DOF, respectively.


## 6.3. 3-RPR Parallel Mechanism

The third example is a 3-RPR parallel mechanism whose notations of links and joints are shown in Figure15. The side length of the equilateral triangular platform is 100, the three slideway parts Pi(i=1,2,3) have a length of 60, and the three legs have the maximum length 600 and the minimum length 60. The mechanism includes 8 link parts Pi(i=0,1,2,…,7), 9 joints with motion parameters θi, li, and φi(i=1,2,3), and two independent loops; here loops P0P1P4P7P6P3P0 and P0P2P5P7P6P3P0 are chosen as the independent loops to construct loop constraints. In addition to the 9 parameters, we also use three nonjoint parameters xc,yc, andϕ, which describe the location of platform P7 relative to the frame of the fixed part P0. Based on the above notations, the parameter vector is defined asX=(x1,x2,…,xp)=(l3,l2,l1,θ1,θ2,θ3,φ1,φ2,φ3,xc,yc,ϕ),p=12, and the two loop constraints are(19)A1X-I=0,A2X-I=0,where (20)A1X=A01θ1A14l1A74-1φ1A76φ3A36-1l3A03-1θ3,A2X=A02θ2A25l2A75-1φ2A76φ3A36-1l3A03-1θ3.The equality constraints also include three additional equations that define the nonjoint parameters(xc,yc,ϕ):(21)c1X=x10-A071,4,c2X=x11-A072,4,c3X=cos⁡x12-A071,12+sin⁡x12-A072,12,whereA07=A01A14A74-1, x10=xc, x11=yc, andA07(i,j)is the (i,j)-element of matrix A07. The interference-free constraints include that the three legs should not intersect with each other, the triangular platform P7 is only allowed to move within the rectangular area of P0, and the legs should not interfere with the platform. In order to create these constraints, the methods presented in Section 4 for point-body and line-body interference-free requirements are utilized here.Figure 15
The 3-RPR parallel mechanism.Based on the SVD analysis onh(X)=(A1(X)-I,A2(X)-I,c1(X),c2(X),c3(X))=0, it can be found that there are three active parameters. Here, we choose the active parameters asY=(x1,x2,x3)=(l3,l2,l1),n=3, and then the passive parameters areZ=(θ1,θ2,θ3,φ1,φ2,φ3,xc,yc,ϕ). Furthermore, there are(22)D=D3=l3,l2,l1∣∃Z,l3,l2,l1,Z∈S,S=X∣hX=0,X∈R12.Then, we fix the three parameters(l3,l2,l1)to some given values and use the Newton-Raphson method to find an initial feasible pointX0that satisfies all the above equality constraints:X0 = (4.7286089012212, 2.3792141800824, 0.412318887062, 280.0, 224.0, 224.0, −2.1577111209578, −0.1908158279374, 2.1585788932014, 235.5134599227698, 131.003318949172, 2.5696410780740).Starting with the initial point, represented byD0={Y0}andS0=M(Y0)={X0}as notated in Section 2, the isocurveC(Y0;x1)as the guide curve is generated using the ODE approach. Actually,S1=C(Y0;x1) here. Using a series of pointsXk=(Yk,Zk)∈S1(k=1,2,…) on the guide curve as starting points, a cluster of isocurvesC(Yk;x2)can be generated, which serve as an approximate representation S~2 for the guide surfaceS2=⋃Y∈D1C(Y;x2); hereD1={(x1,x20,x30)∈D}andS~2=⋃kC(Yk;x2)⊂S2. The above results are shown in Figure 16. Finally, the isocurvesS~for representation of the entire configuration space can be generated starting with a set of discrete points X(i,j)=(Y(i,j),Z(i,j))∈S~2(i,j=1,2,…) on the isocurve representation of the guide surface; this isS~=S~3=⋃i,jC(Y(i,j);x3)⊂S3, where S3=⋃Y∈D2C(Y;x3) andD2={(x1,x2,x30)∈D}.Figure 16
The initial point, guide curve, and guide surface for the isocurve representation.The isocurves inS~ are 12-dimensional curves, and their visualizations can only be realized in a space with 2 or 3 dimensions. Figure 17 shows the isocurves in the space ofR(xc,yc,sin(ϕ))after making the projectionP:X→(x10,x11,x12)and transformation T:(x10,x11,x12)→(xc,yc,sin(ϕ)). Here,ϕis transformed tosin(ϕ)in order to eliminate the visual discontinuity atϕ=2kπ,(k=0,±1,±2,…), in the space ofR(xc,yc,ϕ). The end points of the isocurves indicate the locations where certain interferences occur between the link parts. Figure 18 shows the CS boundary formed from these points in two different views, where the green curves displays the interference places at individual CS section surfaces.Figure 17
The isocurve representation is displayed in the subspace ofR(xc,yc,sin(ϕ)).
(a) (b)Figure 18
The boundary of isocurve representation is determined by interference-free constraints.
(a) (b)The results of the proposed approach include the detailed information about all the parameter values, and thus projections of the isocurves on various subspaces can be visualized conveniently. Figure19 presents a section surface of S at l3=2.088727816759159e+002 in the subspaces ofR(l1,l2), R(xc,yc,sin(ϕ)), R(θ1,θ2,θ3), and R(sin(φ1),sin(φ2),sin(φ3)), where Figure 19(a) clearly shows the interference-free range of the driving joint parameters l1 and l2 when l3 is fixed at that value, while Figures 19(b)–19(d) present the mappings of the area in other parameter spaces.Figure 19
The section surface formed by isocurves atl3=2.088727816759159e+002.
(a) (b) (c) (d)Many spatial parallel mechanisms have a similar topology to the 3-RPR except they usually have more DOFs and the interferences should be checked in 3D space. For example, the spatial parallel mechanisms 3P-S-S/S and 3S-P-S/S, which are studied in [25], are also actuated via three prismatic joints and have three leg chains as well to support a platform. Actually, the isocurve generations for the mechanisms each only involve two equality matrix equations for their joint loops like the 3-RPR, but their DOFs include 4 more rotations. If the position and orientation of the platform are taken into account, they totally have 6 more DOFs. Besides the DOF difference, the interference checking of the spatial mechanisms would take much more time for the evaluations of ((11)-(12)). Nevertheless, the constructions of the equations may not have special difficulties because the 3D shapes of their link parts are relatively simple, mainly involving cylinders, spheres, and cubes. Once the isocurve representations for their CSs are generated, the mappings between their three prismatic actuation parameters and other joint or configuration parameters can be created. Just like what illustrated in Figure 19, the mappings can help planning the motions of the spatial parallel mechanisms by providing the detailed information of the feasible configuration points and their neighbors.


## 7. Conclusions

Configuration space is a vital tool for reachability checking and path planning when its points can be retrieved conveniently. However, conventional CS representations like box approximations, sampling points, and boundary tessellations do not organize the points in a structured format and hence they have difficulty supporting frequent queries of the CS points. Especially, when CS is a trimmed region on a lower-dimensional manifold of high-dimensional space, the cost of the point computation is high but the conventional methods fail to provide accurate or detailed information of the points. To address this issue, this paper proposes an isocurve representation for configuration space and its generation algorithm.In this research, the configuration points in a CS are represented with a cluster of curves in the motion parameter space of the mechanism. To generate the representation, three novel techniques are developed. First, the isocurve-tracing method for the homogeneous transformation matrix equations is presented on the basis of common ODE solvers. Second, a half-space approach is proposed to define interference-free constraints. Third, a measure with the second-order derivatives of the matrix equations is given to identify the forward direction of isocurve at singular points.The advantages of the isocurve method are mainly reflected in two aspects: (1) the accurate CS points on manifolds can be generated efficiently with the isocurve-tracing method, which not only identifies the points in one isocurve with low computation cost but also traces to the points of other isocurves in the same connected solution component; (2) the points in CS are parameterized by isocurves and the isocurves are further organized in the hierarchical order from their lower-dimensional guide spaces to higher ones, which facilitates the retrieval of CS points.Although the proposed method is novel and has advantages in some aspects, it still needs to be improved in certain ways. First, we have not elaborated upon the issue of how to choose the stepsizes or distances between the isocurves for a better approximation to the whole CS. Second, the calculated isocurve endpoints can only give somewhat rough representation for CS boundary. Third, the issue of initial point generation, especially for multiple disconnected solution components, is not addressed here. All of these issues could be addressed in the future research along this direction.



---

*Source: 3085930-2018-05-14.xml*