Skip to main content

Solution of the Forward Kinematics of Parallel Robots Based on Constraint Curves

  • 294 Accesses

Part of the Lecture Notes in Electrical Engineering book series (LNEE,volume 793)


This paper presents a method to solve the forward kinematic problem of parallel robots, obtaining all real solutions. The method is illustrated with the 3UPS-PU parallel robot, and consists in eliminating one unknown to obtain an equation that constrains the admissible values of the remaining unknowns. This constraint defines a curve in the plane of the remaining unknowns, which contains all real solutions. The proposed method samples and scans this constraint curve in order to find all real solutions, using only analytical operations and k-dimensional trees. This method is able to find all real solutions and performs at least one order of magnitude faster than other numerical methods, while avoiding the complicated and lengthy symbolic expressions that traditional elimination procedures involve. The proposed method is also extended to the complex domain and another parallel robot (the 3RRR robot).


  • Forward kinematics
  • K-d trees
  • Parallel robots
  • Algebraic elimination
  • Curve tracing

This is a preview of subscription content, access via your institution.

Buying options

USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-92442-3_20
  • Chapter length: 24 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
USD   189.00
Price excludes VAT (USA)
  • ISBN: 978-3-030-92442-3
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   249.99
Price excludes VAT (USA)
Hardcover Book
USD   249.99
Price excludes VAT (USA)
Fig. 1.

Source of figure: [13].

Fig. 2.

Source of figure: [13].

Fig. 3.

Source of figure: [13].

Fig. 4.

Adapted from [13].

Fig. 5.

Source of figure: [13].

Fig. 6.
Fig. 7.
Fig. 8.


  1. Bates, D.J., Hauenstein, J.D., Sommese, A.J., Wampler, C.W.: Numerically Solving Polynomial Systems with Bertini. SIAM (2013)

    Google Scholar 

  2. Gomes, A.J.: A continuation algorithm for planar implicit curves with singularities. Comput. Graph. 38, 365–373 (2014)

    CrossRef  Google Scholar 

  3. Gosselin, C.M., Sefrioui, J.: Polynomial solutions for the direct kinematic problem of planar three-degree-of-freedom parallel manipulators. In: Fifth International Conference on Advanced Robotics Robots in Unstructured Environments, vol.2, pp. 1124–1129 (1991)

    Google Scholar 

  4. Hosseini, M.A., Daniali, H.R.M.: Kinematic analysis of tricept parallel manipulator. IIUM Eng. J. 12(5), 7–16 (2011)

    Google Scholar 

  5. Innocenti, C., Wenger, P.: Position analysis of the RRP-3(SS) multi-loop spatial structure. J. Mech. Des. 128(1), 272–278 (2006)

    CrossRef  Google Scholar 

  6. Joshi, S., Tsai, L.W.: The kinematics of a class of 3-dof, 4-legged parallel manipulators. J. Mech. Des. 125(1), 52–60 (2003)

    CrossRef  Google Scholar 

  7. Kolláth, L., Kureková, E., Ploskuňáková, L., Beniak, J.: Non-conventional production machines, pp. 69–75. Scientific Proceedings. SjF, STU Bratislava (2009)

    Google Scholar 

  8. Liu, C.H., Hsu, F.K.: Direct singular positions of the parallel manipulator tricept. Proc. Inst. Mech. Eng. C J. Mech. Eng. Sci. 221(1), 109–117 (2007)

    CrossRef  Google Scholar 

  9. Lu, Y., Hu, B., Liu, P.: Kinematics and dynamics analyses of a parallel manipulator with three active legs and one passive leg by a virtual serial mechanism. Multibody Sys. Dyn. 17(4), 229–241 (2007)

    CrossRef  Google Scholar 

  10. Merlet, J.P.: Solving the forward kinematics of a gough-type parallel manipulator with interval analysis. Int. J. Robot. Res. 23(3), 221–235 (2004)

    CrossRef  Google Scholar 

  11. Peidró, A., María Marín, J., Gil, A., Reinoso, Ó.: Performing nonsingular transitions between assembly modes in analytic parallel manipulators by enclosing quadruple solutions. J. Mech. Des. 137(12), 122302-1–122302-11 (2015)

    Google Scholar 

  12. Peidró, A., Marín, J.M., Reinoso, Ó., Payá, L., Gil, A.: Parallelisms between planar and spatial tricept-like parallel robots. In: Arakelian, V., Wenger, P. (eds.) ROMANSY 22 – Robot Design, Dynamics and Control. CICMS, vol. 584, pp. 155–162. Springer, Cham (2019).

    CrossRef  Google Scholar 

  13. Peidró, A., Payá, L., Cebollada, S., Román, V., Reinoso, O.: Solution of the forward kinematic problem of 3ups-pu parallel manipulators based on constraint curves. In: Proceedings of the 17th International Conference on Informatics in Control, Automation and Robotics, pp. 324–334 (2020)

    Google Scholar 

  14. Peidró, A., Reinoso, O., Gil, A., Marín, J.M., Payá, L.: A method based on the vanishing of self-motion manifolds to determine the collision-free workspace of redundant robots. Mech. Mach. Theory 128, 84–109 (2018)

    CrossRef  Google Scholar 

  15. Porta, J.M., Ros, L., Bohigas, O., Manubens, M., Rosales, C., Jaillet, L.: The cuik suite: analyzing the motion closed-chain multibody systems. IEEE Robot. Autom. Mag. 21(3), 105–114 (2014)

    CrossRef  Google Scholar 

  16. Porta, J.M., Ros, L., Thomas, F.: A linear relaxation technique for the position analysis of multiloop linkages. IEEE Trans. Robot. 25(2), 225–239 (2009)

    CrossRef  Google Scholar 

  17. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes: The Art of Scientific Computing (3rd edn.). Cambridge University Press, Cambridge (2007).

  18. Raghavan, M.: The Stewart platform of general geometry has 40 configurations. J. Mech. Des. 115(2), 277–282 (06 1993)

    Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Adrián Peidró .

Editor information

Editors and Affiliations


Appendix A

This appendix derives the expressions of all coefficients \(\omega _i\) of the quartic polynomial of Eq. (22). The next demonstration can also be used for obtaining all coefficients \(\omega _i\) of the quartic polynomial of Eq. (29), by swapping every \(\alpha \) and \(\beta \) appearing in this appendix. First, let us rewrite Eq. (21) as follows, with the denominator already omitted:

$$\begin{aligned} \det \left( \mathbf {U}\cdot t_\beta ^2 + \mathbf {V}\cdot t_\beta + \mathbf {W} \right) = 0 \end{aligned}$$


$$\begin{aligned} \mathbf {U} = \mathbf {Y}_\alpha - \mathbf {C}_\alpha , \quad \mathbf {V} = 2 \cdot \mathbf {S}_\alpha , \quad \mathbf {W} = \mathbf {Y}_\alpha + \mathbf {C}_\alpha \end{aligned}$$

Since \(\mathbf {U}\), \(\mathbf {V}\), \(\mathbf {W}\) are \(2\times 2\) matrices, the expansion of the left-hand side of Eq. (36) yields the quartic polynomial of Eq. (22), i.e.:

$$\begin{aligned} \det \left( \mathbf {U}\cdot t_\beta ^2 + \mathbf {V}\cdot t_\beta + \mathbf {W} \right) = \omega _4 t_\beta ^4 + \omega _3 t_\beta ^3 + \omega _2 t_\beta ^2 + \omega _1 t_\beta + \omega _0 \end{aligned}$$

The next objective is to obtain the expressions of the coefficients \(\omega _i\) as simple functions of the matrices \(\mathbf {U}\), \(\mathbf {V}\), and \(\mathbf {W}\). Note that \(\omega _0\) can be directly obtained by substituting \(t_\beta =0\) into the previous equation, which yields:

$$\begin{aligned} \omega _0 = \det \left( \mathbf {W}\right) \end{aligned}$$

To obtain \(\omega _1\), we first differentiate Eq. (38) once with respect to \(t_\beta \):

$$\begin{aligned} \hbox {tr}\left[ \hbox {adj}\left( \mathbf {U}\cdot t_\beta ^2 + \mathbf {V}\cdot t_\beta + \mathbf {W} \right) \left( 2 \mathbf {U}\cdot t_\beta + \mathbf {V} \right) \right] = 4 \omega _4 t_\beta ^3 + 3 \omega _3 t_\beta ^2 + 2\omega _2 t_\beta + \omega _1 \end{aligned}$$

where Jacobi’s formula for the derivative of a determinant has been used when differentiating the left-hand side of Eq. (38):


where “\(\hbox {adj}(\mathbf {Q})\)” is the adjugate of \(\mathbf {Q}\), which satisfies: \(\mathbf {Q} \cdot \hbox {adj}(\mathbf {Q})=\det (\mathbf {Q}) \cdot \mathbf {I}\) (\(\mathbf {I}\) is the identity matrix with the same size as \(\mathbf {Q}\)). Inserting \(t_\beta =0\) into (40) yields:

$$\begin{aligned} \omega _1 = \hbox {tr}\left[ \hbox {adj}(\mathbf {W})\cdot \mathbf {V} \right] \end{aligned}$$

Following the previous process, one might continue differentiating Eq. (40) repeatedly and substituting \(t_\beta =0\) to obtain the remaining coefficients (\(\omega _2\), \(\omega _3\), \(\omega _4\)). However, this task becomes too tedious and error-prone due to the many terms generated by repeatedly differentiating the determinant. Alternatively, the remaining coefficients can be obtained more easily as explained next.

First, it can be checked that reversing the order of the matrix coefficients of the polynomial appearing inside the determinant on the left-hand side of Eq. (38) (i.e., swapping \(\mathbf {U}\) and \(\mathbf {W}\)) reverses the order of the coefficients \(\omega _i\) on the right-hand side of the same equation, obtaining:

$$\begin{aligned} \det \left( \mathbf {W}\cdot t_\beta ^2 + \mathbf {V}\cdot t_\beta + \mathbf {U} \right) = \omega _0 t_\beta ^4 + \omega _1 t_\beta ^3 + \omega _2 t_\beta ^2 + \omega _3 t_\beta + \omega _4 \end{aligned}$$

Accordingly, one can compute \(\omega _4\) and \(\omega _3\) by swapping \(\mathbf {U}\) and \(\mathbf {W}\) in the formulas already derived for \(\omega _0\) and \(\omega _1\), respectively, obtaining:

$$\begin{aligned} \omega _4 = \det \left( \mathbf {U}\right) , \quad \omega _3 = \hbox {tr}\left[ \hbox {adj}(\mathbf {U})\cdot \mathbf {V} \right] \end{aligned}$$

Finally, after all \(\omega _i\) except \(\omega _2\) are known, the central coefficient \(\omega _2\) can be obtained by substituting \(t_\beta =1\) into Eq. (38) and solving for \(\omega _2\):

$$\begin{aligned} \omega _2 = \det \left( \mathbf {U} + \mathbf {V} + \mathbf {W} \right) - \omega _4 - \omega _3 - \omega _1 - \omega _0. \end{aligned}$$

Appendix B

This appendix shows how to solve \(\beta \) (respectively \(\alpha \)) from Eq. (34) when \(\alpha \) (respectively \(\beta \)) is given. If \(\alpha \) is given, Eq. (34) can be rewritten as follows:

$$\begin{aligned} C\cos \beta + S\sin \beta + I=0 \end{aligned}$$

where the coefficients C, S, I have the following expressions:

$$\begin{aligned} C = 2 h_2 ( - b_3 s_{(\alpha +\theta _3)} + a_1 s_{\theta _1} - a_3 s_{\theta _3} - n_3 ) \end{aligned}$$
$$\begin{aligned} S = 2 h_2 ( b_3 c_{(\alpha + \theta _3)} - a_1 c_{\theta _1} + a_3 c_{\theta _3} + m_3 ) \end{aligned}$$
$$\begin{aligned}&I = - 2 a_1 b_3 c_{(\alpha + \theta _3-\theta _1)} - 2 a_1 a_3 c_{(\theta _3-\theta _1)} + 2 a_3 b_3 c_{\alpha } \nonumber \\&\qquad + 2 b_3 \left[ c_{\theta _3} ( m_3 c_{\alpha } + n_3 s_{\alpha } ) + s_{\theta _3} ( n_3 c_{\alpha } - m_3 s_{\alpha } ) \right] - 2 a_1 ( m_3 c_{\theta _1} + n_3 s_{\theta _1} ) \nonumber \\&\qquad \qquad \qquad + 2 a_3 ( m_3 c_{\theta _3} + n_3 s_{\theta _3} ) + a_1^2 + a_3^2 - b_1^2 + b_3^2 + m_3^2 + n_3^2 + h_2^2 \end{aligned}$$

Equation (46) can be converted to a quadratic polynomial using the substitution of Eq. (19), which gives: \((I-C)t_\beta ^2 + (2S)t_\beta + (I+C)=0\). This quadratic equation is easily solved.

Similarly, if \(\beta \) is given, Eq. (34) can also be rewritten as “\(C\cos \alpha + S\sin \alpha + I=0\)”, where the coefficients C, S, I are:

$$\begin{aligned} C = 2 b_3 \left( h_2 s_{(\beta -\theta _3)} - a_1 c_{(\theta _1-\theta _3)} + m_3 c_{\theta _3} + n_3 s_{\theta _3} + a_3 \right) \end{aligned}$$
$$\begin{aligned} S = 2 b_3 ( - a_1 s_{(\theta _1-\theta _3)} - h_2 c_{(\beta -\theta _3)} + n_3 c_{\theta _3} - m_3 s_{\theta _3} ) \end{aligned}$$
$$\begin{aligned}&I = - 2 a_1 a_3 c_{(\theta _3-\theta _1)} + 2 a_1 h_2 s_{(\theta _1-\beta )} + 2 a_3 h_2 s_{(\beta -\theta 3)} \\&\qquad - 2 a_1 (m_3 c_{\theta _1} + n_3 s_{\theta _1}) + 2 a_3 ( m_3 c_{\theta _3} + n_3 s_{\theta _3}) + 2 h_2 ( m_3 s_{\beta } - n_3 c_{\beta } ) \\&\qquad \qquad \qquad \qquad \qquad \qquad + a_1^2 + a_3^2 - b_1^2 + b_3^2 + m_3^2 + n_3^2 + h_2^2. \end{aligned}$$

Rights and permissions

Reprints and Permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Peidró, A., Payá, L., Cebollada, S., Román, V., Reinoso, Ó. (2022). Solution of the Forward Kinematics of Parallel Robots Based on Constraint Curves. In: Gusikhin, O., Madani, K., Zaytoon, J. (eds) Informatics in Control, Automation and Robotics. ICINCO 2020. Lecture Notes in Electrical Engineering, vol 793. Springer, Cham.

Download citation