An approach for mobility and force/motion transmissibility analysis of parallel mechanisms based on screw theory and CAD technology

By integrating screw theory with computer-aided design (CAD) technology, this paper presents an effective and automated methodology for mobility and force/motion transmissibility analysis of parallel mechanisms (PMs). In this approach, A kinematic diagram of a PM termed as the conceptual model, which consists of a solid assembly and several skeleton elements in the form of datum entities and non-geometric entities such as parameters, equations and semantic information, is built by using the 3D modeling capabilities of SolidWorks. For each limb of the PM, a rule-based reasoning (RBR) system is developed based upon the dual and reciprocal properties of screw systems, allowing its own twist/wrench subspaces to be determined automatically by using the joint axis features extracted from the conceptual model. These considerations lead to an automated procedure that can be used to generate the general Jacobian of PMs, allowing the mobility and force/motion transmissibility analysis to be carried out automatically, a work that had to be done manually in the past. Based on the proposed approach, a software package is developed and examples are given to verify its effectiveness.


Introduction
It is widely recognized that mobility analysis and kinematic performance evaluation are crucially important to the design of parallel mechanisms (PMs). The former involves determining the number of degree of freedoms (DOFs) and the motion pattern of the mechanisms, 1 and the latter involves employing suitable kinematic indices as metrics for singularity identification and performance evaluation such that the dimensional synthesis of the mechanisms can be conducted afterward. 2,3 In the last few decades, intensive efforts have been made toward doing this based on the Jacobian manipulation, and several systematic approaches have been proposed, such as the kinematic influence coefficient matrix method, 4 the method based on the overall Jacobian, 5 and the unified parameter modeling method based on the generalized Jacobian. 6,7 They show that the screw theory is the most powerful mathematical tool thanks to its compact and meaningful representation of the actuations and constraints imposed upon the mechanisms, leading to the development of a set of force/motion transmissibility or constrain-ability indices [8][9][10][11] for singularity analysis and performance evaluation. The existing approaches mentioned above have been proved to be rigorous and perfect in theory and applicable to various types of PMs. However, most of the existing approaches for mobility and kinematic performance analysis have to be performed manually by complex mathematical derivation and operation, it is often inefficient and difficult for the designers because advanced mathematical knowledge about robotics theory is required beforehand. We ideally require a computer-aided approach and software packages for doing so, especially if plenty of PMs obtained by type synthesis are needed to evaluate their kinematic performance in a quick manner.
In the last 30 years, plenty of efforts have been made toward achieving this goal. For instance, Gosselin 12 seems to be the first to develop such a computer package that allows the interactive analysis of manipulators of arbitrary architecture including the representation of the workspace, the representation of singularities, and the graphic animation of trajectories specified either by the forward or the inverse kinematics. It can be used for the design of any 3-DOF spherical parallel actuated mechanism, and examples are given to show the superiority of the computer-aided kinematic design approach. By using the constraint-based sketching mode available in commercial parametric CAD software, Kinzel et al. 13 proposed a geometric constraint programing (GCP) approach to the kinematic synthesis of planar mechanisms for finitely separated positions. Instead of explicitly formulating the underlying nonlinear equations, the approach allows the designer to build a kinematic diagram by imposing geometric constraints using lines, circles and other fundamental geometric constructions through the graphical interface of the CAD package, thus provides a highly accessible and efficient way to engineers in both academe and industry. By using the three-dimensional (3D) sketching and geometric variation functionalities of SolidWorks, Lu 14 proposed a CAD geometric variation approach for solving kinematics and dynamics of PMs. This approach combines the advantages of the analytical method in accuracy and the graphical method in repeatability and visualization, and has been successfully applied to compute the velocity/acceleration, the Jacobian matrix, 15 the singular configuration, 16 the inertial wrench, 17 and the elastic deformation 18 of PMs. As it is difficult to obtain the analytical solutions of the forward kinematics of PMs, Shah et al. 19 proposed a geometry-based method for accurate and computationally effective calculation of the workspace of a constrained PM. The author used the example of Stewart-Gough Platform to illustrate that such geometric programing methods using CAD modeling software could be much more insightful, efficient and accurate than conventional parameter sweep methods. By using the graphical programing and geometric feature handling capabilities embedded in the CAD environment, Arrouk et al. 20,21 also proposed a CAD-based unified graphical methodology for rapid resolution of the forward kinematic problems (FKP) and geometric interpretation of the 3D total workspace characteristics of planar PMs. The merit of this approach lies in that the singularity-free trajectories connecting different assembly modes can be generated by combining several geometric entities associated to the planar PMs, for example, the workspace volume, the singularity surface, and different solutions of the FKP, in the same 3D graphic environment. The approach has been extended to the workspace characterization and kinematic analysis of general spherical PMs. 22 By integrating the concept of virtual chains (VC) and CAD software, Johnson et al. 23 proposed a graphic approach for determining the workspace of PMs. In this approach, as the 3D model of a PM is built by CAD software with VC to represent the motion capability of its moving platform, the link interferences and certain transmission indices can be easily taken into consideration to determine the workspace of the PM. Moreover, considering the limited capability of kinematic and dynamic solver in CAD software, some researchers tried to use the Multibody Dynamics (MBD) software to evaluate the kinematic and dynamic performance of PMs. For instance, Guo et al. 24 proposed an approach for developing a virtual conceptual model and simulating the kinematic properties (mobility) of PMs by using the screw theory and Adams. Mahapatra et al. 25 proposed an Adamsbased approach for kinematic and dynamic modeling and analysis of the hexapod robot. Clark and Lin 26 proposed a Matlab and Pro/Mechanica integrated approach for kinematic/dynamic modeling and analysis of serial mechanisms. Gile et al. 27 developed a teaching system focusing on the inverse and forward kinematic analysis of PMs, LABEL, by using the Easy Java Simulations. More recently, according to the topological design theory of PMs based on position and orientation characteristic (POC) equations, Zhu et al. 28 proposed an automatic mobility analysis algorithm and software package for the researchers and designers with an effective and practical means. The authors developed a complete digital information model and algorithmic rules for mapping the topological structure of a limb or a PM into their POC, thus the mobility analysis can be performed by a computer program without manual intervention.
The above-mentioned studies adequately indicate that such computer-aided methods can help the designers to be liberated from the complex work of establishing a mathematical kinematic model, and let the designers mainly focus on the optimal type selection and optimal design of key parameters of the mechanisms. However, it should be emphasized that some manual operations are still needed to build a kinematic diagram by imposing geometric constraints in the 2D or 3D sketching mode. Compared to the sketching mode, the 3D solid modeling mode is more suitable to build such kinematic diagrams, because joints and links can be treated as fundamental elements in the kinematic diagrams so that a variety of limbs and PMs having different topological structures can be created by using the techniques for automated assembly, for example, combinatorial and modular modeling, 29 representation and identification of assembly information, 30 etc. In addition, as the mathematical and empirical knowledge of mechanisms can be represented by semantic and algorithmic rules, the unknown kinematics properties can be determined in a computer inference manner according to the topological information embedded in the kinematic diagrams. The associated method, rule-based reasoning (RBR) 31-34 for instance, have been successfully applied to the development of expert systems for solving analysis and design problems of a variety of mechanical structures. This provides an alternative way to the automated kinematic analysis of PMs.
Drawing mainly on screw theory and CAD technology, this paper presents an effective and automated methodology for mobility and force/motion transmissibility analysis of PMs. Instead of the 2D or 3D sketching mode used in Kinzel et al. 13 and Lu et al., 18 the kinematic diagram of a PM, which is termed as the conceptual model in our study, is built with the aid of the 3D solid modeling capabilities of the CAD system (SolidWorks Ò ). Since the dimensional constraints of components, the assembly constraints between components, the position and orientation of joint axes, and the rigid-body motions of joints are represented by several meaningful skeleton elements, 35 it is not only convenient to apply the automated assembly techniques in creating such conceptual models of PMs, but also provides a promising computerized RBR way to the determination of the twist/wrench subspaces of typical limbs within PMs, a work that has to be done manually by using the existing numerical method 36 or by-inspection method. 37,38 These thoughtful considerations lead to the automatic generation of the general Jacobian of PMs as a whole, thus laying a solid foundation for the development of a software package for evaluating the kinematic performance of PMs effectively.
Having addressed the significance and the existing problems to be tackled in the CAD-based kinematic analysis of PMs, the rest of this paper is organized as follows. After a brief introduction to the mathematical theory foundations in Section 2, a framework for the mobility and force/motion transmissibility analysis of PMs is proposed in Section 3 by integrating the powerful geometric modeling capability of SolidWorks and the screw theory. Then, three key procedures, that is, creation of the conceptual model, determination of the bases of twist/wrench subspaces of limbs, and analysis of the mobility and force/motion transmissibility of the PMs, are addressed in detail in Section 4, Section 5, and Section 6, respectively. Based on the proposed approach, a software package is developed and verified by three typical examples in Section 7 before the conclusions are drawn in Section 8.

Mathematical theory foundations
Twist and wrench spaces and their subspaces of a serial kinematic chain As presented in Huang et al., 6 formulation the generalized Jacobian of PMs, requires determining, for each limb, the bases of the twist and wrench spaces and their subspaces. As shown in Figure 1, for an f-DOF serial kinematic chain at a given configuration, the unit twist represented by Plu¨cker axis coordinates or the unit wrench represented by Plu¨cker ray coordinates of the end-link with respect to P on the end-link, is of the form of a 6 3 1 column vector All vectors are evaluated in the frame K E whose origin is temporarily coincident with point P on the end-link with its three orthogonal axes being parallel to the ref- It has been shown that the twist space T and wrench space W of such a serial kinematic chain can be each decomposed into the direct sum of two subspaces, that is, T a (the twist subspace of permissions) and T c (the twist subspace of restrictions), the W a (the wrench subspace of actuations) and W c (the wrench subspace of constraints). T a and W a are f dimensional subspaces, and T c and W c are 6-f dimensional subspaces. The four subspaces satisfy the dual and reciprocal properties between each other, for more information of these subspaces, please refer to Huang et al. 38 Thus, the first issue of this paper is determining the bases of these subspaces (i.e. T a , T c , W a , and W c ) that are meaningful for engineering design purpose by using the computer-aided tool in an automatic manner. Moreover, it has been pointed out in Huang et al. 38 that T a can be uniquely obtained when the types of the joints and the configuration of the serial chain are given, and the identification of W c becomes the main task of the concerned issue, because it is not unique for a serial chain when f \5. For meet the demand for automatic generating W c using computer-aided tool, we use an invariance properties matrix (IPM) based approach proposed in Liu et al. 39 as the mathematical theory foundation of the reasoning rules and process. This approach can be implemented through four steps: (1) Formulate a sequence of homogeneous transformations between the reference frames of each two 1-DOF joints of a serial chain; (2) Find the unchanged geometric entities (points, lines, and planes) related to the reference frames after each elementary transformation, and then formulate a Boolean matrix, termed as the IPM of the serial chain, in which the columns correspond to the individual transformations, and the rows correspond to the geometric entities which may have invariance properties.

Mobility analysis of PMs
Mobility analysis is a primary issue to be solved in type synthesis and analysis of mechanisms, which involves determining the number of DOFs and the motion pattern. From the point of the screw theory, the number of DOFs refers to the dimension of the T a of a mechanism, and the motion pattern, namely the number of rotational and translational DOFs, can be determined by the properties of each basis element of T a . For a PM composed of l limbs, and each limb contains n i (n i ł 6, i = 1;l) 1-DOF joints, the number of DOFs can be solved by where f is the number of DOFs of the mechanism, D is the dimension of W c of the mechanism, W c, i is the basis of W c of the ith limb, and$ wc, k c , i is the unit screw of the k c th (k c = 1;6 À n i ) wrench of constraints of the ith limb.
The number of rotational DOFs denoted by r and translational DOFs denoted by t can be obtained by the following steps: (1) Compute the basis of the null space of W c namely the basis of T a of the mechanism; (2) Generate a matrix denoted by X via (3) Compute r by r = dim (C), and t by t = f À r.

Force/motion transmissibilities of PMs
As indicated in section 2.1, the general Jacobian of a PM as a whole can be easily formulated by using the generated twist/wrench subspaces of the limbs.
Considering the algebraic characteristics of the Jacobian, several performance indices have been developed to evaluate the kinematic performance, the condition number, the singular values for example. Compared to other indices, the force/motion transmission indices proposed in Liu et al. [8][9][10][11] are more suitable especially for PMs having coupled translational and rotational movement capabilities, because they are always finite, dimensionless and invariant with regard to the coordinate frame.
For an f-DOF nonredundant and nonoverconstrained PM composed of l limbs, and each limb contains n i (n i ł 6, i = 1;l) 1-DOF joints, three transmission indices have been developed in Liu et al. 11 as follows h PR = min kc = 1, :::6Àn i i = 1, :: where h S h PP , and h PR are the serial transmission index, parallel permission transmission index and parallel restriction transmission index, respectively.$ ta, g k , k ($ wa, g k , k ) denotes the unit twist of permissions (unit wrench of actuations) with the actuated joint, labeled g k , in the kth (k = 1;f ) actuated limb.$ tc, k c , i ($ wc, k c , i ) denotes the k c th (k c = 1;6 À n i ) unit twist of restrictions (unit wrench of constraints) in the ith limb. Framework for mobility and force/motion transmissibility analysis based on screw theory and CAD technology As clearly indicated in Section 1, it is expected that the mobility and force/motion transmissibility analysis can be carried out automatically by integrating the CAD technology and the mathematical theory foundations in Section 2. To meet this requirement, we develop two sets of knowledge libraries, that is, a rule library for determining the bases of twist/wrench subspaces of limbs in an RBR mode, and an algorithm library for formulating the general Jacobian and computing the mobility and force/motion transmissibility performance of PMs as a whole. The former contains several groups of semantic rules which represent the dual and reciprocal properties of screw systems in the form of ''IF-THEN'' phrases. The latter contains several algorithms by packaging the formulas in section 2.2 and 2.3 as standard Component Object Models (COM) using the Builder NE capability of MATLAB. With the knowledge libraries available at hand, we propose a framework shown in Figure 2 for CAD-based mobility and force/motion transmissibility analysis, and the process can be carried out by the following steps.
(1) Build a parameterized conceptual model of a PM in SolidWorks by using datum entities to represent the dimensional and topological information. The datum entities here constitute the skeleton of the conceptual model, and can be classified into different informative units termed as features. In our work, four types of features are defined, that is, the dimensional features for representing the dimensional constraints of the solid model of components (joints, links, moving, and base platforms), the interface features for representing the assembly constraints between components, the joint axis features for representing the axis position and orientation of each 1-DOF joint in the limbs at a specified configuration, and the coordinate system features for representing the rigid-body motion of each 1-DOF joint. (2) Extract the joint axis features of each limb by using the API capabilities of SolidWorks, and determine the bases of twist/wrench subspaces of the limbs sequentially by using the prescribed rules in the rule library. In this step, several info sets are used to store the extracted and generated information in a five-element data structure, that is, ''ID-Object-Attribute-Type-Value.'' (3) Attach the generated information of step (2) as SolidWorks attributes to the conceptual model, and formulate the formulas of the bases of twist/wrench subspaces of the limbs using equation (1). (4) Compute the basis elements of twist/wrench subspaces of the limbs numerically by assigning the coordinates of position and direction vectors of joint axes (obtained using the SolidWorks API) into the formulas generated in step (3), and evaluate the mobility and force/motion transmissibility performance of the PM as a whole by assigning the generated data to corresponding formulas in the algorithm library.
In this way, once the conceptual model in the CAD system is driven to a specified configuration, its corresponding mobility and force/motion transmissibility performance can be evaluated automatically using step (3). Thus, the performance over the entire workspace of PMs can be rapidly predicted without manual mathematical modeling. It is worthwhile pointing out that the proposed framework can accommodate other CAD software having API capabilities similar to SolidWorks.

Conceptual models of PMs
It can be seen from Figure 2 that the first step in the proposed framework is to build a parameterized conceptual model in SolidWorks. Taking the 3-RPS mechanism as an example, the conceptual model shown in Figure 3 is a 3D kinematic diagram that consists of a solid assembly and several skeleton elements in terms of datum points, axes, planes, and coordinate systems.
By adding non-geometric entities such as parameters, equations, and semantic information to the corresponding geometric entities, these skeleton elements can be used to specify the dimensional constraints of the solid models of components, the assembly constraints between components, the position and orientation of joint axes, the rigid-body motions of joints. In this paper, the concept of feature is used to organize the skeleton elements into several information units describing the dimensional and topological properties of the conceptual model. Thus, four types of features are defined as follows.

Dimensional features
The dimensional features contain the skeleton elements representing the dimensional constraints of components (moving platform and the links connecting the joints for example). Here, the linear and angular dimensions are represented by the distance between two datum planes and the angle between two datum axes, respectively.

Interface features
The interface features contain the skeleton elements necessary to describe the assembly constraints between components. In our work, each component contains at least two interfaces, and each interface consists of three datums, that is, an orientational constraint axis, a positional constraint plane, and a rotational constraint plane. The geometrical constraints between interfaces of each two components are prescribed as follows: concentric constraint between two orientational constraint axes, coincident constraint between two positional constraint planes, and angle constraint between two rotational constraint planes. It should be pointed out that the angle constraint is used to restrict the passive DOFs of the conceptual model, and also characterizes the spatial distribution of joints and links of the PMs.

Joint axis features
The joint axis features contain the skeleton elements describing the position and orientation of joint axes in the limbs, thus allowing the bases of the twist and wrench spaces of each limb to be generated by identifying types and screw axes of the unit twists and wrenches in an RBR manner. In the conceptual model of the 3-RPS mechanism shown in Figure 3, datum axes denoted by S 1, i ;S 5, i and datum points denoted by P 1, i ;P 2, i are used to represent the orientation and position vectors of the rotational or translational axes of each 1-DOF joint in the ith limb, respectively. In this paper, S 1, i ;S 5, i and P 1, i ;P 2, i are called joint orientation axes and joint position points, respectively. The vectors of S 1, i ;S 5, i and P 1, i ;P 2, i are all evaluated in the frame K E whose origin is temporarily coincident with a point on the moving platform with its three orthogonal axes being parallel to the reference frame K B in the fixed platform.

Coordinate system features
The coordinate system features contain the skeleton elements in the form of datum coordinate systems (denoted by K 1, i ;K 6, i for the ith limb of the 3-RPS mechanism) whose origins are coincident with the intersection points of adjacent joint axes with one of their axes along the axis of related 1-DOF joint. By extracting the homogeneous transformation matrix of each datum coordinate system with respect to the reference frame K B , the transformation matrices between each two adjacent coordinate systems can be easily computed, thus allowing a sequence of elementary transformations to be generated for representing the rigid-body motion of the limbs. Consequently, the IPM for identifying basis elements of W c can be generated using the methodology proposed in Liu et al. 39 Determining the bases of twist/wrench subspaces of limbs As indicated in section 3, an important step after building the conceptual model of a PM is to determine the bases of the twist/wrench subspaces of each limb in an RBR mode such that the generalized Jacobian of the mechanism can be formulated automatically.

Description of the RBR system
In this paper, the RBR system consists of a rule library, several info sets, and an inference engine. As mentioned in section 3, the rule library contains several groups of semantic rules representing the dual and reciprocal properties of screw systems in the form of ''IF-THEN''  phrases. The info sets are used to supply the known facts and store the inference results during the process for determining the bases of twist/wrench subspaces of limbs. The inference engine is used to control the process and give the explanation and warning messages.
Info sets in the RBR system. The information in the info sets is represented by a five-element data structure (ID-Object-Attribute-Type-Value) and is classified into four categories, that is, joint axes, transformations between adjacent coordinate systems, invariant geometric properties, and screw axes of the elements of T a , T c , W a , and W c .
Info set of joint axes. The ID consists of a main ID denoted by ''01'' and a vise ID which is used to indicate the number of the information in the info set. The object is the joint which the information is belonged to. The attribute and type are used to indicate whether the joint feature is a joint orientation axis or a joint position point. The value is the name of the joint orientation axis and joint position point.
Info set of transformations between adjacent coordinate systems. The main ID is denoted by ''02''. The object is the limb itself. The attribute is a combined name of the adjacent coordinate systems denoted by ''Coordinate system A-Coordinate system B.'' The type is used to indicate whether the transformation is rotational or translational. The value is the rotational or translational coordinate axis of the transformation.
Info set of invariant geometric properties. The main ID is denoted by ''03''. The object is the limb itself. The attribute is denoted by ''Invariant Geometric Properties.'' The type is divided into five categories, that is, pointpoint, point-plane, point-line, line-line, and planeplane. The value is the name of the joint axis feature (joint orientation axis and joint position point) related to the unchanged geometric properties. Here, if the unchanged geometric property is a point, the value is denoted by the coincident joint position point; if it is a line, the value is denoted by the joint orientation axis being collinear with the line, and if it is a plane, the value is denoted by the joint orientation axis along the normal of the plane.
Info sets of the bases of twist/wrench subspaces. The main ID is denoted by ''04 ; 07'' for T a , T c , W a , and W c , respectively. The object is the limb itself. The attribute is denoted by ''Per-Twist,'' ''Res-Twist,'' ''Act-Wrench,'' and ''Con-Wrench'' for T a , T c , W a , and W c , respectively. The type is used to indicate whether the elements of T a , T c , W a , and W c are line vectors or couples. The value is the name of the joint axis feature (joint orientation axis and joint position point) being coincident with the screw axis.
Rules in the RBR system. The rules in the rule library are classified into four groups, that is, Group I for determining T a , Group II for generating the IPM, Group III for determining W c , Group IV for determining T c .
Group I. The theoretical foundation of this group is that T a can be uniquely obtained once the types of the joints and the configuration of the limb are given.
(1) If the joint is a revolute joint, then the element of T a denoted by$ ta is a line vector (representative of a rotational permitted finite motion), the position and orientation of its screw axis are denoted by the joint position point P 1 and the joint orientation axis S 1 of the joint, respectively. (2) If it is a prismatic joint, then$ ta is a couple (representative of a translational permitted finite motion), the position of its screw axis is denoted by null and the orientation is denoted by the joint orientation axis S 1 of the joint. Group II. The theoretical foundation of this group is that the elements of the IPM can be easily determined after finding the unchanged geometric entities related to the coordinate systems during each elementary transformation. As pointed out in Liu et al., 39  (1) If the elementary transformation is the Rot e 1 , u ½ , then the first, second, and tenth elements of the transformation associated column in IPM are assigned to ''1'', and other elements in this column are assigned to ''0''. (2) If it is the Rot e 2 , u ½ , then the fourth, fifth, and tenth elements of the transformation associated column in IPM are assigned to ''1'', and other elements in this column are assigned to ''0''.
(3) If it is the Rot e 3 , u ½ , then the seventh, eighth, and tenth elements of the transformation associated column in IPM are assigned to ''1'', and other elements in this column are assigned to ''0''. (4) If it is the Trans e 1 , s ½ , then the second, fourth, and seventh elements of the transformation associated column in IPM are assigned to ''1'', and other elements in this column are assigned to ''0''. (5) If it is the Trans e 2 , s ½ , then the first, fifth, and seventh elements of the transformation associated column in IPM are assigned to ''1'', and other elements in this column are assigned to ''0''. (6) If it is the Trans e 3 , s ½ , then the first, fourth, and eighth elements of the transformation associated column in IPM are assigned to ''1'', and other elements in this column are assigned to ''0''.
Group III. The theoretical foundation of this group is that the elements of W c denoted by$ wc should be in one-to-one correspondence to the invariant geometric properties as indicated in Liu et al. 39 According to the types of invariant geometric properties, this group contains five rules listed below.
(1) If the invariant geometric property is a pointpoint distance, then$ wc is a line vector (representative of a force), the position of its screw axis can be denoted by either of the two points, and the orientation is denoted by the joint orientation axis being parallel to the line passing through the two points. (2) If it is a point-line distance, then$ wc is a line vector, the position of its screw axis is denoted by the point, and the orientation is denoted by the joint orientation axis being perpendicular to the line and passing through the point. (3) If it is a point-plane distance, then$ wc is a line vector, the position of its screw axis is denoted by the point, and the orientation is denoted by the joint orientation axis being perpendicular to the plane. (4) If it is a line-line distance, then$ wc is a line vector, the position of its screw axis is denoted by the joint position point being coincident with the intersection point of either of the two lines and their common normal, and the orientation is denoted by the joint orientation axis being collinear with the common normal of the two lines.
(5) If it is a plane-plane angle, then$ wc is a couple (representative of a torque), the position of its screw axis is denoted by null, and the orientation is denoted by the joint orientation axis being parallel to the cross product of the normal vector of the two planes.
Group IV. The theoretical foundation of this group is that the types of elements of T c denoted by$ tc should be in one-to-one correspondence to those of$ wc , and the position and orientation of the screw axis of$ tc should be exactly coincident with that of its corresponding$ wc .
(1) If$ wc is a line vector, then$ tc is a couple (representative of a translational restricted finite motion), the position of its screw axis is denoted by null, and the orientation of its screw axis is coincident with that of its corresponding$ wc . (2) (2) If$ wc is a couple, then$ tc is a line vector (representative of a rotational restricted finite motion), the orientation of its screw axis is coincident with that of its corresponding$ wc , and the position of its screw axis can be solved bŷ where f is the number of DOFs of the limb,$ wc:k c and $ tc, j c are the k c th element of W c and the j c th element of T c , respectively. 38 Process for determining the bases of twist/wrench subspaces of limbs By using the RBR system, we propose a process for determining the bases of twist/wrench subspaces of a limb shown in Figure 4. The process can be implemented by the following steps.
(1). Extract the joint axis features of the limb by using the API capabilities of SolidWorks, and determine the elements of T a (the j a th element is denoted by$ ta, j a (j a = 1;f )) by using the rules in Group I. (2). Generate the IPM of the limb by finding the unchanged geometric entities related to the coordinate systems after each elementary transformation. This can be done by the following steps.
(i) Extract the transformation matrix A m, 1 of the mth datum coordinate system denoted by K m with respect to the first datum coordinate system denoted by K 1 in the limb, this allows a sequence of homogeneous transformations between the adjacent datum coordinate systems to be obtained by (ii) According to the number of transformations denoted by n c , generate an empty IPM that has 10 rows and n c columns.
(iii) According to the type of A m, mÀ1 , determine the values of the elements in the IPM by using the rules in Group II.  (5) According to the types and axis information of the elements of W c , determine the elements of T c (the j c th element is denoted by$ tc, j c (j c = 1;6 À f )) by using the rules in Group. (6) Compute the elements of T a and T c numerically by assigning the coordinates of joint position points and the unit vector being collinear with the joint orientation axes to equation (1) such that a basis of T can be generated by This allows the elements of W a to be obtained numerically by solving a set of linear algebraic equations in Huang et al. 38 Finally, the k a th element of W a denoted by$ wa, k a can be obtained by normalizing $ wa, k a . It should be pointed out that this step can be done in the following procedure for numerical computation of kinematic performance of PMs.
(7) Update the conceptual model of the limb by attaching the generated information of the bases of twist/wrench subspaces as SolidWorks attributes.

Examples
In this section, the process for determining the bases of twist/wrench subspaces of limbs will be demonstrated by taking the UP limb as an example. This allows a library which contains the bases of twist/wrench subspaces of typical limbs to be developed. Figure 5 shows the conceptual model of the UP limb. The skeleton elements in this model are described as follows: (1) S 1 , S 2 , and S 3 are joint orientation axes of U joint and P joint with S 1 ?S 2 , S 2 ?S 3 , and the unit vectors along the axes are denoted by s 1 , s 2 , and s 3 , respectively. (2) P 1 and P 2 are joint position points with P 1 being the interaction point of S 1 , S 2 , and P 2 being the end point of S 3 . The position vectors of P 1 and P 2 with respect to the reference frame K E are denoted by p 1 and p 2 , respectively. (3) K 1 ;K 4 are datum coordinate systems of the UP limb. The origins of K 1 ;K 3 and K 4 are coincident with P 1 and P 2 , respectively. The coordinate axes of K 1 ;K 4 are denoted by e 1 ;e 3 with e 1 of K 1 and K 2 being along S 1 , e 2 of K 2 and K 3 being along S 2 , e 3 of K 3 and K 4 being along S 3 .
Determining the elements of T a . Extract the joint axis features (see Figure 6) from the UP limb to determine the types and axes of elements of T a . The generated info set of T a is shown in Figure 7. Thus, according to equation (1), the formulas of the elements of T a can bê Generating the IPM.
(1) Extract and compute transformation matrices between the adjacent datum coordinate systems, that is, u 1 ), A 3, 2 = Rot(e 2 , u 2 ), where, u 1 , u 2 , and s 3 are the angles/distances rotating/ translating about/along e 1 of K 1 , e 2 of K 2 and e 3 of K 3 , respectively. This is followed by generating the info set of transformations between adjacent coordinate systems shown in Figure 8.
(2) Build an empty IPM shown in Figure 9(a) with the columns corresponding to A m, mÀ1 (m = 2;4) and the rows corresponding to the geometric entities related to K 1 ;K 4 . For each coordinate system, these geometric entities include the origin represented by O (coincident with P 1 and P 2 ), the plane represented by P j (j = 1;3) which is passing through O and normal to e j , and the line represented by L j which is passing through O with its direction along e j .
(3) According to the type of A m, mÀ1 , determine the element values of the IPM by using the rules in Group II such that an updated IPM shown in Figure 9(b) is generated. Here, the first column of the IPM indicates that P 1 , L 1 and O of K 1 and K 2 are the unchanged geometric entities of A 2, 1 , the second column indicates that P 2 , L 2 and O of K 2 and K 3 are the unchanged geometric entities of A 3, 2 , while the third column   indicates that P 1 , P 2 and L 3 of K 3 and K 4 are the unchanged geometric entities of A 4, 3 .
Identifying the invariant geometric properties.
(1) Identify the types and related geometric entities of the invariant geometric properties of the UP limb by traversing through the IPM. As shown in Figure 10, the first invariant geometric property is a point-plane distance between O of K 1 , K 2 , K 3 and P 1 of K 3 , K 4 ; the second is also a point-plane distance between O of K 1 , K 2 , K 3 and P 2 of K 3 , K 4 ; and the third is a plane-plane angle between P 1 of K 1 , K 2 and P 2 of K 2 , K 3 , K 4 , respectively. (2) Generate the info set of invariant geometric properties shown in Figure 11 according to the predefined geometric relations between the datum coordinate systems and joint axis features shown in Figure 5.
(i) For the first invariant geometric property, P 1 is coincident with O of K 1 , K 2 , K 3 , the common normal of S 2 and S 3 represented by (S 2 , S 3 ) is perpendicular to P 1 of K 3 and K 4 , thus the value in the info set is denoted by ''P 1 -(S 2 , S 3 ).'' (ii) For the second invariant geometric property, P 1 is coincident with O of K 1 , K 2 and K 3 , S 2 is perpendicular to P 2 of K 3 and K 4 , thus the value in the info set is denoted by ''P 1 -S 2 .'' (iii) For the third invariant geometric property, S 1 and S 2 are perpendicular to P 1 of K 1 , K 2 and P 2 of K 2 , K 3 , K 4 , respectively, thus the value in the info set is denoted by Determining the elements of W c . According to the types and related geometric entities of invariant geometric properties, determine the elements of W c by using the rules in Group . The generated info set of elements of W c is shown in Figure 12.
(1) For the first invariant geometric property, its corresponding screw denoted by$ wc, 1 is a line vector, the value in the info set is denoted by ''P 1 -(S 2 , S 3 )'' in which P 1 and (S 2 , S 3 ) represent the position and orientation of the screw axis, respectively. (2) For the second invariant geometric property, its corresponding element by$ wc, 2 is also a line vector, the value in the info set is denoted by ''P 1 -S 2 '' in which P 1 and S 2 represent the position and orientation of the screw axis, respectively. (3) For the third invariant geometric property, its corresponding element by$ wc, 3 is a couple, the value in the info set is denoted by ''Null-(S 1 , S 2 )'' in which (S 1 , S 2 ) represents the orientation of the screw axis.
Thus, according to equation (1), the formulas of the elements of W c can be$ wc, 1 = Determining the elements of T c . According to the types and axis information of the elements of W c , determine the elements of T c by using the rules in Group IV.
The generated info set of elements of T c is shown in Figure 13.
(1) As$ wc, 1 and$ wc, 2 are both line vectors, the corresponding unit twists of restrictions denoted by$ tc, 1 and$ tc, 2 are both couples, the values in   the info set are denoted by ''Null-(S 2 , S 3 )'' and ''Null-S 2 ,'' respectively. (2) As$ wc, 3 is a couple, the corresponding unit twist of restrictions denoted by$ tc, 3 is a line vector, the value in the info set is denoted by ''P 1 -(S 1 , S 2 )'' in which P 1 and (S 1 , S 2 ) represent the position and orientation of the screw axis, respectively.
Thus, according to equation (1), the formulas of the elements of T c can bê Based upon the process shown in Figure 4, the bases of twist/wrench subspaces of other commonly used limbs can be automatically determined in the CAD system. This leads to the development of a library containing the 3D models of limbs in which the information of the bases of twist/wrench subspaces is embedded. Equipped with the library at hand, various types of PMs can be composed in a very rapid manner such that the general Jacobian of a PM can be generated by using the information of bases of twist/wrench subspaces embedded in its limbs, thereby allowing the mobility and force/motion transmissibility performance to be evaluated automatically.

Mobility and force/motion transmissibility analysis of PMs
For a nonredundant and nonoverconstrained PM composed of l limbs, and each limb contains n i (n i ł 6, i = 1;l) 1-DOF joints, the process for evaluation of its kinematic performance over the entire workspace can be implemented by the following steps.
(1) Compute the coordinates of the position and direction vectors of joint axes (joint position points and joint orientation axes) numerically at the initial (home) configuration by using the API capabilities of SolidWorks, and store the generated data into a dynamic database. (2) Compute the coordinates of basis elements of twist/wrench subspaces of each limb numerically by assigning the data obtained in step (1) into the corresponding formulas, and store the generated data into a dynamic database. Here, T a, i , T c, i , W c, i , and W a, i are the bases of twist/ wrench subspaces of the ith limb with can be obtained by computing the inverse of the general Jacobian J = W a W c ½ T with W a = ½$ wa, g 1 , 1 :::$ wa, g f , f . (7) Drive the conceptual model built in SolidWorks by the actuated joint variables to specified configurations, and evaluate the force/motion transmissibility performance over the entire workspace.

Software development and application
Based upon the proposed approach, a software package for mobility and force/motion transmissibility analysis of PMs shown in Figure 14 is developed using the object-oriented language of VB.NET. In this software, SolidWorks is used for 3D modeling of limbs and mechanisms, Matlab is used for numerical computation, and Microsoft Access is used for storing the information during the overall process.

Application example of a 3-RPS mechanism
The conceptual model of the 3-RPS mechanism has been shown in Figure 3, More details of its skeleton elements are described as follows: (1) a and b are the dimensions of the moving and fixed platform which are represented by the distances between two datum planes.
(2) s 1, i ;s 5, i are unit vectors along S 1, i ;S 5, i , and are evaluated in the frame K E . (3) P 1, i and P 2, i are the interaction points of S 1, i , S 2, i , and S 3, i ;S 5, i , respectively, and the position vectors of P 1, i and P 2, i with respect to K E are denoted by p 1, i and p 2, i . (4) e 1 of K 1, i and K 2, i are coincident with S 1, i , e 3 of K 2, i , K 3, i , and K 4, i are coincident with S 2, i S 3, i ð Þ, e 2 of K 4, i and K 5, i are coincident with S 4, i , e 1 of K 5, i and K 6, i are coincident with S 5, i .
By using the process shown in Figure 4 or selecting limbs from the library (if the model is assembled by the available limbs in the library), the info sets of the bases of twist/wrench subspaces of the RPS limb can be easily formulated, and the information of the position and orientation of related screw axes are shown in Figure  15. With the bases of twist/wrench subspaces of the RPS limb at hand, the generalized Jacobian of the 3-RPS mechanism can be generated by " #

:
Given a = b = 250 mm, the coordinates of joint axis features and the basis elements of twist/wrench subspaces of each limb are computed sequentially in the interface shown in Figures 16 and 17. Following the steps (3)-(6) of the process in Section 6, the mobility and force/motion transmissibilities of the 3-RPS mechanism are evaluated in the interface shown in Figure 17. Drive the conceptual model built in SolidWorks by the actuated joint variables to specified configurations, the full-cycle mobility of the 3-RPS mechanism can be verified, and the force/motion transmissibility performance of the mechanism over the entire workspace can be evaluated with ease. Figure 18 shows the distributions of h PP and h PR over the orientation workspace of c = 0 8 ;360 8 and u = 0 8 ;40 8 with s = 0 mm and s = 200 mm (c, u, and s are the precession angle, nutation angle and the stroke along the z axis for describing the movement capability of the mechanism). It can be seen that the results obtained in the CAD system have good match to those in Liu et al. 10 Application example of a 3-UPS&1-UP mechanism The conceptual model of the 3-UPS&1-UP mechanism built in SolidWorks is shown in Figure 19. Its skeleton elements are described as follows: (1) S 1, i ;S 6, i (i = 1;3) are joint orientation axes of the ith UPS limb, and S 1, 4 ;S 3, 4 are those of the UP limb. (2) P 1, i and P 2, i are   joint position points of the ith UPS limb, and P 1, 4 and P 2, 4 are those of the UP limb. (3) K E (A À x 0 y 0 z 0 ) is the reference frame located in the moving platform while keeping its three orthogonal axes parallel to those of the reference frame K B (B À xyz) located in the fixed platform. (4) a and b are the dimensions of the moving and fixed platform which are represented by the distances of two datum planes (dimensional features). (5) The task workspace of the mechanism is described by three parameters, that is, R, H, and h.
By using the process shown in Figure 4, the info sets of the bases of twist/wrench subspaces of the UPS and UP limb can be easily formulated in the interface shown in Figure 15, and the generalized Jacobian of the 3-UPS&1-UP mechanism can be generated by    : Given a = 75 mm, b = 200 mm, l 1 = 375 mm, l 2 = 950 mm, R = 500 mm, H = 760 mm, and h = 250 mm, the force/motion transmissibility performance of the 3-R(SS) 2 mechanism over the entire workspace can be evaluated in the interface shown in Figure  17. Figure 22 shows the distributions of h S , h PP , and h PR in the mid-layer of the task workspace.

Conclusions
By integrating the screw theory with CAD technology, this paper presents an effective and automated methodology for mobility and force/motion transmissibility analysis of PMs. The following conclusions are drawn:  (1) We have proposed a framework and detailed procedures for CAD-based mobility and force/ motion transmissibility analysis of PMs that essentially involves three steps: (a) building a conceptual model of the PM in the CAD system by using datum entities to represent the dimensional and topological information; (b) determining the position and orientation of elements of the bases of twist/wrench subspaces of limbs in an RBR mode such that the generalized Jacobian of the mechanism can be formulated in an automatic manner; and (c) evaluating the mobility and force/motion transmissibility performance of the mechanism by computing the elements of the bases of twist/wrench subspaces of limbs numerically. (2) A process for determining the bases of twist/ wrench subspaces of limbs without manual intervention is proposed. This leads to the development of a library containing the 3D models of commonly used limbs in which the information of the bases of twist/wrench subspaces is embedded. With the library at hand, the conceptual models of various PMs, which can be immediately used for mobility and force/motion transmissibility analysis, can be created quickly. (3) Based upon the proposed approach, a software package is developed for mobility and force/ motion transmissibility analysis of PMs, and the effectiveness of the software is verified by taking the 3-RPS mechanism, the 3-UPS&1-UP mechanism, and the 3-R(SS) 2 mechanism as examples. Combined with the CAD-CAE integration system for static and dynamic performance evaluation of PMs (our previous work), this software can be applied to the integrated optimal design of PMs having a wide variety of topological architectures. (4) The developed software is temporarily limited for kinematic performance evaluation of nonredundant and nonoverconstrained PMs. Further work will be carried out to extend its application in redundant and overconstrained PMs by investigating into associated mathematical theory foundations. (5) As the space is limited, the approach for automated creation of conceptual models of PMs down to the joint and link level, which involves the techniques for automated assembly such as combinatorial and modular modeling, representation and identification of assembly information, etc., is not presented in this paper. This issue, however, deserves to be addressed in a separate article.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.