⎝
j 1
=
⎠
⎢
⎥
P =
...
W
⎢
⎥ ,
(11.4)
⎢
⎥
⎛
n
⎞
⎢
−
W ⎜P −
1
⎥
W
W P ⎟
⎢ n n
∑
⎜
j j ⎟⎥
⎣
⎝
j 1
=
⎠⎦
⎡ pT 0T 0T ⎤
⎢ i
⎥
P = ⎢ 0T
pT
0T
i
i
⎥ ,
(11.5)
⎢
⎥
⎢ T
T
T
⎣ 0
0
pi ⎥⎦
where PW is a 3 n × 9 matrix, P i ( i =1, …, n) is a 3 × 9 matrix, and bW and vW are 3 n × 1 vectors.
Hence, an acceptable minimizer of Eq. (10.1) is
R =
( ÔPF R) ,
(12.1)
ˆR = [ˆr ˆr ˆ T
1
2
3
r ] ,
(12.2)
⎡ˆ1r ⎤
−1
⎢ˆ ⎥
T
T
r = P P
P
b +
2
⎢ ⎥ ( W W )
W ( W
vW ) ,
(12.3)
⎢ˆ
⎣r ⎥
3 ⎦
148
Parallel Manipulators, Towards New Applications
where the vectors ˆ1r , ˆ2r and ˆ3
r are estimates of the orthonormal vectors r1, r2 and r3.
Regarding the meaning of the orthogonal polar factor, note that given a 3 × 3 matrix A
whose polar decomposition is A = QM, where Q is an orthogonal 3 × 3 matrix and M is a
symmetric and positive definite 3 × 3 matrix, then OPF(A) = Q. Providing that matrix TW
P
W
P
is well conditioned (i.e. if rank(PW) = 9), then Eqs. (12) admit a unique solution
corresponding to the actual orientation of the manipulator platform.
4.2.1 Uniqueness of the solution and computational issues
According to Eqs. (12), the actual platform orientation can be found if rank(PW) = 9. In order
for PW to have full rank, a minimum of nine leg variables need to be measured. However,
this may not be sufficient. Indeed, due to matrices W i and P i ( i = 1, …, 6), matrix PW is dependent on the given manipulator geometry and on the configuration (which is known by
measurements). As a matter of fact, special manipulator configurations may exist for which
rank(PW) < 9. In practice, for given manipulator geometry and for selected sensor layout, a-
priori study of the rank of PW is required in order to prevent the method to fail. In cases
where the drop of rank (which may be caused not only by special configurations and a
special manipulator geometry, but also by the availability of less than nine joint-sensor
measurements) is not too drastic, a number of remedies that rely on the mutual dependency
of the components of R exist, which make it possible to find the actual manipulator
orientation. A first trick (trick 1) consists in circumventing the rank deficiency by solving
Eqs. (11) for a reduced number of unknowns only (whose number cannot be greater than the
rank of PW) and by calculating the remaining ones via the proper orthogonality conditions.
As an example, note that the solution of Eqs. (11) for the components of ˆ1r and ˆ2r only, and
the a-posteriori evaluation of the components of ˆ3
r via the three linear equations ˆr ⋅ ˆ
1
3
r = 0 ,
ˆr ⋅ ˆ
2
3
r = 0 and
ˆ
det(R) = +1, requires rank(PW) ≥ 6 only. A second trick (trick 2) consists in
restoring the rank of PW by considering, in addition to the points Pi ( i = 1, …, n) of the
instrumented legs, additional virtual points Pk ( k > n) depending on the Pi’s themselves such
that pk = pi × pj and ( b′ k + v′ k) = ( b′ i + v′ i) × ( b′ j + v′ j), ( i ≠ j; for i, j = 1, …, n). As an example note that whenever the third components of the vectors pi’s are zero for all points Pi ( i = 1,
…, n), then rank(PW) ≤ 6. In this case, the rank of PW can be restored to 9 by adding an
appropriate number of virtual points as defined above. A third last trick (trick 3) consists in
circumventing the rank drop of PW by solving the rank deficient least-squares problem
given by Eqs. (11) via a method based on the singular value decomposition (SVD) of PW
(Golub & Van Loan, 1983). Among the three remedies, trick (3) is the most general (it does
not require a-priori knowledge of the structure of PW), rather accurate, but it is also the most
computationally intensive; trick (2) is quite general (it requires some a-priori knowledge of
the structure of PW) and quite computationally efficient, but it is the most inaccurate; trick
(1) is the less general (it requires a-priori knowledge of the full structure of PW), it is quite
accurate and quite computationally efficient.
4.3 A novel method for the manipulator actual configuration determination
As described in sub-section 4.2.1, the effectiveness of the general method relies upon the
good conditioning of PW. A very practical sensor layout which both guarantees that the rank
of PW is independent of manipulator configuration and greatly simplifies the solution of the
DPA is the set { n-RRP} ( n ≥ 3). With this sensor layout, the DPA problem described by
Eqs. (10) is reduced to
Robust, Fast and Accurate Solution of the Direct Position Analysis of
Parallel Manipulators by Using Extra-Sensors
149
min RP − B − V ,
F
R
(13.1)
subject to R TR = 1 and det(R) = +1,
and
c = b + v − R p ,
(13.2)
where p, b and v are the following 3 × 1 mean vectors
1 n
p = ∑ pj ,
(13.3)
n j=1
1 n
b = ∑ bj ,
(13.4)
n j=1
1 n
v = ∑ ljvj ,
(13.5)
n j=1
and P, B and V are the following 3 × n matrices
P = [ ′
p
...
′
1
n
p ] ,
(13.6)
B = [ b′ ... b′
1
n ] ,
(13.7)
V = [ ′
v
...
′
1
n
v ] , (13.8)
which are formed, respectively, by the 3 × 1 vectors p′ i = ( pi – p), b′ i = ( bi – b) and
v′ i = ( vi – v). It is worth highlighting that the quantities p, b, P and B depend only on the manipulator geometry, while v and V depend also on the manipulator configuration. As
usual, the notation ║A║F appearing in Eq. (13.1) is used to indicate the Frobenius norm of
matrix A. Equations (13) show that if the center Op of the mobile frame Sp is chosen as the
centroid of points Pi ( i = 1, …, n), i.e. p = 0, then the orientation and the position problems are decoupled, i.e. c = ( b + v).
Following the procedure based on the ULS estimate which was described in section 4.2, an
acceptable minimizer R of the CLS problem described by Eq. (13.1) is
R =
( ÔPF R) ,
(14.1)
−1
ˆR = (B + V) T
P ( T
PP ) .
(14.2)
However, for the set { n-RRP} ( n ≥ 3), the optimal solution of Eq. (13.1) can be found in
closed-form. Indeed, the CLS problem described in Eq. (13.1) is well known in computer
vision (Umeyama, 1991) and admits the following solution
150
Parallel Manipulators, Towards New Applications
=
⎡diag (1,1,det(
))⎤
⎣
⎦ T
R U
US
S ,
(15.1)
where U and V are the 3 × 3 matrices coming from the SVD of the cross-covariance matrix
C (B V) T
=
+
P .
(15.2)
That is, C = UDS T (UU T = SS T = 1 and D = diag( d 1, d 2, d 3), d 1 ≥ d 2 ≥ d 3 ≥ 0). The unique solution given by Eq. (15) does not require the full rank of C (Umeyama, 1991). As a matter
of fact, the actual platform orientation can be computed whenever rank (C) ≥ 2.
The solution given in Eq. (15) is different from that proposed in (Baron and Angeles, 2000)
R = OPF(C) ,
(16)
which is the solution of the orthogonal Procrustes problem (Golub & Van Loan, 1983)
obtained from the CLS problem of Eq. (13.1) by relaxing the constraint det(R) = +1.
4.4 Comparison of different DPA methods in terms of accuracy and computational
efficiency
Among the different solution methods represented by equations (14), (15) and (16), only
Eqs. (15) always provides the exact minimum of the CLS problem given by Eq. (13). Thus,
only the solution given by Eqs. (15) always corresponds to the actual platform orientation
and is the most accurate. Indeed, the solutions given by Eqs. (14) and Eq. (16) do not
guarantee the proper orthogonality (det(R) = +1) of matrix R. This is rather risky since
Eqs. (14) and Eq. (16) may fail to give the correct rotation matrix (corresponding to the
actual manipulator configuration) and may give a reflection instead when the sensor
readouts are affected by measurement errors (this drawback is more severe the larger the
measurement errors are). Between the solutions given by Eqs. (14) and Eq. (16), the former is
the least accurate. Indeed, Eqs. (14) do not even minimize Eq. (13.1) (Eqs. (14) can be a viable
good estimate of the solution in cases where measurement errors are rather small only).
Moreover, due to the matrix inversion operation, note that Eqs. (14.2) requires matrix P to
have full rank. This is not the case whenever points Pi’s ( i = 1, …, n) are coplanar. In such
instances, as already described in section 4.2.1, to obtain the solution of Eq. (14.2) it is
necessary to resort to either trick (2), which however leads to a rather inaccurate solution, or
trick (3), which however implies a large computational effort.
In terms of computational efficiency, it is worth highlighting that the solution represented
by Eqs. (15) requires the calculation of the SVD of a 3 × 3 matrix, while the solutions
represented by equations (14) and (16) require the calculation of the polar decomposition
(PD) of a 3 × 3 matrix. In general the algorithms available for the computation of the PD are
more efficient than those available for the computation of the SVD. However, when 3 × 3
matrices are of concern, fast and robust solutions of the SVD exist which require fewer
calculations than those required by the PD of 3 × 3 matrices. As a matter of fact, the SVD of a
3 × 3 matrix can be obtained via non-iterative algorithms. As an example, an improved
version of the algorithm presented in (Vertechy & Parenti-Castelli, 2004), which is based on
the analytical solution of the cubic equation, requires only 150 multiplications/divisions, 88
sums/subtractions, 5 square root evaluations and 4 trigonometric evaluations to obtain the
full SVD. Conversely, the algorithms available for the PD are iterative. In particular,
considering the most well known and adopted algorithms, the PD of 3 × 3 matrices via the
routine proposed in (Dubrulle, 1999) requires (87 + k D⋅78) multiplications/divisions,
Robust, Fast and Accurate Solution of the Direct Position Analysis of
Parallel Manipulators by Using Extra-Sensors
151
(47 + k D⋅39) sums/subtractions and (4 + k D⋅3) square root evaluations, where k D is the
number of iterations required by the Dubrulle’s routine to converge; and the PD of 3 × 3
matrices via the routine proposed in (Higham, 1986) requires (48 + k H⋅63)
multiplications/divisions, (38 + k H⋅62) sums/subtractions and ( k H⋅3) square root evaluations,
where k H is the number of iterations required by Higham’s routine to converge. In practice,
simulations of the DPA solution of UPS-PMs employing both Dubrulle’s and Higham’s
routines show that k D > 3 and k H > 2 when solving Eq. (14.1), and that k D > 5 and k H > 5
when solving Eq. (16). Note that the solution of Eq. (16) requires more iterations than those
of Eq. (14.1) since matrix ˆR is closer to orthogonality than matrix C.
Finally, it is worth mentioning that both Dubrulle’s and Higham’s routines involve the
matrix inversion operation of either ˆR or C and, thus, both Eq. (14.1) and Eq. (16) require
such matrices to have full rank. Again, this is not the case whenever points Pi‘s ( i = 1, …, n)
are coplanar, and this requires resorting to either trick (2), which leads to a rather inaccurate
solution, or trick (3). In this latter case, once the SVD of either C or ˆR is calculated (i.e.
either C = UDV T or ˆ
T
R = UDV ), the solution of Eq. (14.1) and Eq. (16) is found as R = UV T.
Hence, generally, in order to find a unique and accurate solution of the DPA, the
computation of the SVD of either C or ˆR is anyway required.
5. Conclusions
This chapter addresses the solution of the direct position analysis (DPA) of parallel
manipulators. More specifically, it focuses on the determination of the actual configuration
of parallel manipulators, which have legs of type UPS (where U, S and P are for universal,
spherical and prismatic pairs respectively), by using extra-sensor data, that is a number of
sensor data which is greater than the number of manipulator degrees of freedom. First, an
extensive overview of the extra-sensor approaches that are available in the literature for the
solution of the manipulator direct position analysis is provided. Second, a general method is
described which makes it possible to solve accurately and in real-time the DPA of
manipulators having general architecture, general sensor layouts and sensor data affected
by measurement errors. The method, however, may suffer from singularities of the set of
sensor data. Third, a novel method is presented which, by exploiting a suitable sensor
layout, makes it possible to solve robustly, accurately and in real-time the direct position
analysis of manipulators having general architecture and sensor data affected by
measurement errors. A comparison with other methods based on mathematical proofs is
provided that shows the accuracy and the computational efficiency of the proposed novel
method.
6. References
Angeles, J. (1990). Rigid-body pose and twist estimation in the presence of noisy redundant
measurements, Proc. Eighth CISM-IFToMM Symposium on Theory and Practice of
Robots and Manipulators, pp. 69-78, Cracow, July 2-6 1990
Baron, L. & Angeles, J. (1994). The measurement subspaces of parallel manipulators under
sensor redundancy, ASME Design Automation Conf. , pp. 467-474, Minneapolis, 11-14
September 1994
Baron, L. & Angeles, J. (1995). The isotropic decoupling of the direct kinematic of parallel
manipulators under sensor redundancy, IEEE Int. Conf. on Robotics and Automation,
pp. 1541-1546, Nagoya, 25-27 May 1995
152
Parallel Manipulators, Towards New Applications
Baron, L. & Angeles, J. (2000a). The direct kinematics of parallel manipulators under joint-
sensor redundancy. IEEE Trans. on Robotics and Automation, Vol. 16, No. 1, 12-19
Baron, L. & Angeles, J. (2000b). The kinematic decoupling of parallel manipulators using
joint-sensor data. IEEE Trans. on Robotics and Automation, Vol. 16, No. 6, 644-651
Bonev, I.A. & Ryu J. (2000). A new method for solving the direct kinematics of general 6-6
Stewart platforms using three linear extra sensors. Mechanism and Machine Theory,
Vol. 35, No. 3, 423-436
Bonev, I.A.; Ryu, J.; Kim, S.-G. & Lee, S.-K. (2001). A closed-form solution to the direct
kinematics of nearly general parallel manipulators with optimally located three
linear extra sensors. IEEE Transactions on Robotics and Automation, Vol. 17, No. 2,
148-156
Cappel, K.L (1967). Motion simulator. US Patent #3295224
Charles, P.A.-S. (1995). Octahedral machine tool frame. US Patent # 5392663
Cheok, K.C.; Overholt, J.L. & Beck, R.R. (1993). Exact Method for Determining the
Kinematics of a Stewart Platform Using Additional Displacement Sensors. Journal of
Robotic Systems, Vol. 10, No. 5, 689-707
Chiu, Y.J. & Perng, M.-H. (2001). Forward kinematics of a general fully parallel manipulator
with auxiliary sensors. Int. J. of Robotics Research, Vol. 20, No. 5, 401-414
Daniel, R.W.; Fischer, P.J. & Hunter, B. (1993). A High Performance Parallel Input Device.