You are on page 1of 17

Mechanism and Machine Theory 137 (2019) 280–296

Contents lists available at ScienceDirect

Mechanism and Machine Theory


journal homepage: www.elsevier.com/locate/mechmachtheory

Research paper

A geometric algebra algorithm for the closed-form forward


displacement analysis of 3-PPS parallel mechanisms
Xiguang Huang a,b,∗, Chaoyang Ma a, Haijun Su b
a
School of Mechanical and Material Engineering, North China University of Technology, Beijing 100014, PR China
b
Department of Mechanical and Aerospace Engineering, The Ohio State University, Columbus, OH 43210, USA

a r t i c l e i n f o a b s t r a c t

Article history: This paper presents an efficient graphical representation geometric algebra approach for
Received 21 October 2018 the forward displacement analysis (FDA) of 3-PPS parallel mechanisms (PMs). Our ap-
Revised 24 January 2019
proach based on conformal geometric algebra (CGA) reveals interesting intuitions and in-
Accepted 24 January 2019
sight of the modelling and solution for FDA of this type PMs and reduces considerably
Available online 25 March 2019
computational burden and time. In this work, we first deduce the position of an arbitrary
Keywords: joint among three spherical joints on the moving platform through motors and represent
Forward displacement analysis it in terms of only one variable. Then, we formulate the position of either one joint of two
Parallel mechanism remained spherical joints using the intersection of a sphere and two planes under the CGA
Conformal geometric algebra framework. To obtain the geometric formulation of the third spherical joint position, we
Geometrical intuition construct the outer product of two spatial balls with centers at two formulated spherical
Closed-form solutions joints centers and two known planes. The positions of three spherical joints are all ex-
plicit geometric formulations of geometric entities of the parallel mechanisms. We achieve
a coordinate-invariant equation expressed in terms of geometric entities via inner prod-
uct of the last joint by itself. The symbolic 8th-degree univariate polynomial input-output
equation is first proposed and all 8 sets of closed-form solutions can be obtained. The
algorithm is the geometric algebra computation in a clear and coordinates-free way that
avoids the use of rotation matrices, and complex algebraic modelling and nonlinear and
multivariable elimination computations as most current approaches do. Finally, two nu-
merical examples have been applied to demonstrate the efficiency of the algorithm com-
paring with the Dixon resultant method. The results show that this algorithm can simplify
complexity of the problem and reduce computation time dramatically with strong geomet-
rical intuition. The achieved symbolic univariate polynomial input-output equation can be
applied directly to solve the DPA for all types of 3-PPS PMs instead of using any other
methods. This work provides a novel geometric modeling and solution approach for the
forward displacement analysis of spatial parallel mechanism and be of greatly useful for
roboticists or engineers to design and develop 3-PPS PMs for kinds of applications.
© 2019 Elsevier Ltd. All rights reserved.


Corresponding author at: School of Mechanical and Material Engineering, North China University of Technology, No. 5 Jinyuanzhuang Road, Shijingshan,
Beijing 100144, PR China.
E-mail addresses: marchbupt@126.com, huangxiguang@gmail.com (X. Huang).

https://doi.org/10.1016/j.mechmachtheory.2019.01.035
0094-114X/© 2019 Elsevier Ltd. All rights reserved.
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 281

1. Introduction

Parallel mechanism (PM) can be defined as a multi degree-of-freedoms (DOFs) mechanism consists of a moving platform
and a base connected to each other by at least two kinematic chains or limbs [1]. PM architectures were first introduced
in tire testing by Gough [2], followed by the flight simulators platform built by Stewart [3] and now are well known as
the Stewart platforms. Stewart platforms as 6-DoFs mechanisms have been extensively investigated and used due to their
inherent advantages over the conventional serial mechanisms, such as higher stiffness, better accuracy, and heavier load-
ing ability. Recently, PMs with less than 6-DOFs have attracted many research attentions because of its practical interest,
mechanical simplicity, and rich mathematical properties [4,5]. Especially, the group of 3-DOF PMs have been designed and
investigated for relevant manipulate tasks [6]. The most commercially successful one is undoubtedly the DELTA robot which
was firstly presented in 1980s [7], now has been applied it in various fields, such as industry pick and place manipulation
[8], medical equipments [9], haptic input devices [10,11] and so on. The 3-[P][S] PMs family including 3-RPS, 3-PRS, 3-RRS
and 3-PPS, where R designates a revolute pair, P stands for a prismatic pair, and S denotes a spherical pair, have been devel-
oped and investigated for many applications, such as Z3 head in machine tool by DS Technology [12], telescope application
[13], motion simulator [14], micro-manipulator [15], and coordinate measuring machine [16], and so on. The motion plan-
ning and control of a PM calls for solutions of the FDA that is equivalent to find the position and orientation of the moving
platform with respect to the base platform for a given set of limbs lengths [17,18]. The FDA problem leads naturally to sys-
tem of nonlinear algebraic and/or transcendental equations that led to multiple solutions. Generally, it has always been a
challenge from both mathematical and mechanical point of view to solving the nonlinear algebraic equations.
Since the 3-RPS PM was proposed by Hunt [19] in 1983, several approaches have been introduced to deal with the FDA
of the 3-[P][S] PMs family manipulators by numerous scholars and researchers. Lee [20] firstly solved the FDA of the 3-RPS
PM using a numerical method. Gallardo [21] and Fang [22] discussed the velocity as well as the acceleration behavior by
numerical methods. Though the FDA can be solved using an iterative numerical method, a closed-form solution is obviously
prioritized because the technique can provide valuable insights about the complex geometry and kinematic behavior of
the PM in the design stage. Tsai [23] and Nanua [24] found the correct number of solutions of the FDA of the PM, which
is also mentioned by Gallardo [21] and Bonev [25]. Schadlbauer [26] modeled the FDA of this type of manipulator via
Study’s kinematic mapping and solved the constraint equations by Groebner basis. Mamidi [27] showed that the FDA of
this PM is equivalent to finding the intersection of a pair of quad-circular octic curves with a circle. Ruggiu [28] studied
the FDA for a 3-PPS PM architecture, in which the fixed base and the moving platform are both shaped as equilateral
triangles that can decrease dramatically the modelling and solution difficulty of the FDA due to the special shape proposed
by Liu [29]. Moreover, they developed an elimination method to derive a univariate polynomial of degree 8 from a 6 × 6
Sylvester’s matrix formed by 6 equations of using skillfully the dialytic elimination method twice. However, the authors did
not demonstrate any numerical examples to verify the method. As far as the authors’ knowledge, the FDA of the 3-PPS PM,
which is arguably the best candidates for machining due to its better accuracy and kinematic performance [30], has not
been received extensively attention though 3-RPS, 3-PRS, and 3-RRS have been studied extensively among the 3-[P][S] PMs
family. In terms of mathematical methods, most of approaches to the FDA of the 3-[P][S] PMs family manipulators is usually
to establish firstly nonlinear algebraic equations by the geometric modeling, and then to solve equations using resultant
methods or Groebner basis method etc. The only exception could be [31] where the authors applied CGA approach to FDA
of a 6–3 Stewart platform, a 3-RPS PM, and a 3-PRS PM. However they failed to completely demonstrate the geometrical
intuition of the CGA-Based approach to the FDA of PMs and the computation process was of an abstract mathematical
nature, which was quite complex to be adopted and of little assistance to the roboticist.
In this paper, a complete formulation of the geometry-based computation approach for FDA of a class of 3-PPS PMs
is presented based on CGA. The mechanism consists of a fixed base and a moving platform connected to each other by
three identical legs with a PPS chain. As a subfield of Clifford algebra [32], CGA has been recognized widely as concise
description and direct calculation for geometric entities [33]. CGA provides various visually geometric entities of points,
spheres, planes, lines, circles, and point pair by a systematical hierarchy of multiple grades. Thanks to the advantages in
motion description, CGA based approach is applied in robotics [34,35] up to now, such as inverse kinematics analysis of
serial mechanisms [36–40], rigid body displacement analysis by geometric constraints [41], singularity analysis [42–44],
mobility analysis [45,46], and topology synthesis [47,48] of parallel mechanisms. The main objective of this work is to reveal
a complete and interesting intuitions and insight of geometric modeling and solution approach of the FDA of a class of
3-PPS PMs in which the fixed base and the moving platform are both shaped as arbitrary triangles. Based on the proposed
method, the compact and coordinate-invariant formulations can be direct achieved simply with a clear geometric intuitions
way that avoids the use of rational angles or matrices, and complex nonlinear multivariable elimination computations as
most current approaches do. The symbolic 8th-degree univariate polynomial input-output equation that is first proposed
can be applied directly to solve the DPA for all types of 3-PPS PMs instead of using any other elimination techniques. The
computational burden and computational time can be reduced considerably.
The remaining of the paper is organized as follows. Section 2 introduces fundamentals of CGA needed for solving FDA
of PM manipulators. Section 3 presents the CGA-based formulation and solution procedure for the FDA of 3-PPS PMs.
Section 4 will provide two numerical examples to verify the presented algorithm. Section 5 gives some conclusions.
282 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

Fig. 1. The directed area, or bivector, a∧b.

Fig. 2. The oriented volume, or trivector, a∧b∧c.

2. An introduction to conformal geometric algebra

In this section, foundations of CGA needed for solving the FDA of 3-PPS PM manipulators will be briefly reviewed. Some
more detailed introductions to CGA can be found in [49,51].

2.1. Products of geometric algebra

There are three kinds of fundamental algebraic operators in CGA: geometric product, outer product and inner product.
For two vectors a and b, the geometric product can be expressed as

ab = a · b + a ∧ b (1)
where ab denotes geometric product, a · b is the inner product and a∧b is the outer product.
The inner product of two vectors is the standard scalar or dot product, which produces a scalar. For perpendicular vectors
e1 and e2 , the inner product is 0, for instance, e1 · e2 = 0. The outer product of two vectors is a new quantity, which we call
a bivector. We think of a bivector as an oriented area in the plane containing the vectors a and b, which is formed by
sweeping vector a along vector b as illustrated in Fig. 1. Thus, b∧a will have the opposite orientation, making the outer
product anticommutative. The outer product is immediately generalizable to higher dimensions. For example, a∧b∧c can
be interpreted as the oriented volume formed by sweeping the area a∧b along vector c as illustrated in Fig. 2. The outer
product of two parallel vectors is 0, for instance,

a ∧ a = − (a ∧ a ) = 0 (2)
The outer product of k vectors is a k-blade, which is said to have grade k. The linear combination of objects of different
grades, which we call a multivector, is a homogeneous k-vector if it contains terms of only a single grade k. In the reverse of
a multivector the blades are with reversed order of their outer product components, for instance the reverse of multivector
U = 1 + a ∧ b is equal to U˜ = 1 + b ∧ a or U˜ = 1 − a ∧ b.
The Euclidean space R3 is described with the orthogonal unit vectors e1 , e2 , e3 . The vectors a and b in Euclidean space
are given by a = a1 e1 + a2 e2 + a3 e3 and b = b1 e1 + b2 e2 + b3 e3 , where ai and bi (i = 1, 2, 3) are scalars, we can get

a · b = a1 b1 e1 · e1 +a1 b2 e1 · e2 +a1 b3 e1 · e3
        
1 0 0
+a2 b1 e2 · e1 + a2 b2 e2 · e2 + a2 b3 e2 · e3 + a3 b1 e3 · e1 + a3 b2 e3 · e2 + a3 b3 e3 · e3
= a1 b1 + a2 b2 + a3 b3 (3)

a ∧ b = a1 b1 e1 ∧ e1 +a1 b2 e1 ∧ e2 +a1 b3 e1 ∧ e3 +a2 b1 e2 ∧ e1


           
0 e1 e2 e1 e3 −e1 e2

+a2 b2 e2 ∧ e2 + a2 b3 e2 ∧ e3 + a3 b1 e3 ∧ e1 + a3 b2 e3 ∧ e2 + a3 b3 e3 ∧ e3
= ( a1 b2 − a2 b1 )e1 e2 + ( a2 b3 − a3 b2 )e2 e3 + ( a3 b1 − a1 b3 )e3 e1 (4)
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 283

Table 1
The representations (IPNS and OPNS) of conformal geometric en-
tities.

Entities INPS representation OPNS representation

Point P = X + X e∞ /2 + e0
2

Sphere S = P − r 2 e∞ /2 S ∗ = X1 ∧ X2 ∧ X3 ∧ X4
Plane π = n + d e∞ π∗ = X1 ∧ X2 ∧ X3 ∧ e∞
Circle Z = S1 ∧ S2 Z ∗ = X1 ∧ X2 ∧ X3
Line L = π 1 ∧ π2 L∗ = X1 ∧ X2 ∧ e∞
Point pair PP = S1 ∧ S2 ∧ S3 PP∗ = X1 ∧ X2

The 5 dimension (5D) Conformal space G4,1 is the extension of the 3D Euclidean space R3 with the orthogonal unit
vectors e1 , e2 , e3 and a 2D Minkowski vector space G1,1 with base vector e+ , e- . This provides us with some very efficient
tools, particularly, the formulation makes it very simple to define geometric objects in the form of lines, planes, circles and
spheres. In addition, it is easy to calculate the occurrence of intersections between the geometric objects, and the distance
between objects. CGA uses the three Euclidean basis vectors e1 , e2 , e3 and two additional basis vectors e+ , e- with positive
and negative signatures, respectively, which means that they square to +1 as usual (e+ ) and to −1 (e− ), with the properties

e2i = 1, i = 1, 2, 3
e2+ = −e2− = 1 (5)
ei · e+ = ei · e− = 0 , i = 1 , 2 , 3

The origin e0 and infinity e∞ can be defined by the linear combination of e+ , e- as



e0 = 12 (e− − e+ )
e∞ = e− + e+ (6)
e20 = e2∞ = 0, e0 · e∞ = −1
In CGA, there exists only one element of the maximum grade 5, I = e1 ∧ e2 ∧ e3 ∧ e∞ ∧ e0 which is called the pseu-
doscalar. The square of the pseudoscalar is I 2 = −1. The conformal dual of a multivector A in conformal space is

A∗ = AI −1 (7)
and it follows that the dual of the dual is (A∗ )∗ = −A where superscript ∗ means the dual operator.

2.2. Conformal representation of Euclidean objects

CGA provides the representation of entities for the intuitive expression of various geometric entities listed in Table 1.
These entities have two algebraic representations: the IPNS (inner product null space) and the OPNS (outer product null
space). These representations are duals of each other, which is indicated by a superscript asterisk symbol. See [50,51] for
more details of the IPNS and OPNS.
In Table 1, Pi , Si , π i , Zi , Li , and Ppi represent different points, spheres, planes, circles, lines and point pairs in conformal
space respectively. X and n refer 3D point and the 3D normal vector of the plane obtained by linear combinations of the 3D
basis vectors e1 , e2 , and e3 in the Euclidean space R3 :

X = x1 e1 + x2 e2 + x3 e3 (8)
where x1 , x2 , x3 are scalars and X · X = X 2 = x1 2 + x2 2 + x3 2 , r denotes the radius of the 3D circle and d represents the
distance from the plane to the origin.
We can use the following formula to extract the two points P ± of a point pair Pp [50,51]:

± PP∗ · PP∗ + PP∗
P± = − (9)
e∞ · PP∗
where PP∗ denotes the dual of the point pair Pp.

2.3. Rigid transformations in conformal geometry

In the conformal space, rigid rotation can be computed as following quaternion [51], which we called a rotor R:
 
θ θ
R = cos − L sin (10)
2 2

where L is the unit bivector representing the rotation plane and θ is the rotation angle around the rotation axis.
284 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

In the conformal space, the translation can be represented as a translator:


1
T =1− t e∞ (11)
2
where t = t1 e1 + t2 e2 + t3 e3 , is a vector representing the translation in real space R3 .
In CGA, a rigid-body motion, including both a rotation and a translation, is described by a displacement versor M, some-
times also called a motor,
M = RT (12)
Therefore, all kinds of rigid transformation of an entity Q, such as points, lines, planes, circles, and spheres, can be
performed with the help of the geometric product multiplying from the left with the motor M and from the right with its
˜ = T˜ R˜ as following
reverse M
Q  = MQ M
˜ = RT Q T˜ R˜ (13)
where Q represents the entity after rigid transformation of an entity Q, R˜ denotes the reverse of the rotor R, and T˜ is the
reverse of T.

2.4. Intersection and distance among points

In the OPNS representation of CGA, the outer product ∧ indicates the construction of a geometric object with the help of
points Pi that lie on it. A sphere in Table 1, for instance, is defined by four points P1 ∧P2 ∧P3 ∧P4 on this sphere. In the IPNS
representation, the meaning of the outer product is an intersection or meet of geometric entities. A circle, for instance, is
defined by the intersection of two spheres S1 ∧S2 . In the following, we present the representations of all the basic geometric
entities.
In CGA, points are represented as vectors. The inner product of this kind of object is a scalar and can be used as a
measure of distances. Based on the Table 1 and Eq. (8), we will see that the inner product of two points represented by P1
and P2 can be used for task such as the Euclidean distance d between two points.
1 2 1
P1 · P2 = ( p1 + p e∞ + e0 ) · ( p2 + p22 e∞ + e0 )
2 1 2
1 2 1 1 1 1
= p1 · p2 + p2 p1 · e∞ + p1 · e0 + p21 e∞ · p2 + p21 p22 e∞ · e∞ + p21 e∞ · e0 + e0 · p2 + p22 e0 · e∞ + e0 · e0
2       2    4    2       2      
0 0 0 0 −1 0 −1 0
1 1 1 1
= p1 · p2 − p21 − p22 = − ( p1 − p2 )2 = − d2 (14)
2 2 2 2
We recognize that the square of the Euclidean distance of the inhomogeneous points corresponds to the inner product
of the homogeneous points multiplied by −2.
d2 = ( p1 − p2 )2 = −2P1 · P2 (15)
In the next section, we will present the geometric algebra algorithm for the FDA of 3-PPS PMs step by step. The geo-
metrically intuitive operations of CGA make it easy to derive the 8th-degree univariate polynomial input-output equation
without complex algebraic modelling and nonlinear and multivariable elimination computations as most current approaches
do.

3. Geometry and reference systems

The architecture of a 3-PPS parallel manipulator is shown in Fig. 3. The mechanism is composed of a moving platform
as the output platform that consists of a triangle B1 B2 B3 with vertices B1 , B2 and B3 and the length di of triangle sides,
a fixed base that consists of a triangle A1 A2 A3 with vertices A1 , A2 and A3 , and three supporting limbs with identical
kinematic structure. The fixed base and the moving platform are both shaped as arbitrary triangles instead of special shapes
as in [28]. The process of modelling and solution of FDA of the complex mechanism become more general and more difficult.
Without loss the generality, the following coordinate reference systems and representative directions are defined in
Fig. 3:a fixed Cartesian reference coordinate frame O-xyz, which we call the universe reference frame, is attached at the
arbitrary point O of the fixed base platform A1 A2 A3 . And three fixed Cartesian reference coordinate frame Oi -xi yi zi (i = 1,
2, 3) are attached at the vertices A1 , A2 and A3 of the fixed base platform A1 A2 A3 , which we call the base reference frame.
For simplicity of analysis, let zi -axis (i = 1, 2, 3) coincide with the prismatic joints axes and point in the direction of pris-
matic motions. xi -axis (i = 1, 2, 3) parallel to the xz-plane of the frame O-xyz and the projection of xi -axis on the x-axis is
positive. yi -axes (i = 1, 2, 3) can be obtained by the right-hand rule. The P joint axis with length li connecting another P
joint to S joint forms an angular γ i (i = 1, 2, 3) with xi zi -plane in each limb. Let ti (i = 1, 2, 3) denote the distance of the
prismatic motions along directions zi -axis.
Overall there are twelve parameters, namely di , γ i , li and ti (i = 1, 2, 3). While di and γ i determine the design of the
manipulator, parameters li and ti are joint parameters, which define the motion of the manipulator. It should be noted
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 285

Fig. 3. Geometric model of 3-PPS parallel mechanism.

that either of parameters li and ti in the i limb can be actuated joint parameters and others are passive prismatic joint
parameters accordingly. Whatever the case, the proposed approach is suitable. For analysis, li denote actuated parameters
and ti are passive prismatic joint parameters.

4. CGA-based modelling and solution for the FDA

The FDA of 3-PPS parallel mechanisms is to find the position and orientation of the moving platform with respect to the
base platform for a given the length of each driving legs, which is equivalent to the computation of the coordinates of the
centers of the three spherical joints attached on the moving platform. Thus, parameters di , γ i , and li (i = 1, 2, 3) are known
while ti (i = 1, 2, 3) and the coordinates of the centers of vertices Bi (i = 1, 2, 3) on the moving platform are unknown after
locking the actuated joints.

4.1. Motors from the universe coordinate frame to base coordinate frames

Let (axi , ayi , azi ) denote coordinates of the centers of vertices Ai (i = 1, 2, 3) and (zix , ziy , ziz ) denote the direction cosines
of the axes zi -axis (i = 1, 2, 3). To obtain coordinates of centers of Bi (i = 1, 2, 3), the motion operator Mi (i = 1, 2, 3) from the
universe coordinate frame O-xyz to base coordinate frames Oi -xi yi zi (i = 1, 2, 3) can be defined as following: translate the
universe coordinate frame O-xyz from the origin O to origin Oi in the coordinate frame Oi -xi yi zi (i = 1, 2, 3) by axi along the
x-axis, ayi along the y-axis and azi along z-axis, then rotate angle the coordinate frame Oi -xi yi zi by α i (i = 1, 2, 3) around the
x-axis and angle β i (i = 1, 2, 3) around the z-axis of the current coordinate frame, which are showed in the Fig. 3. If ziy = 0,
we obtain

arccos(ziz ), ziy < 0


αi = (16)
− arccos(ziz ), ziy > 0

zix
βi = arctan − (17)
ziy

If ziy = 0,

− arccos(ziz ), ziy > 0


αi = (18)
arccos(ziz ), ziy < 0

βi = 0 (19)
Based on Eqs. (10)-(12), (16)-(19), the motion operator Mi (i = 1, 2, 3) can be achieved
Mi = Txi Tyi Tzi Rxi Rzi (20)
α α β β
where, Txi = 1 − 12 · axi e1 e∞ , Tyi = 1 − 12 · ayi e2 e∞ , Tzi = 1 − 12 · azi e3 e∞ , Rxi = cos( 2i ) + e12 sin( 2i ), Rzi = cos( 2i ) + e23 sin( 2i ).
The motion operator Mi (i = 1, 2, 3), which demonstrate transformations from the universe coordinate frame O-xyz to
base coordinate frames Oi -xi yi zi (i = 1, 2, 3), are the very critical and important operations in CGA-based approach for FDA
286 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

Fig. 4. Geometric spheres intersect at point B3 .

of PMs. Otherwise, the coordinates computation of vertices Bi (i = 1, 2, 3) in the moving platform might not be achieved.
The motion operator Mi (i = 1, 2, 3) will be used in the following computations of coordinate of vertices Bi (i = 1, 2, 3).

4.2. The coordinate of the point B2

In this subsection, the coordinate of the point B2 will be derived through some transformations of motors and be repre-
sented in terms of only univariable t2 .
As can be seen from Fig. 3, the point B2 can be obtained by some transformations using motor Mb2 as following: trans-
form the origin O to the point A2 , subsequently translate the point A2 by t2 units along the z2 -axis, rotate by the angle γ 2
around the z2 -axis, and translate by l2 along the x-axis of the current coordinate frame. From Eqs. (10)-(12) and (16)-(20),
we can get the motor Mb2 from the origin O to the point B2 expressed as
Mb2 = M2 T2z R2z T2x (21)
γ2 γ2
where, M2 = Tx2 Ty2 Tz2 Rx2 Rz2 , T2z = 1 − · t2 e3 e∞ , R2z = cos( 2 ) − e12 sin(
1
2 2 ), T2x = 1 − 1
2 · l2 e1 e∞ .
Based on Eq. (13), the coordinate of the point B2 can be obtained
˜ b2
B2 = Mb2 e0 M (22)
˜ b2 denotes the reverse of the motor Mb2 . Obviously, Eq. (22) contains only one unknown parameter t2 .
where M

4.3. The coordinate of the point B3

In this subsection, the coordinate of the point B3 will be derived by the outer product of three geometric entities, that is
a sphere and two planes illustrated in the Fig. 4.
As can be seen from Fig. 4, the joint point B3 must be lie on the sphere Sb2b3 with center jointB2 and with the length
B2 B3 = d2 as the radius. From Table 1 and Eq. (22), we can get the sphere expressed as
1 2
Sb2b3 = B2 − d e∞ (23)
2 2
Since the joint B3 also must lie on the plane π 1 that is obtained by rotating the coordinate x3 z3 -plane by the angle γ 3
around the z3 -axis and passing through the point A3 . From Eqs. (10)-(13), and (20), we can get plane
π1 = Mπ 1 e2 M˜ π 1 (24)
γ3 γ3
where Mπ 1 = M3 R3z , M3 = Tx3 Ty3 Tz3 Rx3 Rz3 , R3z = cos( 2 ) − e12 sin( 2 ).
The joint B3 also must lie on the plane π 2 that is achieved by translating the coordinate plane x3 z3 -plane by l3 sin (γ 3 )
unit along the y3 -axis. From Eqs. (10)-(13), and (20), we can get plane
π2 = Mπ 2 e2 M˜ π 2 (25)
where Mπ 2 = M3 T3y , M3 = Tx3 Ty3 Tz3 Rx3 Rz3 , T3y = 1 − 1
2 l3 sin(γ3 )e2 e∞ .
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 287

Fig. 5. Geometric spheres intersect at point B1 .

Thus the actual locus of the point B3 must be located on the intersection of three geometric entities, that is the spheres
Sb2b3 and two planes π 1 and π 2 . From Eqs. (23)-(25), we can get a point pair B3 of the point B3 as following

B∗ b3 = Sb2b3 ∧ π1 ∧ π2 (26)
From Eqs. (9) and (26), the expression of the point B3 can be achieved from the point pair B3 of the point B3 as following

k3 + B∗b3
B3 = − (27)
e∞ · B∗b3

where

k23 = B∗b3 · B∗b3 (28)


where B∗b3 denotes the dual of the point pair Bb3 . Undoubtedly, Eqs. (27) and (28) also contain only one unknown parameter
t2 .

4.4. The coordinate of the point B1

To get the coordinate of the point B1 , we construct the intersection of four geometric entities, that is two spheres and
two planes, showed in the Fig. 5.
As can be seen from Fig. 5, the joint point B1 must be lie on the sphere Sb2b1 with center joint B2 and with the length
B2 B1 = d1 as the radius. From the Table 1 and Eq. (22), we can get the expression of the sphere Sb2b1 as following
1 2
Sb2b1 = B2 − d e∞ (29)
2 1
Since the joint point B1 also must lie on the sphere Sb3b1 with center joint B3 and with the length B3 B1 = d3 as the
radius. From Table 1 and Eq. (27), we can get the expression of the sphere Sb3b1
1 2
Sb3b1 = B3 − d e∞ (30)
2 3
Since the joint B1 also must lie on the plane π 3 that is obtained by rotating the coordinate x1 z1 -plane by the angle γ 1
around the z1 -axis and passing through the point A1 . From Eqs. (10)-(13), and (20), we can get

π3 = Mπ 3 e2 M˜ π 3 (31)
γ1 γ1
where Mπ 3 = M1 R1z , M1 = Tx1 Ty1 Tz1 Rx1 Rz1 , R1z = cos( 2 ) − e12 sin( 2 ).
288 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

The joint B1 also must lie on the plane π 4 that is achieved by translating the coordinate plane x1 z1 -plane by l1 sin (γ 1 )
unit along the y1 -axis. From Eqs. (10)-(13), and (20), we can get

π4 = Mπ 4 e2 M˜ π 4 (32)
where Mπ 4 = M1 T1y , T1y = 1 − sin(γ1 )e2 e∞ .
1
2 l1
Thus the actual locus of the point B1 must be located on the intersection of four geometric entities, that is two spheres
Sb2b1 , Sb3b1 , and two planes π 3 , π 4 showed in the Fig. 5. From Eqs. (29)-(32), we can get the point B1 as following

B∗ b1 = Sb3b1 ∧ Sb2b1 ∧ π3 ∧ π4 (33)


Obviously, Eq. (33) also contains only one unknown parameter t2 .

4.5. The univariate input-output equation of FDA

In this subsection, the coordinate-invariant polynomial equation for the FDA of the PM is deduced and all the closed-form
solutions of the FDA is given without any elimination computations as most current approaches do.
In CGA, the inner product of the point and itself is zero. Based on the Eqs. (14)-(15) and (33), we can obtain the following

Bb1 · Bb1 = 0 (34)

Expand the Eq. (34), we can get

a1 · k23 + a2 · k3 + a3 = 0 (35)
where ai (i = 1, 2, 3) and k3 are all represented by t2 .
To substitute directly Eq. (28) into Eq. (35), we change Eq. (35) into the following equation
2
(a2 · k3 )2 = −a · k23 − a3 (36)
Substitute Eq. (28) into Eq. (36) and expand the equation, we can achieve the symbolic univariate 8th-order input-output
equation about the univariable t2 .

a8 t28 + a7 t27 + a6 t26 + a5 t25 + a4 t24 + a3 t23 + a2 t22 + a1 t2 + a0 = 0 (37)


where ai are the symbolic coefficients determined by known structural parameters di , γ i , and li (i = 1, 2, 3) that are given in
the appendix.
As far as the authors’ knowledge, Eq (37) as the symbolic univariate polynomial input-output equation which is first
proposed by us can be used directly to solve the DPA for all types of 3-PPS PMs instead of using any other mathematic
methods. For example, Eq. (37) can be solved by submitting directly all known structural parameters di , γ i , and li (i = 1, 2,
3) into the symbolic coefficients ai and all 8 closed-form solutions of t2 can be obtained in a fairly short time. Thus, the
proposed symbolic univariate polynomial input-output equation can simplify the complexity of the problem and reduce the
computation time dramatically, which is of greatly useful for roboticists or engineers to design and develop 3-PPS PMs for
kinds of applications.

4.6. Back substitution

Solving the Eq. (37) yields all 8 solutions of t2 . For each solution of t2 , we obtain directly the corresponding coordinates
of the joint B2 from Eq. (22). Substituting the achieved coordinates of B2 into Eqs. (27) and (33), we can get the coordinates
of the joint B3 and B1 in the moving platform respectively. Thus, the posture of the moving platform can be determined by
the position of each vertex of the moving platform. For the coordinates of the centers of the three spherical joints attached
on the moving platform have been obtained, the position and orientation of the moving platform with respect to the base
platform can be solved accordingly.

4.7. CGA-based procedure for FDA of 3-PPS PMs

The following is a summary of the CGA-based procedure to follow in order to solve FDA for a new 3-PPS PM:
Step 1. Define coordinate systems including the universe coordinate frame and base coordinate frames and develop mo-
tors describe all positions and orientations of base coordinate frames with respect to the universe coordinate frame.
Step 2. Deduce the position of the arbitrary one joint among the three spherical joints on the moving platform through
motors and represent it in terms of only one univariable.
Step 3. Formulate the position of arbitrary joint between two remained spherical joints on the moving platform by the
intersection and dual of the basic geometric entities that are a sphere and two planes under the CGA framework.
Step 4. Represent the geometric formulation of the third spherical joint position on the moving platform by constructing
the outer product of two space balls with centers at the two formulated spherical joints centers and two known planes.
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 289

Table 2
The 4 real solutions of 3-PPS parallel mechanism.

i t2 B1 B2 B3

1 0.2414 x 3.757 12.263 5.487


y 0.211 4.908 6.62
z −3.886 −3.264 3.591
2 −0.8025 x 15.035 11.818 5.404
y 9.674 4.637 7.089
z 4.613 −3.403 3.866
3 −6.9077 x −0.969 6.168 7.934
y −3.754 2.58 −7.261
z −7.448 −4.462 −4.546
4 −13.575 x 7.994 −0.002 7.672
y 3.766 0.335 −5.773
z −0.693 −5.619 −3.674

Step 5. Derive the coordinate-invariant equation expressed in terms of geometric entities via inner product of the third
joint by itself and the univariate polynomial input-output equation can be obtained directly from the coordinate-invariant
equation.
Step 6. Solve the univariate polynomial input-output equation and obtain the coordinates of the three spherical joints on
the moving platform analytically or numerically by back substitution.

5. Numerical example

To demonstrate and verify the efficiency of the presented algorithm, two numerical examples are provided and the com-
putation efficiency and time are showed by comparing with the Dixon resultant method. The first numerical example is the
3-PPS PM from Ref. [52] which has 4 sets real solutions. The second numerical example is a 3-PPS PM with all 8 sets real
solutions. The solution procedure presented in this paper has been coded in Maple-16 and the calculation was done on the
workstation TS P320 computer (Xeon E3-1230v6 3.5G RAM 8 GB).

5.1. Numerical example 1

A set of link parameters and input data for the FDA of a 3-PPS is considered. With reference to Fig. 3, the coordinates
of the base attachment points Ai (i = 1, 2, 3) and the direction cosines of the axes zi -axis (i = 1, 2, 3) with respect to the
universe coordinate frame O-xyz are given as follows:
→ → →
d1 = d2 = d3 = 10, γ1 = γ2 = γ3 = 60◦ , l1 = l2 = l3 = 5, A 1 = (2, 2, 1 ), A 2 = (11, 7, 1 ), A 3 = (2, 12, 2 ),
→ → → .
Z1 = (0.663414, 0.55667, 0.5 ), Z 2 = (0.925417, 0.336824, 0.173648 ), Z 3 = (0.15038, −0.852869, −0.5 ).
Using the above presented solution procedure, all 8 sets of closed-form solutions have been obtained and the 4 real
solutions are listed in Table 2. All solutions have been verified by the inverse position analysis and agree well with those in
Ref. [52].
Fig. 6 shows the 4 assembly configurations of a computer graphics in a Maple-16 computer program.
By the presented algorithm, the total computation time to determine all the configurations for the FDA of the mechanism
is 4.39 s and the usage of the memory is 25.18 M. Using Dixon resultant method that has been employed usually in the
current, the total computation time is increase greatly to 7.68 s and the usage of the memory raised up to 42.89 M in
the same computer system and software. In other words, the computation time of the presented approach is shortened by
42.84% and the memory consumption is decreased by 41.29% than the Dixon resultant method due to that the presented
novel method can simplify the complexity of the problem.

5.2. Numerical example 2

With reference to Fig. 3, the coordinates of the base attachment points Ai (i = 1, 2, 3) and the direction cosines of the axes
zi -axis (i = 1, 2, 3) with respect to the universe coordinate frame O-xyz are given as follows:d1 = 10, d2 = 8, d3 = 10, γ1 =
  
γ2 = γ3 = 45◦ , l1 = 8, l2 = 10, l3 = 10, A
 1 = ( 0, 0, 0 ), A
 2 = ( 0, 0, 0 ), A
 3 = ( 0, 0, 0 ), Z 1 = ( 1, 0, 0 ), Z 2 = ( 0, 1, 0 ), Z 3 = ( 0, 0, 1 ).
Using the above presented solution procedure, all 8 sets of real closed-form solutions have been obtained, listed in
Table 3. All solutions have been verified by the inverse position analysis.
Fig. 7 shows all the 8 assembly configurations of a computer graphics in a Maple-16 computer program.
By the presented algorithm, the total computation time to determine all the configurations for the FDA of the mechanism
is 1.03 s and the usage of the memory is 20.18 M. However, with the Dixon resultant method the total computation time is
increase greatly to 1.95 s and the usage of the memory raised up to 36.18 M in the same computer system and software.
In other words, the computation time of the presented approach can be shortened by 47.18% and the memory consumption
290 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

Fig. 6. Four assembly configurations of a 3-PPS PM.

Table 3
All 8 sets of real solutions of a 3-PPS parallel mechanism.

i t2 B1 B2 B3

1 13.959 X 9.4714 5.6569 7.0711


y 7.0711 13.9594 7.0711
z 7.0711 5.6569 −9.0821
2 0.1827 x 9.4714 5.6569 7.0711
y 7.0711 0.1827 7.0711
z 7.0711 5.6569 −9.0821
3 13.0644 x 10.7637 5.6569 7.0711
y 7.0711 13.0644 7.0711
z 7.0711 5.6569 −2.2222
4 1.0777 x 10.7637 5.6569 7.0711
y 7.0711 1.0777 7.0711
z 7.0711 5.6569 −2.2222
5 12.4002 x 11.4535 5.6569 7.0711
y 7.0711 12.4002 7.0711
z 7.0711 5.6569 2.4063
6 1.7420 x 11.4535 5.6569 7.0711
y 7.0711 1.7420 7.0711
z 7.0711 5.6569 2.4063
7 9.9400 x 12.9896 5.6569 7.0711
y 7.0711 9.9400 7.0711
z 7.0711 5.6569 15.1315
8 4.2021 x 12.9896 5.6569 7.0711
y 7.0711 4.2021 7.0711
z 7.0711 5.6569 15.1315
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 291

Fig. 7. All 8 assembly configurations of a 3-PPS PM.


292 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

is decreased by 44.22% than the Dixon resultant method. Submitting directly all known structural parameters di , γ i , and li
(i = 1, 2, 3) into the Eq. (37), the computation time and the memory consumption can be decreased dramatically into 0.15 s
and 4.18 M respectively.
The results of two numerical examples show that this presented algorithm can reduce the computation time and memory
consumption dramatically with strong geometrical intuition due to the presented novel method can simplify the complexity
of the problem.

6. Conclusion

In this paper, the authors have utilized non-conventional modelling and solution techniques and present an efficient
graphical representation geometric algebra approach for the FDA of a class of 3-PPS PMs. The key idea of our approach is to
use the conformal geometric algebra for the FDA computations of PMs involving the transformation represented efficiently as
motor and the intersection and dual of the basic geometric entities including spheres and planes. By applying this approach,
we can carry out operations of kinematics modelling and solution using the same mathematical framework and derive the
univariate polynomial input-output equation directly without any complex algebraic modelling and nonlinear multivariable
elimination computations as most current approaches do. Thanks to the intuitiveness of CGA, the presented approach can
reveal interesting intuitions and insight of the modelling and solution for the FDA of this type PMs, simplify the complexity
of the problem and reduce the computation time dramatically, which is quite simple to be adopted and of assistance to
the roboticist. The symbolic univariate polynomial input-output equation of 3-PPS PMs is first deduced which can be used
directly to solve the DPA instead of using other methods. This work provides a complete process of the geometric modeling
and solution approach that can suit to other spatial parallel mechanisms.

Acknowledgments

The authors acknowledge funding provided by the National Natural Science Foundation of China (No. 51105003,
51775004) and the Beijing Natural Science Foundation (3172010) for this research http://dx.doi.org/10.13039/50110 0 0 04826.

Appendix

Symbolic coefficients si expressed with structural parameters di , γ i , and li in Eq. (37), where
sinγ1 = s1, sinγ2 = s2, sinγ3 = s3, cosγ1 = c1, cosγ2 = c2, cosγ3 = c3 .
a8 = −s3 4 ; a7 = 4s3 4 (l1 c2 + l3 s3 );
2 2
2
a6 = −2 s3 4 2 c2 2 + 1 l1 + 4 s3 4 c1 s2 l1 l2 − 16 s3 5 c2 l3 l1 − 2 s3 4 l2 + 4 s3 4 c3 l3 s1 l2 − 2 s3 4 −2 c3 2 + 3 l3
4
2 2 2

−2 s3 d3 − d1 − d2 ;
3 2
2
2

a5 = 4 s3 4 l1 c2 −8 s3 4 l1 c2 c1 l2 s2 + 16 c2 2 s3 5 +8 s3 5 l1 l3 + 8 c2 s3 4 − 4 c1 2 c2 s3 4 l1 l2 − 16 c1 s2 s3 5 + c2 c3 s1 s3 4 l1 l2 l3
2
2 2 2
2 2
+ 24 c2 s3 4 − 16 c2 c3 2 s3 4 l1 l3 + 6 c2 d3 s3 4 − c2 d1 s3 4 − c2 d2 s3 4 l1 + 4 c1 2 s3 5 + s3 5 l2 l3 − 8 s3 5 l3 l2 c3 s1
3
2 2 2

+4 s3 5 l3 + 6 d3 s3 5 − 6 d1 s3 5 − 6 d2 s3 l3 ; 5

3 4 3 4 3 4 2 2 2 2 2 2 3 3
a4 = − s3 4 d1 − s3 4 d2 − s3 4 d3 + 3 s3 4 d1 d3 + 3 s3 4 d2 d3 − 3 s3 4 d1 d2 + 4 s3 4 c3 s1 l2 l3 + 4 s3 4 c3 s1 l2 l3
2 2 2
3 3
2 2 2 2 2 2
2
+4s3 4 c1 l1 l2 s2 + 4s3 4 c1 l1 l2 s2 + 4c2 2 d1 s3 4 + 2c2 2 d2 s3 4 − 4c2 2 d3 s3 4 + 2d1 s3 4 + 4d2 s3 4 − 2d3 s3 4 l1

+ 2 c1 2 d2 s3 4 − 2 c1 2 d1 s3 4 + 4 d1 s3 4 + 2 d2 s3 4 − 2 d3 s3 l2 + ( 4 c3 2 d3 s3 4 − 2 c3 2 d1 s3 4 − 4 c3 2 d2 s3 4
2 2 2 2 2 4 2 2 2 2

+6d1 s3 4 + 6d2 s3 4 − 6d3 s3 4 )l3 − s3 4 l1 − s3 4 l3 − s3 4 l2 − 16s3 5 c2 l1 l3 − 16s3 5 c2 l1 l3 + (14c1 2 c2 2 s3 4


2 2 2 2 4 4 4 3 3

−4c1 2 s3 4 − 10c2 2 s3 4 − 2s3 4 )l1 l2 + 14c1 2 c3 2 s3 4 − 10c1 2 s3 4 − 4c3 2 s3 4 − 2s3 l3 l2 − (8c1 c3 s1 s2 s3 4
2 2 4 2 2


+16c2 s3 5 )l1 l3 l2 + 32c1 c2 s2 s3 5 + 20c2 2 c3 s1 s3 4 + 4c3 s1 s3 l1 l3 l2 + (32c2 c3 s1 s3 5 − 20c1 c3 2 s2 s3 4
2 4 2


+24c1 s2 s3 4 )l3 l2 l1 + 4c1 d3 s2 s3 4 − 4c1 d1 s2 s3 4 − 8c1 d2 s2 s3 4 l1 l2 + (18c2 d1 s3 5 + 18c2 d2 s3 5
2 2 2 2 2 2


−18c2 d3 s3 5 )l1 l3 + 4c3 d3 s1 s3 4 − 8c3 d1 s1 s3 4 − 4c3 d2 s1 s3 l2 l3 + (14c2 2 c3 2 s3 4 − 24c2 2 s3 4
2 2 2 2 4

+10c3 2 s3 4 − 12s3 4 )l1 l3 ;


2 2


a3 = 4c12 d32 s53 − 8c12 d22 s53 − 6d12 s53 − 2d22 s53 + 2d32 s53 l22 l3 + 12c3 d12 s1 s53 + 4c3 d22 s1 s53 − 4c3 d32 s1 s53 l2 l32

−8s53 l32 c12 l23 c3 s1 + 40c1 c2 c32 s2 s43 − 40c22 c3 s1 s53 − 48c1 c2 s2 s43 − 8c3 s1 s53 l12 l2 l32 + (3c2 d14 s43
+6c2 d12 d22 s43 − 6c2 d12 d32 s43 + 3c2 d24 s43 − 6c2 d22 d32 s43 + 3c2 d34 s43 )l1 + (4c23 d22 s43 − 2c2 d12 s43
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 293


−6c2 d22 s43 + 2c2 d32 s43 )l13 + −8c23 c3 s1 s43 − 16c1 s2 s53 − 8c2 c3 s1 s3 l1 l2 l3 + (16c1 c2 c3 s1 s2 s43 − 36c12 c22 s53
4 3

+20c12 s53 + 20c22 s53 + 4s53 )l12 l22 l3 + (12c1 d12 s2 s53 + 20c1 d22 s2 s53 − 12c1 d32 s2 s53 + 20c2 c3 d12 s1 s43
+12c2 c3 d22 s1 s43 − 12c2 c3 d32 s1 s43 )l1 l2 l3 + (8c1 c32 s2 s53 − 16c1 s2 s53 − 16c2 c3 s1 s43 )l1 l2 l33 + (−36c12 c2 c32 s43
+16c1 c3 s1 s2 s53 + 16c12 c2 s43 + 16c2 c32 s43 + 8c2 s43 )l1 l22 l32 + (−8c13 s2 s53 + 8c12 c2 c3 s1 s43 − 8c1 s2 s53

−16c2 c3 s1 s43 )l1 l23 l3 + 4s53 l3 l14 + −4c12 c23 s43 − 4c12 c2 s43 + 4c23 s43 + 4c2 s43 l13 l22 + (4c23 c32 s43 − 20c2 c32 s43
+24c2 s43 )l13 l32 + (8c13 c2 s2 s43 − 8c1 c2 s2 s43 )l12 l23 + 4s53 l3 c12 l24 + 4s43 l1 c2 l34 + (−4c32 d12 s53 − 2d12 s53 − 2d22 s53
+2d32 s53 )l33 + (3d14 s53 + 6d12 d22 s53 − 6d12 d32 s53 + 3d24 s53 − 6d22 d32 s53 + 3d34 s53 )l3 + (4c1 c2 d12 s2 s43
+12c1 c2 d22 s2 s43 − 4c1 c2 d32 s2 s43 )l12 l2 + (4c22 c32 s53 + 16c22 s53 − 4c32 s53 + 8s53 )l12 l33 + (−12c22 d12 s53
−8c22 d22 s53 + 12c22 d32 s53 − 6d12 s53 − 10d22 s53 + 6d32 s53 )l12 l3 + (4c2 s43 − 4c12 c2 s43 )l1 l24 + (8c12 c2 d12 s43
−4c12 c2 d32 s43 − 10c2 d12 s43 − 6c2 d22 s43 + 6c2 d32 s43 )l1 l22 + (8c2 c32 d12 s43 + 12c2 c32 d22 s43 − 12c2 c32 d32 s43
−18c2 d12 s43 − 18c2 d22 s43 + 18c2 d32 s43 )l1 l32 + (8c12 s53 − 4c12 c32 s53 )l22 l33 ;

a1 = −4s43 (s3 l3 ((c32 − c22 c32 − 1 )l32 + 2l2 l3 c3 s1 c22 + c22 (c12 − 1 )l22 − c22 d22 + d22 )l14 + ((c2 c32 − c23 c32 − c2 )l34
+2l2 (s1 c3 (c32 + 1 )c23 + c1 s2 s3 c22 c32 + (c3 s1 − c33 s1 )c2 − 2c1 s2 s3 (c3 − 1 )(c3 + 1 ))l33
1 4 1 1 1 1 3 1
+(5(((c32 + )(c1 − 1 )(c1 + 1 )c22 − c1 s1 s2 s3 c2 c3 + ( − c32 )c12 + c32 − )l22 + (( d22 − d12
5 5 5 5 5 5 10 10
1 1 1 1 2 1 2 3 2 2 1 2 2 3 2
+ d32 )c32 − d22 )c22 + ( d32 − d − d + )c32 + d d + d d − d ))c2 l32
10 5 10 10 1 2 2 10 3 1 2 3 2 10 3
1
−2l2 (c22 (c1 − 1 )(c1 + 1 )(c1 s2 s3 + 2c2 c3 s1 )l22 − s1 c3 (d12 − d22 − d32 )c23 − c1 s2 s3 c22 d22
2
1
+s1 c3 (d1 − d3 )(d1 + d3 )c2 + 2c1 s2 s3 d2 )l3 − (c2 (c1 − 1 )2 (c1 + 1 )2 l24 − ( ((d12 − d22 − d32 )c22 − 2d12
2 2
2
1 2 2
+2d3 ))(c1 + 1 )(c1 − 1 )l2 − d2 (d1 + d2 − d3 )(c2 − 1 )(c2 + 1 ))c2 )l1 + (−2c1 s2 c2 l2 (c3 − 1 )(c3 + 1 )l34
2 2 2 2 3
2
4 2 4 6 3
+(−5c1 (c1 s3 (c3 − )c2 − s1 s2 c3 (c3 − 1 )(c3 + 1 )c2 − c1 s3 (c3 − 1 )(c3 + 1 ))l22 + s3 (((d12 − (1/3 )d22
2
5 5 5 2
1 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 3
+ d3 )c3 + d1 + d2 − d3 )c2 + (− d1 + d2 − d3 )c3 + d1 + d2 − d3 ))l3
3 3 3 3 3 3 3 3 3 3
5 1 1
+2l2 (c1 c2 (c1 s1 s3 c2 c3 + s2 (c3 − 1 )(c3 + 1 )(c1 − 1 )(c1 + 1 ))l22 − s3 s1 c3 (d12 + d22 − d32 )c22
2 5 5
1
+( ((d1 + 5d2 − d3 )c3 − 3d1 − 5d2 + 3d3 ))c1 s2 c2 − s1 s3 c3 (d2 − d3 )(d2 + d3 ))l3 + (c12 s3 c22 (c1 − 1 )(c1 + 1 )l24
2 2 2 2 2 2 2 2
2
5 11 2 1 2 2 1 1 1
+(− s3 ((d12 + d − d )c − d12 − d22 + d32 )c22 + 4c1 s1 s2 c3 (d1 − d3 )(d1 + d3 )c2 + 5s3 ((d22 + d32 )c12
2 5 2 5 3 1 5 5 5
1 2 1 2 2 1 1 2 3 2 1 2
+ d2 − d3 ))l2 − s3 ((d1 − d3 )c2 + d1 + d2 − d3 )(d1 + d2 − d3 ))l3 + 2l2 c1 c2 s2 (((d1 − d3 )c1
2 2 2 2 2 2 2 2 2
5 5 2 2 2 2
1 2 2 1
−d1 + d3 )l2 + d2 (d1 + d2 − d3 )))l1 + (c2 (c1 (c3 − 1 )l22 + c32 d12 )l34 − 4l2 (c12 (c1 s2 s3 + c2 c3 s1 )(c3 − 1 )(c3
2 2 2 2 2 2 2 2
2 2
1 1
+1 )l2 + s1 c3 d1 (c3 + 1 )c2 − s3 ((d1 − d2 + d3 )c3 − d1 − d2 + d3 )c1 s2 )l3
2 2 2 2 2 2 2 2 2 2 3
2 4
+(−c12 c2 (c3 − 1 )(c3 + 1 )(c1 − 1 )(c1 + 1 )l24
11 5 1 1 3 5
+((((− sd12 − sd22 + sd32 )c32 + sd12 − sd32 + sd22 )c12 + 5c32 d12 + d12 )c2 + 4c1 s1 s2 s3 c3 (d2 − d3 )(d2
2 2 2 2 2 2
1 3 2 3 2 3 2 2
+d3 ))l2 + c2 (d1 + d2 − d3 )((d2 − d3 )c3 − d1 − d2 + d3 ))l3 − 2l2 ((−s1 c3 ((d12 + d32 )c12
2 2 2 2 2 2 2
2 2 2 2
1 1 1
−2d12 )c2 + s3 ((d22 + d32 )c12 + d22 − d32 )c1 s2 )l22 − ( (3s1 c3 (d12 + d22 − d32 )c2 + c1 s2 s3 (d12 + 3d22
2 3 3
3 1 1 1
−d3 )))(d1 + d2 − d3 ))l3 + ((c1 d3 + (−d1 − d3 )c1 + d1 )l2 + ( ((d1 − d22 − d32 )c12 − d12 − d22
2 2 2 2 4 2 2 2 2 2 4 2
4 3 3 3
1 1 1
+ d32 ))(d12 + d22 − d32 )l22 + (d12 + d22 − d32 )3 )c2 )l1 + s3 l3 ((c14 (c32 − 1 )l24 − ( ((d12 − d22 + d32 )c32 − d12
3 8 2
1 2 2
−d2 + d3 ))c1 l2 − (1/2 )c3 d1 (d1 + d2 − d3 ))l3 − 2l2 s1 c3 (c1 (d2 − d3 )l2 − d1 (d1 + d22 − d32 ))l3
2 2 2 2 2 2 2 2 2 2 2 2 2 2
2
294 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

+c12 (c12 d32 + d22 − d32 )l24 + (1/4((d12 − 3d22 + d32 )c12 − 2d12 ))(d12 + d22 − d32 )l22 + (1/8 )(d12 + d22 − d32 )3 ));

1 6 4 1 6 4 1 6 4 3 4 2 4 3 2 4 4 3 4 2 4
a2 = 2c32 d12 l34 s43 − 3d12 d22 d32 s43 +d s + d s − d s + d d s + d d s − d d s
2 1 3 2 2 3 2 3 3 2 1 2 3 2 2 3 3 2 1 3 3
3 3 3
− d24 d32 s43 + d12 d34 s43 + d12 d24 s43 + (34c12 c22 s43 − 32c1 c2 c3 s1 s2 s53 + 34c12 c32 s43 − 26c22 c32 s43
2 2 2
−34c12 s43 − 10c22 s43 + 2c32 s43 − 2s43 )l32 l22 l12 + (8c12 c23 s53 − 8c1 c22 c3 s1 s2 s43 + 8c12 c2 s53 − 8c23 s53
−8c2 s53 )l3 l22 l13 + (12c1 c2 d32 s2 s53 − 12c1 c2 d12 s2 s53 − 28c1 c2 d22 s2 s53 − 12c22 c3 d12 s1 s43 − 8c22 c3 d22 s1 s43
+4c22 c3 d32 s1 s43 − 4c3 d12 s1 s43 − 4c3 d22 s1 s43 + 8c3 d32 s1 s43 )l12 l3 l2 + (8c1 c32 d12 s2 s43 + 12c1 c32 d22 s2 s43
−4c1 c32 d32 s2 s43 − 28c2 c3 d12 s1 s53 − 12c2 c3 d22 s1 s53 + 12c2 c3 d32 s1 s53 − 12c1 d12 s2 s43 − 16c1 d22 s2 s43
+12c1 d32 s2 s43 )l32 l2 l1 + (−8c12 c2 d12 s53 + 8c12 c2 d22 s53 + 8c1 c3 d12 s1 s2 s43 + 8c1 c3 d22 s1 s2 s43 − 16c1 c3 d32 s1 s2 s43
+14c2 d12 s53 + 6c2 d22 s53 − 6c2 d32 s53 )l22 l3 l1 + (16c1 c2 s2 s53 − 16c13 c2 s2 s53 − 20c12 c22 c3 s1 s43
+24c22 c3 s1 s43 )l3 l23 l12 + (16c12 c2 c3 s1 s53 − 20c13 c32 s2 s43 + 20c13 s2 s43 − 4c1 c32 s2 s43 + 4c1 s2 s43 )l32 l23 l1
+(8c12 c2 c32 s53 + 8c1 c33 s1 s2 s43 − 16c12 c2 s53 − 8c1 c3 s1 s2 s43 )l33 l22 l1 + (4c1 c22 c32 s2 s43 + 16c23 c3 s1 s53
−24c1 c32 s2 s43 + 16c2 c3 s1 s53 + 24c1 s2 s43 )l32 l2 l13 + (4c22 c33 s1 s43 + −16c1 c2 c32 s2 s53 32c1 c2 s2 s53
+20c22 c3 s1 s43 − 4c33 s1 s43 + 4c3 s1 s43 )l33 l2 l12 + (4c1 s2 s43 − 4c1 c32 s2 s43 )l34 l2 l1 + (8c14 c2 s53 − 8c12 c2 s53 )l3 l24 l1
+4c22 c3 l14 l2 l3 s1 s43 + (12c2 d12 d32 s53 − 6c2 d14 s53 − 12c2 d12 d22 s53 − 6c2 d24 s53 + 12c2 d22 d32 s53 − 6c2 d34 s53 )l1 l3
+(5c3 d14 s1 s43 + 6c3 d12 d22 s1 s43 − 6c3 d12 d32 s1 s43 + c3 d24 s1 s43 − 2c3 d22 d32 s1 s43 + c3 d34 s1 s43 )l2 l3 + (4c14 c32 s43
−4c14 s43 + 2c12 c32 s43 − 2c12 s43 )l32 l24 + (2c12 c32 s43 − 2c12 s43 )l34 l22 + (2c12 c22 s43 − 2c22 s43 )l22 l14 + (10c12 c22 s43
−4c14 c22 s43 − 6c22 s43 )l24 l12 + (8c2 c32 s53 − 8c23 c32 s53 − 16c2 s53 )l33 l13 + (6c32 s43 − 2c22 c32 s43 − 6s43 )l32 l14
+(4c1 c22 s2 s43 − 4c13 c22 s2 s43 )l23 l13 + (4c12 c3 s1 s43 − 4c12 c33 s1 s43 )l33 l23 + (4c12 c3 d12 s1 s43 − 4c12 c3 d22 s1 s43
+8c12 c3 d32 s1 s43 − 8c3 d12 s1 s43 )l3 l23 − (4c33 d12 s1 s43 + 4c3 d12 s1 s43 )l33 l2 + (4c1 c22 d22 s2 s43 − 8c1 d22 s2 s43 )l2 l13
+(4c13 d12 s2 s43 − 4c13 d22 s2 s43 − 8c13 d32 s2 s43 − 4c1 d12 s2 s43 − 4c1 d22 s2 s43 + 8c1 d32 s2 s43 )l23 l1
+(6c2 d12 s53 − 8c23 d22 s53 + 14c2 d22 s53 − 6c2 d32 s53 )l3 l13 + (8c2 c32 d12 s53 + 6c2 d12 s53 + 6c2 d22 s53
−6c2 d32 s53 )l33 l1 + (10c22 c32 d32 s43 − 6c22 c32 d12 s43 − 6c22 c32 d22 s43 + 12c22 d12 s43 + 10c22 d22 s43 − 12c22 d32 s43
−4c32 d12 s43 − 6c32 d22 s43 + 2c32 d32 s43 + 6d12 s43 + 8d22 s43 − 6d32 s43 )l12 l32 + (2c12 c22 d32 s43 − 6c12 c22 d12 s43
−14c12 c22 d22 s43 − 2c12 d12 s43 + 10c12 d22 s43 + 4c12 d32 s43 + 6c22 d12 s43 + 4c22 d22 s43 − 2c22 d32 s43 + 2d12 s43
+2d22 s43 − 4d32 s43 )l12 l22 + (2c12 c32 d32 s43 − 14c12 c32 d12 s43 − 6c12 c32 d22 s43 + 4c12 d12 s43 + 8c12 d22 s43 − 6c12 d32 s43
+10c32 d12 s43 + 2d12 s43 )l32 l22 + (2c32 s43 − 2c22 c32 s43 − 4c22 s43 − 2s43 )l12 l34 + (c1 d14 s2 s43 + 6c1 d12 d22 s2 s43
−2c1 d12 d32 s2 s43 + 5c1 d24 s2 s43 − 6c1 d22 d32 s2 s43 + c1 d34 s2 s43 )l1 l2 + (2d22 s43 − 2c22 d22 s43 )l14 + (4c14 d32 s43
−2c12 d12 s43 + 2c12 d22 s43 − 4c12 d32 s43 + 2d12 s43 )l24 + (c22 d24 s43 − c22 d14 s43 − c22 d34 s43 − 3s43 d12 d22
5 1 4 4 1 4 4
− s43 d24 − s d − s d + s43 d12 d32 + 3s43 d22 d32 + 2c22 d12 d32 s43 )l12 + (2c12 d14 s43 − 2c12 d24 s43
2 2 3 3 2 3 1
1 1 4 4 5 4 4
− s43 d34 − s d − s d − 3s43 d12 d22 + 3s43 d12 d32 + s43 d22 d32 − 2c12 d12 d32 s43 + 2c12 d22 d32 s43 )l22
2 2 3 2 2 3 1
3 3 3
+(c32 d24 s43 − c32 d14 s43 + c32 d34 s43 − s43 d34 − s43 d14 − s43 d24 − 3s43 d12 d22 + 3s43 d12 d32 + 3s43 d22 d32
2 2 2

1 3 1 1 1 1
a0 = −4s43 (( c24 (c1 − 1 )2 (c1 + 1 )2 l24 + s1 c24 c3 l3 (c1 − 1 )(c1 + 1 )l23 − ( ((c32 c22 − c32 + )l32 − c22 d22 + d22 ))c22 (c1
4 2 3 3 3 3
1 2 2 2 4 1 2
+1 )(c1 − 1 )l2 − s1 c3 ((c2 c3 − c3 + 1 )l3 − c2 d2 + d2 )l3 c2 l2 +
2 2 2 2 2 2 2 2 2
c c − c3 + 1 l3 − d2 (c2 − 1 )(c2 + 1 )(c22 c32
2
4 2 3 2
1 4
+c3 − 1 )l3 + d2 (c2 − 1 ) (c2 + 1 ) )l1 + (−((c3 − 1 )l3 − d2 )c1 c2 s2 (c1 + 1 )(c1 − 1 )l23
2 2 2 2 4 2 2 2 2
4
1
−( (4s1 s2 c2 c3 c1 (c3 − 1 )(c3 + 1 )l32 + s3 (d12 + d22 − d32 )(c22 − 2 )c12 − 4c1 s1 s2 c2 c3 d22 − s3 (d12 + d22
2
−d32 )(c22 − 2 )))l3 c2 l22 + (c1 s2 (c3 − 1 )(c3 + 1 )(c22 c32 − c32 + 1 )l34 + (−s2 d22 (c22 + 2c32 − 2 )c1 − s1 s3 c2 c3 (d12 + d22
1
−d32 )(c22 − 2 ))l32 + c1 s2 d24 (c2 − 1 )(c2 + 1 ))l2 + s3 l3 ((c22 c32 − c32 − 1 )l32 − c22 d22 + d22 )c2 (d12 + d22 − d32 ))l13
2
1 1
+( c22 (c1 + 1 )(c12 (c32 − 1 )l32 + (−d12 − d22 )c12 + d12 )(c1 − 1 )l24 − (2(− c12 s1 c2 c3 (c3 − 1 )(c3 + 1 )l32
2 2
X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296 295

1 2 2 3 3
+s2 s3 (d12 + d22 − d32 )c13 + s1 c3 c2 (d12 + d )c − s2 s3 (d12 + d22 − d32 )c1 − c2 c3 s1 d12 ))l3 c2 l23 + (−( ((c32 − )c22
2 2 1 2 2
5 1
−c32 + 1 ))c12 (c3 − 1 )(c3 + 1 )l34 + ((((2c32 + 1 )d12 − 2d22 (c32 − ))c22 + ( (d12 + 6d22 ))(c3 − 1 )(c3 + 1 ))c12
4 2
1 1 1 1 1 1 11 4
−4s1 s2 s3 c2 c3 (d12 + d22 − d32 )c1 − 2d12 ((c32 + )c22 + c32 − ))l32 + (( d14 + (− d22 − d32 )d12 − d
2 4 4 8 4 4 8 2
1 1 1 1 1 1 5 1
+ d34 − d22 d32 )c22 + d12 d32 − d14 − d34 + d22 d32 + d24 )c12 − ( (d3 + d1 + d2 ))(d1 − d2 − d3 )(d2
8 4 2 4 4 2 4 8
1 1 1
+d1 − d3 )(−d2 + d3 + d1 )c22 + d14 − d12 d32 + (d2 − d3 ) (d2 + d3 ) )l22 + l3 ((s2 s3 c2 (d12 + d22 − d32 )(c32 + 1 )c1
2 2
4 2 4
1 1 1
+2s1 c3 (c22 + c32 − )d12 )l32 − s2 s3 c2 d22 (d12 + d22 − d32 )c1 + s1 c3 ((d14 + (−2d22 − 2d32 )d12 + (d2 − d3 ) (d2
2
2 2 4
1 1 3
+d3 ) )c22 − 2d14 + 4d12 d32 − 2(d2 − d3 ) (d2 + d3 ) ))l2 + c32 d12 ((c32 − 2 )c22 − c32 + 1 )l34 + ((( − c32 )d14
2 2 2
2 4 8
1 2 1 2 3 2 2 3 2 2 1 2 1 4 1 1
+((− c3 + )d2 + ( (c3 − ))d3 )d1 − ( (c3 − ))(d2 + d3 ) (d2 − d3 ) )c2 + ( c3 + )d1 + (( − c32 )d22
2 2 2 2 2
4 2 4 3 8 3 8 8 4 4
1 1 1 2
− d32 (c32 + 1 ))d12 + (d2 − d3 ) (d2 + d3 ) (c32 + 1 ))l32 + d22 d12 + d22 − d32 (c2 − 1 )(c2 + 1 ))l12
2 2
4 8 8
+(c12 s3 c2 l3 (d12 + d22 − d32 )(c1 − 1 )(c1 + 1 )l24 − c1 (c12 s2 (c3 − 1 )2 (c3 + 1 )2 l34 + (s2 (d12 + 2d22 )(c3 − 1 )(c3 + 1 )c12
1
−2s1 s3 c2 c3 (d12 + d22 − d32 )c1 + (−c32 s2 + s2 )d12 )l32 − ( ((d14 − 2d12 d32 − d24 − 2d22 d32 + d34 )c12 − d14 + 2d12 d32
2
1
−(d2 − d3 ) (d2 + d3 ) ))s2 )l23 − ( (c1 (s3 c2 (d12 + d22 − d32 )(c32 + 1 )c1 + 4s1 s2 c3 d12 (c3 − 1 )(c3 + 1 ))l32
2 2
2
+s3 c2 (d1 − d2 )(d1 + d2 )(d12 + d22 − d32 )c12 − 2s1 c3 (d14 − 2d12 d32 + (d2 − d3 ) (d2 + d3 ) )s2 c1
2 2

1
−s3 c2 d12 (d12 + d22 − d32 )))l3 l22 + (c1 s2 c32 d12 (c3 − 1 )(c3 + 1 )l34 + (−( ((c32 + 1 )d14 + ((−2c32 + 2 )d22
4
1
−2d32 (c32 + 1 ))d12 + (d2 − d3 ) (d2 + d3 ) (c32 + 1 )))s2 c1 − s1 s3 c2 c3 d12 (d12 + d22 − d32 ))l32 + c1 s2 d22 (d12 + d22
2 2
4

2 2 1 1 2 1 2 1 2 1 2 1 2 1 2
−d3 )l2 + s3 (c3 d1 l3 − d1 − d2 + d3 )l3 c2 (d1 + d2 − d3 )(c3 d1 l3 + d1 + d2 − d3 ))l1
2 2 2
2 2 2 2 2 2 2
1 4 1 1 1
+( c1 (c3 − 1 )2 (c3 + 1 )2 l34 + c12 (c3 − 1 )((d12 + d22 )c12 − d12 )(c3 + 1 )l32 + ( (d12 + d22 − d32 ))d32 c14
4 2 2 2
1 1 1 1 1
+(− d14 − d12 d32 + (d2 − d3 ) (d2 + d3 ) )c12 + d14 )l24 + s1 c3 (c12 d12 (c3 − 1 )(c3 + 1 )l32 + ( d14 + d12 d32
2 2
4 2 4 4 2
1 1 2 2 2 11 2 1 4 1 1
− (d2 − d3 ) (d2 + d3 ) )c1 − d1 )l3 l2 + (− c1 c3 d1 (c3 − 1 )(c3 + 1 )l3 + (((− c3 + )d1 + (( − c32 )d22
2 2 2 4 3 4
2 2 8 8 4 4
1 2 2 1 3 2 4 2 1
− d3 (c3 + 1 ))d1 + (d2 − d3 ) (d2 + d3 ) (c3 + 1 ))c1 + c3 d1 )l3 + ( ((d1 − d2 )c1 − d1 ))(d1 + d2
2 2 2 2 2 2 2 2 2 2 2
4 8 2 8

2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1
−d3 )l2 − (c3 d1 l3 − d1 − d2 + d3 )s1 c3 l3 d1 (c3 d1 l3 + d1 + d2 − d3 )l2 + (c3 d1 l3 − d12
2
2 2 2 2 2 2 4 2
1 1
2  1 1 1
2
− d22 + d32 c3 d1 l3 + d12 + d22 − d32 ).
2 2 2 2 2

References

[1] J.P. Merlet, Parallel Robots, Second ed., Springer, The Netherlands, 2006.
[2] V.E. Gough, Contribution to discussion of papers on research in automobile stability, control and tyre performance, Proc. Autom. Div. Inst. Mech. Eng.
171 (1956) 392–394.
[3] D. Stewart, A platform with six degree of freedom, Proc. Inst. Mech. Eng. Part I J. Syst. Control Eng. 180 (15) (1965) 371–386.
[4] D.M. Gan, J.S. Dai, Jorge Dias, L.D. Seneviratne, Constraint-plane-based synthesis and topology variation of a class of metamorphic parallel mechanisms,
J. Mech. Sci. Technol. 28 (10) (2014) 4179–4191.
[5] D.M. Gan, J.S. Dai, Jorge Dias, R. Umer, L.D. Seneviratne, Singularity-free workspace aimed optimal design of a 2T2R parallel mechanism for automated
fiber placement, Trans. ASME 7 (4) (2015) 1–9.
[6] D.M. Gan, J.S. Dai, Jorge Dias, L.D. Seneviratne, Variable motion/force transmissibility of a metamorphic parallel mechanism with reconfigurable 3T
and 3R motion, Trans. ASME 8 (5) (2016) 1–9.
[7] R. Clavel, DELTA, a fast robot with parallel geometry, in: Proceedings of Eighteenth International Symposium on Industrial Robots, Lausanne, Switzer-
land, 1988, pp. 91–100.
[8] T. Huang, Z. Li, M. Li, D.G. Chetwynd, C.M. Gosselin, Conceptual design and dimensional synthesis of a novel 2-dof translational parallel robot for
pick-and-place operations, J. Mech. Des. 126 (3) (2004) 449–455.
[9] J. Arata, H. Kondo, M. Sakaguchi, H. Fujimoto, Development of a haptic device DELTA-4 using parallel link mechanism, in: IEEE International Conference
on Robotics and Automation, 2009, 2009, pp. 294–300.
296 X. Huang, C. Ma and H. Su / Mechanism and Machine Theory 137 (2019) 280–296

[10] W.K. Yoon, T. Suehiro, Y. Tsumaki, M. Uchiyama, Stiffness analysis and design of a compact modified delta parallel mechanism, Robotica 22 (4) (2004)
463–475.
[11] B. Lange, S. Koenig, E. McConnell, C.Y. Chang, R. Juang, E. Suma, M. Bolas, A. Rizzo, Interactive game-based rehabilitation using the Microsoft Kinect,
in: IEEE Virtual Reality Workshops, Orange County, 2012, CA, USA, 2012, pp. 171–172.
[12] M.S. Tsai, T.N. Shiau, Y.J. Tsai, et al., Direct kinematic analysis of a 3-PRS parallel mechanism, Mech. Mach. Theory 38 (1) (2003) 71–83.
[13] J.A. Carretero, M. Nahon, C.M. Gosselin, B. Buckham, Kinematic analysis of a three-dof parallel mechanism for telescope applications, in: Proceedings
of ASME Design Automation Conference, California, USA, 1997 DETC97/DAC-3981.
[14] N.A. Pouliot, M.A. Nahon, C.M. Gosselin, Motion simulation capabilities of three-degrees-of-freedom flight simulators, J. Aircraft 35 (1) (1988) 9–17.
[15] J.P. Merlet, Micro parallel robot MIPS for medical applications, in: Proceedings of the 8th International Conference on Emerging Technologies and
Factory Automation, Antibes-Juan les Pins, France, 2001.
[16] D. Liu, R. Che, Z. Li, X. Luo, Research on the theory and the virtual prototype of 3-DOF parallel-link coordinating-measuring machine, IEEE Trans.
Instrum. Meas. 52 (1) (2003) 119–125.
[17] X. Huang, Q. Liao, S. Wei, Closed-form forward kinematics for a symmetrical 6-6 Stewart platform using algebraic elimination, Mech. Mach. Theory 45
(2010) 327–334.
[18] D.M. Gan, J.S. Dai, Jorge Dias, L.D. Seneviratne, Forward kinematics solution distribution and analytic singularity-free workspace of linear-actuated
symmetrical spherical parallel manipulators, Trans. ASME 7 (4) (2015) 1–8.
[19] K.H. Hunt, Structural kinematics of in-parallel-actuated robot arms, ASME J. Mech. Trans. Autom. Des. 105 (1983) 705–712.
[20] K. Lee, D.K. Shah, Kinematic analysis of a three degrees of freedom in-parallel actuated manipulator, IEEE J. Rob. Autom. 4 (3) (1988) 354–360.
[21] J. Gallardo, H. Orozco, J. Rico, C. Aguilar, L. Perez, Acceleration analysis of 3-RPS parallel manipulators by means of screw theory, in: J.H. Ryu (Ed.),
Parallel Manipulators, New Developments, I-Tech Education and Publishing, 2008, pp. 315–330.
[22] Y. Fang, Z. Huang, Kinematics of a three-degree-of-freedom in-parallel actuated manipulator mechanism, Mech. Mach. Theory 32 (1997) 789–796.
[23] L.W. Tsai, Robot Analysis, John Wiley and Sons, Inc., 1999.
[24] P. Nanua, K.J. Waldron, V. Murthy, Direct kinematic solution of a Stewart platform, IEEE Trans. Robot. Autom. 6 (4) (1990) 438–444.
[25] I.A. Bonev, Direct kinematics of zero-torsion parallel manipulators, in: Proceedings of 2008 IEEE International Conference on Robotics and Automation,
Pasadena, CA, USA, 2008, pp. 3851–3856.
[26] J. Schadlbauer, D. R.Walter, M.L. Husty, The 3-RPS parallel manipulator from an algebraic viewpoint, Mech. Mach. Theory 75 (5) (2014) 161–176.
[27] T.K. Mamidi, A. Baskar, S. Bandyopadhyay, A novel geometric analysis of the kinematics of the 3-RPS manipulator, in: Proceedings of the IFToMM
International Workshop on Computational Kinematics, 2017.
[28] M. Ruggiu, Position analysis, workspace and optimization of a 3-P PS spatial manipulator, ASME J. Mech. Des. 131 (2009) 051010–1-9.
[29] X.J. Liu, P. Pruschek, G. Pritschow, A new 3-dof parallel mechanism with full symmetrical structure and parasitic motions, in: International Conference
on Intelligent Manipulation and Grasping, Genoa, Italy, 2004, pp. 389–394.
[30] X.J. Liu, I.A. Bonev, Orientation capability, error analysis and dimensional optimization of two articulated tool heads with parallel kinematics, ASME J.
Manuf. Sci. Eng. 130 (1) (2008) 011015.
[31] Y. Zhang, X Kong, S. Wei, D. Li, CGA-Based approach to direct kinematics of parallel mechanisms with the 3-RS structure, Mech. Mach. Theory 124
(2018) 162–178.
[32] W.K Clifford, On the classification of geometric algebras, in: R. Tucker (Ed.), Mathematical Papers, Macmillian Publishers, London, 1882, pp. 397–401.
[33] C. Perwass, W. Forstner, et al., Uncertain geometry with circles, spheres and conics, in: Klette R, R Kozera, L Noakes, et al. (Eds.), Geometric Properties
from Incomplete Data, Computational Imaging and Vision, 31, Springer, Netherlands, 2006, pp. 23–41.
[34] J. Zamora, E. Bayro-Corrochano, Inverse kinematics, fixation and grasping using conformal geometric algebra, IEEE/RSJ Int. Conf. Intell. Robots Syst. 4
(11) (2004) 3841–3846.
[35] D. Hildenbrand, E. Bayro-Corrochano, J. Zamora, Advanced geometric approach for graphics and visual guided robot object manipulation, in: Proceed-
ings of the IEEE International Conference on Robotics and Automation, 2005, pp. 4727–4732.
[36] Z.T. Fu, W.Y. Yang, Z. Yang, Solution of inverse kinematics for 6R robot manipulators with offset wrist based on Geometric Algebra, ASME J. Mech.
Robot. 5 (2013) 031010.
[37] D. Hildenbrand, J. Zamora, E. Bayro-Corrochano, Inverse kinematics computation in computer graphics and robotics using Conformal Geometric Alge-
bra, Adv. Appl. Clifford Algeb. 18 (3,4) (2008) 699–713.
[38] A.L. Kleppe, O. Egeland, Inverse kinematics for industrial robots using conformal geometric algebra, Model. Identif. Control 37 (1) (2016) 63–75.
[39] X. Huo, T. Sun, Y. Song, et al., An analytical approach to determine motions/constraints of serial kinematic chains based on Clifford algebra, Proc. Inst.
Mech. Eng. Part C J. Mech. Eng. Sci. 231 (7) (2017) 1324–1338.
[40] X. Huang, D. Zhao, Displacement analysis of a 6R serial robot mechanism using conformal geometric algebra, in: X. Zhang, N. Wang, Y. Huang (Eds.),
Mechanism and Machine Science, 2017, pp. 869–878.
[41] J. Zamora, E. Bayro-Corrochano, Robot object manipulation using stereoscopic vision and conformal geometric algebra, Appl. Bionics Biomech. 8 (2011)
411–428.
[42] T.K. Tanev, Geometric algebra approach to singularity of parallel manipulators with limited mobility, in: Advances in Robot Kinematics: Analysis and
Design, Springer, The Netherlands, 2008, pp. 39–48.
[43] T.K. Tanev, Singularity analysis of a 4-D of parallel manipulator using geometric algebra, in: J. Lenarcic, B. Roth (Eds.), Advances in Robot Kinematics:
Mechanism and Motion, Springer, The Netherlands, 2006, pp. 275–284.
[44] J.S. Kim, H.J. Jin, J.H. Park, Inverse kinematics and geometric singularity analysis of a 3-SPS/S redundant motion mechanism using conformal geometric
algebra, Mech. Mach. Theory 90 (2015) 23–36.
[45] X. Huo, T. Sun, Y. Song, A geometric algebra approach to determine motion/constraint, mobility and singularity of parallel mechanism, Mech. Mach.
Theory 116 (2017) 273–293.
[46] Q. Li, J. Xiang, X. Chai, et al., Singularity analysis of a 3-RPS parallel manipulator using geometric algebra, Chin. J. Mech. Eng. 28 (6) (2015) 1204–1212.
[47] Y. Song, P. Han, P. Wang, Type synthesis of 1T2R and 2R1T parallel mechanisms employing conformal geometric algebra, Mech. Mach. Theory 121
(2018) 475–486.
[48] Y. Qi, T. Sun, Y. Song, Type synthesis of parallel tracking mechanism with varied axes by modeling its finite motions algebraically, ASME Trans. J. Mech.
Robot. 9 (5) (2017) 054504–1-054504-6.
[49] D Hestenes, Old wine in new bottles: a new algebraic frame-work for computational geometry, in: E. Bayro-Corrochano, G.Birkhauser Sobczyk (Eds.),
Geometric Algebra with Applications in Science and Engineering, Boston, 2001.
[50] C.D. Orangeville, A.N. Lasenby, in: Geometric Algebra for Physicists, Cambridge University Press, 2003, pp. 361–364.
[51] C. Perwass, Geometric Algebra with Applications in Engineering, Springer, Berlin, 2009.
[52] A.X. Liu, T.L. Yang, Displacement analysis of spatial parallel mechanisms using continuation method, Mech. Sci. Technol. 3 (51) (1994) 19–25.

You might also like