Skip to main content
Log in

A Generalised Quaternion and Clifford Algebra Based Mathematical Methodology to Effect Multi-stage Reassembling Transformations in Parallel Robots

  • Published:
Advances in Applied Clifford Algebras Aims and scope Submit manuscript

Abstract

A robotic manipulator is a networked assemblage of kinematic pairs, mobile platform(s) and/or tool(s) that generate motion and forces at its end-effector. A manipulator’s theoretical dynamic, kinematic and workspace capabilities are governed by the design parameters (mass, geometry, dimensions, etc.) of its kinematic pairs and its architecture (number of limbs, degrees of freedom, actuation ability, etc.). By adjusting or changing the manipulator’s parameters (both architectural and kinematic pair-related), either from a design standpoint or physically, the robot undergoes what the authors broadly refer to as a ‘reassembling transformation’. By effecting reassembling transformations on a robot, we may generate desired changes in the workspace, kinematic and dynamic capabilities for a specific task manoeuvre. This work presents a novel methodology that marries quaternion rotors, the Lagrangian formulation, geometric algebra and associated mathematical apparatus, to tackle the problem of analysing and modelling robotic manipulators or mechanisms that undergo such ‘reassembling transformations’. Upon presenting a quaternion-based methodology for position, kinematics and Lagrangian dynamics, reassembling transformation types are introduced and detailed. We apply reassembling transformations to a Delta manipulator, in two separate case studies, each with unique target changes to the dynamic capabilities of the post transformed robot in its chosen task manoeuvres. The framework presented in this paper is generalised and its methods can be used to analyse and transform any parallel manipulator and also extended to the study of non-linear systems of equations for modelling multi-body dynamics.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31

Similar content being viewed by others

References

  1. Abłamowicz, R., Sobczyk, G. (Eds.): Lectures on Clifford (Geometric) Algebras and Applications, pp. 8–93. Birkhäuser, Boston (2004)

  2. Akgün, Y., Maden, F., Korkmaz, K.: Design of adaptive structures by kinematic synthesis of mechanisms. In: Cruz, P. (ed.) Structures and Architecture: Concepts, Applications and Challenges, pp. 976–982. Taylor and Francis, London (2013)

    Chapter  Google Scholar 

  3. Altmann, S.: Rotations, Quaternions, and Double Groups, pp. 202–215. Dover Publications, New York (1986)

    MATH  Google Scholar 

  4. Alvarado, R.R., Castañeda, E.C.: Type synthesis of kinematically redundant parallel manipulators based on the HEXA parallel robot. In: IFToMM Symposium on Mechanism Design for Robotics, pp. 227–234. Springer, Cham (2018)

  5. Bayro-Corrochano, E.: Geometric Algebra Applications Vol. I: Computer Vision, Graphics and Neurocomputing, pp. 255–357. Springer, Cham (2018)

  6. Bayro-Corrochano, E., Kähler, D.: Motor algebra approach for computing the kinematics of robot manipulators. J. Robot. Syst. 17(9), 495–516 (2000)

    Article  MATH  Google Scholar 

  7. Bayro-Corrochano, E., Zamora-Esquivel, J.: Differential and inverse kinematics of robot devices using conformal geometric algebra. Robotica 25(1), 43–61 (2007)

    Article  Google Scholar 

  8. Bayro-Corrochano, E., Daniilidis, K., Sommer, G.: Motor algebra for 3D kinematics: the case of the hand-eye calibration. J. Math. Imaging Vis. 13(2), 79–100 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  9. Bayro-Corrochano, E., Reyes-Lozano, L., Zamora-Esquivel, J.: Conformal geometric algebra for robotic vision. J. Math. Imaging Vis. 24(1), 55–81 (2006)

    Article  MathSciNet  Google Scholar 

  10. Björkenstam, S., Leyendecker, S., Linn, J., Carlson, J.S., Lennartson, B.: Inverse dynamics for discrete geometric mechanics of multibody systems with application to direct optimal control. J. Comput. Nonlinear Dyn. 13(10), 101001 (2018)

    Article  Google Scholar 

  11. Blanco, J.L.: A tutorial on SE(3) transformation parameterizations and on-manifold optimization. University of Malaga, Tech. Rep. 3(6), 1–56 (2010)

  12. Caruntu, D.I., Moreno, R.: Human knee inverse dynamics model of vertical jump exercise. J. Comput. Nonlinear Dyn. 14(10), 101005 (2019)

    Article  Google Scholar 

  13. Castano, A., Behar, A., Will, P.M.: The Conro modules for reconfigurable robots. IEEE/ASME Trans. Mechatron. 7(4), 403–409 (2002)

    Article  Google Scholar 

  14. Clifford, W.K.: Preliminary sketch of biquaternions. Proc. Lond. Math. Soc. Lond. 64(4), 381–395 (1873)

    MATH  Google Scholar 

  15. Da, X., Ackerman, J., Seipel, J.: Energetic and dynamic analysis of multifrequency legged robot locomotion with an elastically suspended load. J. Comput. Nonlinear Dyn. 9(2), 021006 (2014)

    Article  Google Scholar 

  16. Dai, J.S., Jones, J.R.: Mobility in metamorphic mechanisms of foldable/erectable kinds. J. Mech. Design 121, 375–382 (1999)

    Article  Google Scholar 

  17. Doran, C., Lasenby, A.: Geometric Algebra for Physicists, pp. 1–52. Cambridge University Press, Cambridge (2003)

    Book  MATH  Google Scholar 

  18. Douadi, L., Spinello, D., Gueaieb, W.: Dynamics and control of a planar multibody mobile robot for confined environment inspection. J. Comput. Nonlinear Dyn. 10(1), 011005 (2015)

    Article  Google Scholar 

  19. González, F., Masarati, P., Cuadrado, J., Naya, M.A.: Assessment of linearization approaches for multibody dynamics formulations. J. Comput. Nonlinear Dyn. 12(4), 041009 (2017)

    Article  Google Scholar 

  20. Gouasmi, M., Gouasmi, B., Ben-Ahmed-Dahou, M.: Dual quaternions robotics: A) The 3R planar manipulator. J. Rehabil. Robot. 6, 8–21 (2018)

    Article  Google Scholar 

  21. Gunn, C.G.: Projective geometric algebra: A new framework for doing euclidean geometry. arXiv preprint arXiv:1901.05873 (2019)

  22. Henderson, D.M.: Euler Angles, Quaternions, and Transformation Matrices for Space Shuttle Analysis. McDonnell-Douglas Technical Services Co., Houston, A-11 (1977)

  23. Hestenes, D., Sobczyk, G.: Clifford Algebra to Geometric Calculus, pp. 1–41. D. Reidel, Dordrecht (1984)

    Book  MATH  Google Scholar 

  24. Kalita, B., Dwivedy, S.K.: Numerical investigation of nonlinear dynamics of a pneumatic artificial muscle with hard excitation. J. Comput. Nonlinear Dyn. 15(4), 041003 (2020)

    Article  Google Scholar 

  25. Kamimura, A., Yoshida, E., Murata, S., Kurokawa, H., Tomita, K., Kokaji, S.: A self-reconfigurable modular robot (MTRAN) hardware and motion planning software. In: Asama, H., Arai, T., Fukuda, T., Hasegawa, T. (eds.) Distributed Autonomous Robotic Systems, vol. 5, pp. 17–26. Springer, Tokyo (2002)

    Chapter  Google Scholar 

  26. Kenwright, B.: A beginner’s guide to dual-quaternions: what they are, how they work, and how to use them for 3D character hierarchies. In: WSCG 2012 Communication Proceedings, pp. 1–10 (2012)

  27. Lastinger, M.C., Verma, S., Kapadia, A.D., Walker, I.D.: TREE: a variable topology, branching continuum robot. In: 2019 International Conference on Robotics and Automation (ICRA), pp. 5365–5371 (2019)

  28. Li, Y., Ji, J., Guo, S., Xi, F.J.: Process parameter optimization of a mobile robotic percussive riveting system with flexible joints. J. Comput. Nonlinear Dyn. 12(6), 061005 (2017)

    Article  Google Scholar 

  29. Li, G., Zhang, F., Fu, Y., Wang, S.: Kinematic calibration of serial robot using dual quaternions. Ind. Robot 46(2), 247–258 (2019)

    Article  Google Scholar 

  30. López-Martínez, J., García-Vallejo, D., Giménez-Fernández, A., Torres-Moreno, J.L.: A flexible multibody model of a safety robot arm for experimental validation and analysis of design parameters. J. Comput. Nonlinear Dyn. 9(1), 011003 (2014)

    Article  Google Scholar 

  31. Lourakis, M.I.: A brief description of the Levenberg–Marquardt algorithm implemented by levmar. Found. Res. Technol. 4(1), 1–6 (2005)

    Google Scholar 

  32. Lyu, G., Liu, R.: Errors control of constraint violation in dynamical simulation for constrained mechanical systems. J. Comput. Nonlinear Dyn. 14(3), 031008 (2019)

    Article  MathSciNet  Google Scholar 

  33. McCarthy, J.M., Ahlers, S.: Dimensional synthesis of robots using a double quaternion formulation of the workspace. In: Hollerbach, J.M., Koditscheck, D. (eds.) Robotics Research, pp. 3–8. Springer, London (2000)

    Chapter  Google Scholar 

  34. Moré, J.J.: The Levenberg–Marquardt algorithm: implementation and theory. In Numerical Analysis, pp. 105–116. Springer, Berlin (1978)

    Google Scholar 

  35. Murata, S., Kurokawa, H.: Self-reconfigurable robots. IEEE Robot. Autom. Mag. 14, 71–78 (2007)

    Article  Google Scholar 

  36. Parwana, H., Kothari, M.: Quaternions and attitude representation. arXiv preprint arXiv:1708.08680 (2017)

  37. Patnaik, S., Semperlotti, F.: Modeling contacts and hysteretic behavior in discrete systems via variable-order fractional operators. J. Comput. Nonlinear Dyn. 15(9), 091008 (2020)

    Article  Google Scholar 

  38. Ryan, P.S., Baxter, S.C., Voglewede, P.A.: Automating the derivation of the equations of motion of a multibody dynamic system with uncertainty using polynomial chaos theory and variational work. J. Comput. Nonlinear Dyn. 15(1), 011004 (2020)

    Article  Google Scholar 

  39. Salemi, B., Moll, M., Shen, W.M.: SUPERBOT: a deployable, multi-functional, and modular self-reconfigurable robotic system. In: 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3636–3641 (2006)

  40. Sarabandi, S., Grosch, P., Porta, J.M., Thomas, F.: A reconfigurable asymmetric 3-UPU parallel robot. In: 2018 International Conference on Reconfigurable Mechanisms and Robots (ReMAR), pp. 1–8 (2018)

  41. Selig, J.M., Bayro-Corrochano, E.: Rigid body dynamics using Clifford algebra. Adv. Appl. Clifford Algebras 20(1), 141–154 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  42. Shafei, A.M., Shafei, H.R.: Planar multibranch open-loop robotic manipulators subjected to ground collision. J. Comput. Nonlinear Dyn. 12(6), 061003 (2017)

    Article  MathSciNet  Google Scholar 

  43. Shammas, E., Asmar, D.: Motion planning for an underactuated planar robot in a viscous environment. J. Comput. Nonlinear Dyn. 10(5), 051002 (2015)

    Article  Google Scholar 

  44. Siciliano, B., Khatib, O.: Springer Handbook of Robotics, pp. 9–31. Springer, Cham (2016)

    Book  MATH  Google Scholar 

  45. Tan, X., Chen, G., Shao, H.: Modelling and analysis of spatial flexible mechanical systems with a spherical clearance joint based on the LuGre friction model. J. Comput. Nonlinear Dyn. 15(1), 011005 (2020)

    Article  Google Scholar 

  46. Tanev, T.K.: Geometric algebra approach to singularity of parallel manipulators with limited mobility. In: Lenarčič, J., Wenger, P. (eds.) Advances in Robot Kinematics: Analysis and Design, pp. 39–48. Springer, Dordrecht (2008)

    Chapter  Google Scholar 

  47. Thiruvengadam, S., Miller, K.: A geometric algebra based higher dimensional approximation method for statics and kinematics of robotic manipulators. Adv. Appl. Clifford Algebras 30(1), 17 (2020)

    Article  MathSciNet  MATH  Google Scholar 

  48. Thomas, F.: Approaching dual quaternions from matrix algebra. IEEE Trans. Robot. 30, 1037–1048 (2014)

    Article  Google Scholar 

  49. Tian, C., Fang, Y., Ge, Q.J.: Structural synthesis of parallel manipulators with coupling sub-chains. Mech. Mach. Theor. 118, 84–99 (2017)

    Article  Google Scholar 

  50. Tsai, L.W.: Robot Analysis: The Mechanics of Serial and Parallel Manipulators, pp. 116–424. Wiley, New York (1999)

    Google Scholar 

  51. Vucina, D., Freudenstein, F.: An application of graph theory and nonlinear programming to the kinematic synthesis of mechanisms. Mech. Mach. Theor. 26, 553–563 (1991)

    Article  Google Scholar 

  52. Weisstein, E.W.: Point-Line Distance—3-Dimensional. From MathWorld—A Wolfram Web Resource (2002). http://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html

  53. Williams, R.L., Robert, L.: The delta parallel robot: kinematics solutions. Mechanical Engineering, Ohio University, pp. 1–15 (2016)

  54. Yim, M.: Modular self-reconfigurable robot systems: challenges and opportunities for the future. IEEE Robot. Autom. Mag. 10, 2–11 (2007)

    Google Scholar 

  55. Yim, M., Duff, D.G., Roufas, K.D.: PolyBot: a modular reconfigurable robot. In: Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings, vol. 1, pp. 514–520 (2000)

  56. Yim, M., Roufas, K., Duff, D., Zhang, Y., Eldershaw, C., Homans, S.: Modular reconfigurable robots in space applications. Auton. Robots 14(2–3), 225–237 (2003)

    Article  MATH  Google Scholar 

  57. Zamora-Esquivel, J., Bayro-Corrochano, E.: Robot perception and handling actions using the conformal geometric algebra framework. Adv. Appl. Clifford Algebras 20(3–4), 959–990 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  58. Zarrouk, D., Yehezkel, L.: Rising STAR: a highly reconfigurable sprawl tuned robot. IEEE Robot. Autom. Lett. 3, 1888–1895 (2018)

    Article  Google Scholar 

  59. Zelei, A., Bencsik, L., Stépán, G.: Handling actuator saturation as underactuation: case study with acroboter service robot. J. Comput. Nonlinear Dyn. 12(3), 031011 (2017)

    Article  Google Scholar 

  60. Zsombor-Murray, P.J.: Descriptive geometric kinematic analysis of Clavel’s Delta Robot. Centre of Intelligent Machines, McGill University, USA (2004)

    Google Scholar 

Download references

Acknowledgements

We wish to thank Professor Rafał Abłamowicz for shepherding this complicated manuscript to its final publication stage and uplifting this work through critical suggestions and advice.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sudharsan Thiruvengadam.

Additional information

Communicated by Dietmar Hildenbrand

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 Appendix A: Derivation of the Quaternion Rotor based Lagrangian expressions for a Pre-Transformed Delta Manipulator

In Sect. 2.1, Eq. (18), the terms \(E_l\),\(\ F_l\),\(\ G_l\), for \(l=1,2,3\), are defined as follows:

$$\begin{aligned} E_1= & {} 2|X_{1\ 2}||X_{0\ 1}|- 2|X_{1\ 2}||X_{5\ E}|- 2|X_{1\ 2}|x, \end{aligned}$$
(109a)
$$\begin{aligned} F_1= & {} 2|X_{1\ 2}|z, \end{aligned}$$
(109b)
$$\begin{aligned} G_1= & {} {|X_{0\ 1}|}^2-2|X_{0\ 1}||X_{5\ E}|-2|X_{0\ 1}|x + {|X_{5\ E}|}^2\nonumber \\&+ 2|X_{5\ E}|x + x^2+ y^2+ z^2+ {|X_{1\ 2}|}^2- {|X_{3\ 4}|}^2, \end{aligned}$$
(109c)
$$\begin{aligned} E_2= & {} 2|X_{6\ 7}||X_{0\ 6}|- 2|X_{6\ 7}||X_{10\ E}|+ |X_{6\ 7}|x - \sqrt{3}|X_{6\ 7}|y, \end{aligned}$$
(109d)
$$\begin{aligned} F_2= & {} 2|X_{6\ 7}|z, \end{aligned}$$
(109e)
$$\begin{aligned} G_2= & {} {|X_{0\ 6}|}^2- 2|X_{0\ 6}||X_{10\ E}|+ |X_{0\ 6}|x - \sqrt{3}|X_{0\ 6}|y + {|X_{10\ E}|}^2\nonumber \\&- |X_{10\ E}|x +\sqrt{3}|X_{10\ E}|y + x^2+ y^2+ z^2+ {|X_{6\ 7}|}^2- {|X_{8\ 9}|}^2, \nonumber \\\end{aligned}$$
(109f)
$$\begin{aligned} E_3= & {} 2|X_{11\ 12}||X_{0\ 10}|- 2|X_{11\ 12}||X_{15\ E}|+ |X_{11\ 12}|x + \sqrt{3}|X_{11\ 12}|y, \nonumber \\\end{aligned}$$
(109g)
$$\begin{aligned} F_3= & {} 2|X_{11\ 12}|z, \end{aligned}$$
(109h)
$$\begin{aligned} G_3= & {} {|X_{0\ 10}|}^2- 2|X_{0\ 10}||X_{15\ E}|+ |X_{0\ 10}|x + \sqrt{3}|X_{0\ 10}|y \nonumber \\&+{|X_{15\ E}|}^2- |X_{15\ E}|x - \sqrt{3}|X_{15\ E}|y + x^2+ y^2+ z^2\nonumber \\&+ {|X_{11\ 12}|}^2- {|X_{13\ 14}|}^2=0. \end{aligned}$$
(109i)

1.2 Appendix B: Derivation of the Quaternion Rotor based Lagrangian expressions for a Pre-Transformed Delta Manipulator

We present expressions for the quaternion rotor based Lagrangian dynamics of a Delta manipulator, where the expressions for the inverse position solutions to find \({\theta }_{l,1}\) are given in Eq. (22), while the expression for the inverse kinematics solutions, \({\dot{\theta }}_{l,1}\) and \({\ddot{\theta }}_{l,1}\) are given in Eqs. (27a) and (27b), respectively. In this example, we set the six generalised coordinates to be \(c_1,c_2,\dots ,c_6=x,y,z,{\theta }_{1,1},{\theta }_{2,1},{\theta }_{3,1}\), where xyz are redundant coordinates [50]. Since the distance between kinematic pairs 3 and 4 (\({(X_{3\ 4})}^2\)) is always equal to the length of the connecting rod of the upper arm \(a_2=|H_3|=|X_{3\ 4}|\) (based on Fig. 5), we define the constraint function \({{\varGamma }}_l\) as follows [50]

$$\begin{aligned} {{\varGamma }}_l= & {} {\left( X^l_{3\ 4}\right) }^2-{\left( |X^l_{3\ 4}|\right) }^2\nonumber \\= & {} {\left( x+|X^l_{5\ E}|{\cos \left( {\psi }_l\right) }-|X^l_{0\ 1}|{\cos \left( {\psi }_l\right) } -|X^l_{1\ 2}|{\cos \left( {\psi }_l\right) }{\cos \left( {\theta }_{l,1}\right) }\right) }^2\nonumber \\&+ {\left( y+|X^l_{5\ E}|{\sin \left( {\psi }_l\right) }-|X^l_{1\ 2}|{\sin \left( {\psi }_l\right) } {\cos \left( {\theta }_{l,1}\right) }\right) }^2\nonumber \\&+ {\left( z-{|X^l_{1\ 2}|\sin \left( {\theta }_{l,1}\right) }\right) }^2-{\left( |X^l_{3\ 4}|\right) }^{2}=0 \end{aligned}$$
(110)

where \(l=1,2,3\) and the symbol \({\psi }_l\) denotes the angles between the vector from the origin to the first joint of each l-th limb and the x-axis of the base reference frame (such that \({\psi }_1,{\psi }_2,{\psi }_3=0,\ \frac{2\pi }{3},-\frac{2\pi }{3}\)). To simplify the analysis, we assume that the mass of each connecting rod in the forearm (\(m_2\)) is divided evenly and concentrated at the two endpoints (\(X_{0\ 3}\ \)and\(\ X_{0\ 4})\). As a result, we derive the Lagrangian function L by first defining the total kinetic energy of the manipulator as

$$\begin{aligned} K=K_E+\sum ^3_{l=1}{(K_{a^l_1}+K_{a^l_2})} \end{aligned}$$
(111)

where \(K_E\) is the kinetic energy of the end-effector platform, \(K_{a^l_1}\) is the kinetic energy of the bicep link of the l-th limb and \(K_{a^l_2}\) is the kinetic energy of the forearm of the l-th limb. Noting that \(|X_{0 \ 1}|=|X_{0 \ 6}|=|X_{0 \ 11}|\), \(|X_{1 \ 2}|=|X_{6 \ 7}|=|X_{11 \ 12}|\), \(|X_{3 \ 4}|=|X_{8 \ 9}|=|X_{13 \ 14}|\) and \(|X_{5 \ E}|=|X_{10 \ E}|=|X_{15 \ E}|\) this gives (which is in agreement with [50])

$$\begin{aligned} K_E= & {} \frac{1}{2}m_E({\dot{x}}^2+{\dot{y}}^2+{\dot{z}}^2), \end{aligned}$$
(112)
$$\begin{aligned} K_{a^l_1}= & {} \frac{1}{2}\left( I_{motor}+\frac{1}{3}m_{a_1}{\left( |X_{1\ 2}|\right) }^2\right) {\left( {\dot{\theta }}_{l,1}\right) }^2, \end{aligned}$$
(113)
$$\begin{aligned} K_{a^l_2}= & {} \frac{1}{2}m_{a_2}\left( {\dot{x}}^{\mathrm {2}}\mathrm {+}{\dot{y}}^{\mathrm {2}}\mathrm {+}{\dot{z}}^{\mathrm {2}}\right) +\frac{1}{2}m_{a_2}{\left( |X_{1\ 2}|\right) }^2{\left( {\dot{\theta }}_{l,1}\right) }^2, \end{aligned}$$
(114)

where \(m_E\) is the mass of the end-effector platform, \(m_{a_1}\) is the mass of the bicep and \(m_{a_2}\) is the mass of one of the two connecting rods in the forearm. The mass of the link and its density distribution is assumed to be identical in each limb. \(I_{motor}\) is the axial moment of inertia of the rotor mounted on the l-th limb. Assuming that gravitational acceleration is in the \(-z\) direction, the total potential energy of the manipulator relative to the fixed \(x-y\) plane is

$$\begin{aligned} U=U_E+\sum ^3_{l=1}{(U_{a^l_1}+U_{a^l_2})} \end{aligned}$$
(115)

where \(U_E\) is the potential energy of the end-effector platform, \(U_{a^l_1}\) is the potential energy of the bicep link of the l-th limb and \(U_{a^l_2}\) is the potential energy of the forearm of the l-th limb, giving [50]

$$\begin{aligned}&\displaystyle U_E=\frac{1}{2}m_Eg_cz,&\end{aligned}$$
(116)
$$\begin{aligned}&\displaystyle U_{a^l_1} = \frac{1}{2}m_{a_1}g_c|X_{1\ 2}|\sin ({\theta }_{l,1}),&\end{aligned}$$
(117)
$$\begin{aligned}&\displaystyle U_{a^l_2} = m_{a_2}g_c\left( z+|X_{1\ 2}|\sin ({\theta }_{l,1})\right) ,&\end{aligned}$$
(118)

where \(g_c\) is the symbol for gravitational acceleration. The Lagrangian function is defined, using Eqs. (111)–(118), as

$$\begin{aligned} L= & {} K-U\nonumber \\= & {} \frac{1}{2}\left( m_E+3m_{a_2}\right) \left( {\dot{x}}^2+{\dot{y}}^2+{\dot{z}}^2\right) \nonumber \\&+ \frac{1}{2}\left( I_{motor}+\frac{1}{3}m_{a_1}{\left( |X_{1\ 2}|\right) }^2+m_{a_2}{\left( |X_{1\ 2}|\right) }^2\right) \nonumber \\&\quad \left( {\left( {\dot{\theta }}_{1,1}\right) }^2+{\left( {\dot{\theta }}_{2,1}\right) }^2+{\left( {\dot{\theta }}_{3,1}\right) }^2\right) -\left( m_E+3m_{a_2}\right) g_cz \nonumber \\&-\left( \frac{1}{2}m_{a_1}+m_{a_2}\right) g_c|X_{1\ 2}|({\sin \left( {\theta }_{1,1}\right) }+{\sin \left( {\theta }_{2,1}\right) }+\sin ({\theta }_{3,1})). \end{aligned}$$
(119)

Taking the partial derivatives of the Lagrangian function (Eq. 119), with respect to the six generalised coordinates \((x,y,z,{\theta }_{1,1},{\theta }_{2,1},{\theta }_{3,1})\), we get

$$\begin{aligned}&\displaystyle \frac{d}{dt}\left( \frac{\partial L}{\partial {\dot{x}}}\right) = \left( m_E+3m_{a_2}\right) {\ddot{x}}_{},&\end{aligned}$$
(120a)
$$\begin{aligned}&\displaystyle \frac{\partial L}{\partial x}=0,&\end{aligned}$$
(120b)
$$\begin{aligned}&\displaystyle \frac{d}{dt}\left( \frac{\partial L}{\partial {\dot{y}}}\right) =\left( m_E+3m_{a_2}\right) {\ddot{y}}_{},&\end{aligned}$$
(121a)
$$\begin{aligned}&\displaystyle \frac{\partial L}{\partial y}=0,&\end{aligned}$$
(121b)
$$\begin{aligned}&\displaystyle \frac{d}{dt}\left( \frac{\partial L}{\partial {\dot{z}}}\right) =\left( m_E+3m_{a_2}\right) {\ddot{z}}_{},&\end{aligned}$$
(122a)
$$\begin{aligned}&\displaystyle \frac{\partial L}{\partial z}=-\left( m_E+3m_{a_2}\right) g_c,&\end{aligned}$$
(122b)
$$\begin{aligned} \frac{d}{dt}\left( \frac{\partial L}{\partial {\dot{\theta }}_{1,1}}\right)= & {} \left( I_{motor}+\frac{1}{3}m_{a_1}{\left( |X_{1\ 2}|\right) }^2+m_{a_2}{\left( |X_{1\ 2}|\right) }^2\right) {\ddot{\theta }}_{1,1}, \end{aligned}$$
(123)
$$\begin{aligned} \frac{\partial L}{\partial {\theta }_{1,1}}= & {} -\frac{1}{2}\left( m_{a_1}+m_{a_2}\right) g_c|X_{1\ 2}|\cos ({\theta }_{1,1}),\end{aligned}$$
(124)
$$\begin{aligned} \frac{d}{dt}\left( \frac{\partial L}{\partial {\dot{\theta }}_{2,1}}\right)= & {} \left( I_{motor}+\frac{1}{3}m_{a_1}{\left( |X_{1\ 2}|\right) }^2+m_{a_2}{\left( |X_{1\ 2}|\right) }^2\right) {\ddot{\theta }}_{2,1},\end{aligned}$$
(125)
$$\begin{aligned} \frac{\partial L}{\partial {\theta }_{2,1}}= & {} -\frac{1}{2}\left( m_{a_1}+m_{a_2}\right) g_c|X_{1\ 2}|\cos ({\theta }_{2,1}),\end{aligned}$$
(126)
$$\begin{aligned} \frac{d}{dt}\left( \frac{\partial L}{\partial {\dot{\theta }}_{3,1}}\right)= & {} \left( I_{motor}+\frac{1}{3}m_{a_1}{\left( |X_{1\ 2}|\right) }^2+m_{a_2}{\left( |X_{1\ 2}|\right) }^2\right) {\ddot{\theta }}_{3,1},\end{aligned}$$
(127)
$$\begin{aligned} \frac{\partial L}{\partial {\theta }_{3,1}}= & {} -\frac{1}{2}\left( m_{a_1}+m_{a_2}\right) g_c|X_{1\ 2}|\cos ({\theta }_{3,1}). \end{aligned}$$
(128)

Taking the partial derivatives of the constraint function (\({{\varGamma }}_l\)), with respect to the six generalised coordinates \((x,y,z,{\theta }_{1,1},{\theta }_{2,1},{\theta }_{3,1})\), we get

$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_l}{\partial x}=2\left( x+|X_{5\ E}|{\cos \left( {\psi }_l\right) }- |X_{0\ 1}|{\cos \left( {\psi }_l\right) }-|X_{1\ 2}|\cos ({\psi }_l\right) \cos ({\theta }_{l,1}))\nonumber \\&\displaystyle \text {for} \ l=1,2,3,\end{aligned}$$
(129)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_l}{\partial y}=2\left( y+|X_{5\ E}|{\cos \left( {\psi }_l\right) }- |X_{0\ 1}|{\cos \left( {\psi }_l\right) }-|X_{1\ 2}|\sin ({\psi }_l\right) \cos ({\theta }_{l,1}))\nonumber \\&\displaystyle \text {for} \ l=1,2,3,\end{aligned}$$
(130)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_l}{\partial z}=2(z-|X_{1\ 2}|\sin ({\theta }_{l,1}))\ \text{ for }\ l=1,2,3,\end{aligned}$$
(131)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_1}{\partial {\theta }_{1,1}}=2|X_{1\ 2}|((x{\cos ({\psi }_1)}+y{\sin ({\psi }_1})+|X_{5\ E}|\nonumber \\&\displaystyle -|X_{0\ 1}|)\sin ({\theta }_{1,1})-z\cos ({\theta }_{1,1}))\end{aligned}$$
(132)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_l}{\partial {\theta }_{1,1}}=0 \ \text {for}\ l=2,3,\end{aligned}$$
(133)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_2}{\partial {\theta }_{2,1}}=2|X_{1\ 2}|((x{\cos ({\psi }_2)}+y{\sin ({\psi }_2)}+|X_{5\ E}|\nonumber \\&\displaystyle -|X_{0\ 1}|)\sin ({\theta }_{2,1})-z\cos ({\theta }_{2,1}))\end{aligned}$$
(134)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_l}{\partial {\theta }_{2,1}}=0\ \text {for}\ l=1,3,\end{aligned}$$
(135)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_3}{\partial {\theta }_{3,1}}=2|X_{1\ 2}|((x{\cos ({\psi }_3)}+y{\sin ({\psi }_3)}+|X_{5\ E}|\nonumber \\&\displaystyle -|X_{0\ 1}|)\sin ({\theta }_{3,1})-z\cos ({\theta }_{3,1}))\end{aligned}$$
(136)
$$\begin{aligned}&\displaystyle \frac{\partial {{\varGamma }}_l}{\partial {\theta }_{3,1}}=0 \ \text {for}\ l=1,2. \end{aligned}$$
(137)

By substituting the partial derivatives \(\frac{d}{dt}(\frac{\partial L}{\partial {\dot{c}}_j})\) and \(\frac{\partial L}{\partial c_j}\) (Eqs. (120)–(128)) and \(\frac{\partial {{\varGamma }}_i}{\partial c_j}\) (Eqs. (129)–(137)), into Eq. (53) and by setting \(l=1,2,3\), we get the system of equations shown below, which we solve simultaneously to find \({\lambda }_l\)

$$\begin{aligned}&2\sum ^3_{l=1}{{\lambda }_l(x+|X_{5\ E}|{\cos \left( {\psi }_l\right) }-|X_{0\ 1}|\cos ({\psi }_l)}-|X_{1\ 2}|{\cos \left( {\psi }_l\right) }{\cos \left( {\theta }_{l,1}\right) )}\nonumber \\&\quad =\left( m_E+3m_{a_2}\right) \ddot{x}-f_x,\end{aligned}$$
(138a)
$$\begin{aligned}&2\sum ^3_{l=1}{{\lambda }_l(y+|X_{5\ E}|{\sin \left( {\psi }_l\right) }-|X_{0\ 1}|\sin ({\psi }_l)}- |X_{1\ 2}|{\sin \left( {\psi }_l\right) }{\cos \left( {\theta }_{l,1}\right) )}\nonumber \\&\quad =\left( m_E+3m_{a_2}\right) \ddot{y}-f_y,\end{aligned}$$
(138b)
$$\begin{aligned}&2\sum ^3_{l=1}{{\lambda }_l}(z-|X_{1\ 2}|{\sin \left( {\theta }_{l,1}\right) )}=\left( m_E+3m_{a_2}\right) \ddot{z}+ \left( m_E+3m_{a_2}\right) g_c-f_z,\nonumber \\ \end{aligned}$$
(138c)

where (\(f_x,f_y,f_z\)) are the x, y and z components of the external force exerted on the end effector and the gravitational acceleration \(g_c\) is set to \(-9.81\ ms^{-2}\). As mentioned, \((f_x,f_y,f_z) \rightarrow -(f_x,f_y,f_z)\) if the convention is inverted to evaluate the end-effector wrench applied to the environment. The expressions for \({\tau }_l\), a quaternion based torque representation of the torques of the active joint of the l-th limb, is shown below, which agrees with [50]

$$\begin{aligned} {\tau }_l= & {} \left( I_{motor}+\frac{1}{3}m_{{a}_{1}}{\left| X_{1\ 2}\right| }^2+ m_{{a}_{2}}{\left| X_{1\ 2}\right| }^2\right) {\ddot{\theta }}_{l,1}\nonumber \\&+\left( \frac{1}{2}m_{{a}_{1}}+m_{{a}_{2}}\right) g_c|X_{1\ 2}|\cos ({\theta }_{l,1})\nonumber \\&-2|X_{1\ 2}|{\lambda }_l\left( \left( x \cos \left( {\psi }_l\right) +y \sin \left( {\psi }_l\right) \right. \right. \nonumber \\&\left. \left. + |X_{5\ E}|-|X_{0\ 1}|\right) {\sin \left( {\theta }_{l,1}\right) }-z{\cos \left( {\theta }_{l,1}\right) }\right) \nonumber \\&\qquad \text {for}\ l=1,2,3. \end{aligned}$$
(139)

1.3 Appendix C: Example of an Investigation of the OptimalTransformation Type using Affectation Indices

In this example, we investigate the optimal transformation type and its corresponding kinematic pair, for a 2R planar manipulator, using arbitrary values of \({{}^{\varvec{F}}\varvec{V}}_{(\varvec{p},\varvec{F})}(t)\) and \({\varvec{}}^{\varvec{R}}{\varvec{V}}^{\varvec{}}_{(\varvec{p},\varvec{F})}[i]\varvec{(}t)\), chosen for the sake of brevity, presented in Tables 13, 14, 15 and 16. We demonstrate the computation of the affectation indices \({\varvec{A}}_{\varvec{d}\varvec{1}}({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{i}\}},E_T)\) and \({\varvec{A}}_{\varvec{d}\varvec{2}}({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{i}\}},E_T)\) under a Type 1a transformation. We set \(Y_1=3\), \(Y_2=2\) and \({{}^{\varvec{F}}\varvec{V}}_{(\varvec{p},\varvec{F})}(t)\) and \({\varvec{}}^{\varvec{R}}{\varvec{V}}^{\varvec{}}_{(\varvec{p},\varvec{F})}[i]\varvec{(}t)\) to be the values shown in Tables 13, 14, 15 and 16 for the pre-transformed and post-transformed manipulators.

Table 13 The values of \(\varvec{|}{{\varvec{}}^{\varvec{R}}\varvec{V}}_{(\varvec{p},\varvec{F})}[i](t )\varvec{|}\), at three selected end-effector poses, in the trajectory \((t_1,t_2,t_3)\), for the pre-transformed manipulator, where \(i=1,2\)
Table 14 The values of \(\varvec{|}{{\varvec{}}^{\varvec{R}}\varvec{V}}_{(\varvec{p},\varvec{F})}[i](t )|\), at three selected end-effector poses, in the trajectory \((t_1,t_2,t_3)\), under a Type 1a transformation \({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{1}\}}(\Delta H_{1})\), where \(i=1,2\), \(\varepsilon =1\) and \(\Delta H_{1}=0.1\)
Table 15 The values of \(|{{}^{\varvec{R}}\varvec{V}}_{(\varvec{p},\varvec{F})}[i](t)|\), at three selected end-effector poses, in the trajectory \(\varvec{(}t_1,t_2,t_3\varvec{)}\), under a Type 1a transformation \({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{1}\}}\varvec{(}\Delta H^{}_1\varvec{)}\), where \(i=1,2\), \(\varepsilon =2\) and \(\Delta H_1=0.2\)
Table 16 The values of \(|{{}^{\varvec{F}}\varvec{V}}_{(\varvec{p},\varvec{F})}(t)|\) at three selected end-effector poses in the trajectory \(\varvec{(}t_1,t_2,t_3\varvec{)}\), for the pre-transformed manipulator and for the post-transformed manipulator, under a Type 1a transformation \({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{1}\}}\varvec{(}\Delta H^{}_1\varvec{)}\), for \(\varepsilon =1\) and 2 and \(\Delta H^{}_1=0.1\) and 0.2

By referring to Tables 14, 15 and 16 and employing Eqs. (92)–(93), we compute \({\varvec{A}}_{\varvec{d}\varvec{1}}({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{1}\}},E_T)\) and \({\varvec{A}}_{\varvec{d}\varvec{2}}({\varvec{P}}^{\varvec{1}\varvec{a}}_{\{\varvec{1}\}},E_T)\) to be

$$\begin{aligned} {\varvec{A}}_{\varvec{d}\varvec{1}}\left( {\varvec{P}}^{\varvec{1}\varvec{a}}_{\left\{ \varvec{1}\right\} },E_T\right)= & {} \frac{1000}{3*2}\left( \frac{\mathrm {1.5}-1.4}{1.4}+\frac{\mathrm {2.5}-2.4}{2.4}+\frac{\mathrm {3.5}-3.4}{3.4} \right. \nonumber \\&+\frac{\mathrm {3.1}-3.0}{3.0}+\frac{\mathrm {4.2}-4.1}{4.1}+\frac{\mathrm {5.4}-5.3}{5.3}+\frac{\mathrm {2.5}-1.4}{1.4}\nonumber \\&+\frac{\mathrm {3.5}-2.4}{2.4}+\frac{\mathrm {4.5}-3.4}{3.4}+\frac{\mathrm {5.1}-3.0}{3.0}\nonumber \\&\left. +\frac{\mathrm {6.2}-4.1}{4.1}+\frac{\mathrm {7.4}-5.3}{5.3}\right) \nonumber \\= & {} 510.53, \end{aligned}$$
(140)
$$\begin{aligned} {\varvec{A}}_{\varvec{d}\varvec{2}}\left( {\varvec{P}}^{\varvec{1}\varvec{a}}_{\left\{ \varvec{1}\right\} },E_T\right)= & {} \frac{1000}{3*2}\left( \frac{\mathrm {0.15}-0.14}{0.14}+\frac{\mathrm {0.25}-0.24}{0.24}\right. \nonumber \\&+\frac{\mathrm {0.35}-0.34}{0.34}+\frac{0.2-0.14}{0.14}+\frac{\mathrm {0.4}-0.24}{0.24}\nonumber \\&\left. +\frac{\mathrm {0.8}-0.34}{0.34}\right) \nonumber \\= & {} 393.5. \end{aligned}$$
(141)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Thiruvengadam, S., Tan, J.S. & Miller, K. A Generalised Quaternion and Clifford Algebra Based Mathematical Methodology to Effect Multi-stage Reassembling Transformations in Parallel Robots. Adv. Appl. Clifford Algebras 31, 39 (2021). https://doi.org/10.1007/s00006-021-01119-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00006-021-01119-6

Mathematics Subject Classification

Keywords

Navigation