Abstract
In this paper, a new way of computing the constraint transfer matrix for the inverse dynamic and joint force analysis of multibody systems is developed. The method is based on the Newton–Euler method and the screw theory notations. This method is first developed in (Taghvaeipour et al. in Multibody Syst. Dyn. 29(2):139–168, 2013), however, in this study, it is efficiently modified by incorporating a unified constraint transfer matrix for all types of joints. This change makes both the derivation of the equations and the computations less time consuming. Moreover, in the foregoing procedure, the constraint wrenches of a system are obtained in one reference frame, namely, the global reference frame. As a case study, the proposed method is carried out on the agile wrist which is a three-legged spherical parallel robot with three degrees of freedom. At the end, the results obtained by the modified method are verified with the ones calculated by the original procedure and a software package.
Similar content being viewed by others
References
Abedloo, E., Molaei, A., Taghirad, H.D.: Closed-form dynamic formulation of spherical parallel manipulators by Gibbs–Appell method. In: 2014 Second RSI/ISM International Conference on Robotics and Mechatronics (ICRoM), pp. 576–581 (2014). https://doi.org/10.1109/ICRoM.2014.6990964
Abeywardena, S., Chen, C.: Inverse dynamic modelling of a three-legged six-degree-of-freedom parallel mechanism. Multibody Syst. Dyn. 41(1), 1–24 (2017). https://doi.org/10.1007/s11044-016-9506-y
Angeles, J.: Fundamentals of Robotic Mechanical Systems: Theory. Methods, and Algorithms, vol. 3 (2007)
Angeles, J., Lee, S.K.: The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement. J. Appl. Mech. 55, 243 (1988). https://doi.org/10.1115/1.3173642
Arian, A., Danaei, B., Abdi, H., Nahavandi, S.: Kinematic and dynamic analysis of the gantry-tau, a 3-dof translational parallel manipulator. Appl. Math. Model. 51, 217–231 (2017). https://doi.org/10.1016/j.apm.2017.06.012
Bai, S., Hansen, M.R., Angeles, J.: A robust forward-displacement analysis of spherical parallel robots. Mech. Mach. Theory 44(12), 2204–2216 (2009). https://doi.org/10.1016/j.mechmachtheory.2009.07.005
Bi, Z.M., Kang, B.: An inverse dynamic model of over-constrained parallel kinematic machine based on Newton–Euler formulation. J. Dyn. Syst. Meas. Control 136(4), 041001 (2014). https://doi.org/10.1115/1.4026533
Bonev, I.A., Chablat, D., Wenger, P.: Working and assembly modes of the agile eye. In: Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006, ICRA 2006, pp. 2317–2322 (2006). https://doi.org/10.1109/ROBOT.2006.1642048
Cammarata, A., Lacagnina, M., Sinatra, R.: Closed-form solutions for the inverse kinematics of the agile eye with constraint errors on the revolute joint axes. In: 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 317–322 (2016). https://doi.org/10.1109/IROS.2016.7759073
Choi, H.B., Konno, A., Uchiyama, M.: Inverse dynamic analysis of a 4-dof parallel robot h4. In: 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No. 04CH37566), vol. 4, pp. 3501–3506 (2004). https://doi.org/10.1109/IROS.2004.1389958
Gan, D., Dai, J.S., Dias, J., Seneviratne, L.: Joint force decomposition and variation in unified inverse dynamics analysis of a metamorphic parallel mechanism. Meccanica 51(7), 1583–1593 (2016). https://doi.org/10.1007/s11012-015-0216-y
González, F., Kövecses, J.: Use of penalty formulations in dynamic simulation and analysis of redundantly constrained multibody systems. Multibody Syst. Dyn. 29(1), 57–76 (2013). https://doi.org/10.1007/s11044-012-9322-y
Gosselin, C.M., Hamel, J.F.: The agile eye: a high-performance three-degree-of-freedom camera-orienting device. In: Proceedings of the 1994 IEEE International Conference on Robotics and Automation, vol. 1, pp. 781–786 (1994). https://doi.org/10.1109/ROBOT.1994.351393
Khalil, W., Ibrahim, O.: General solution for the dynamic modeling of parallel robots. J. Intell. Robot. Syst. 49(1), 19–37 (2007). https://doi.org/10.1007/s10846-007-9137-x
Kingsley, C., Poursina, M.: Extension of the divide-and-conquer algorithm for the efficient inverse dynamics analysis of multibody systems. Multibody Syst. Dyn. 42(2), 145–167 (2018). https://doi.org/10.1007/s11044-017-9591-6
Kuo, C.H., Dai, J.S., Legnani, G.: A non-overconstrained variant of the agile eye with a special decoupled kinematics. Robotica 32(6), 889–905 (2014). https://doi.org/10.1017/S0263574713001100
Li, Y., Xu, Q.: Dynamic analysis of a modified delta parallel robot for cardiopulmonary resuscitation. In: 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 233–238 (2005). https://doi.org/10.1109/IROS.2005.1545491
Li, Y., Xu, Q.: Kinematics and inverse dynamics analysis for a general 3-prs spatial parallel mechanism. Robotica 23(2), 219–229 (2005). https://doi.org/10.1017/S0263574704000797
Liping, W., Huayang, X., Liwen, G.: Kinematics and inverse dynamics analysis for a novel 3-puu parallel mechanism. Robotica 35(10), 2018–2035 (2017). https://doi.org/10.1017/S0263574716000692
Mata, V., Provenzano, S., Cuadrado, J., Valero, F.: Inverse dynamic problem in robots using Gibbs-Appell equations. Robotica 20(1), 59–67 (2002). https://doi.org/10.1017/S0263574701003502
Miller, K.: Dynamics of the new uwa robot. In: Proc. 2001 Australian Conference on Robotics and Automation, Sydney, Australia, November 14–19 (2001)
Ojeda, J., Martínez-Reina, J., Mayo, J.: The effect of kinematic constraints in the inverse dynamics problem in biomechanics. Multibody Syst. Dyn. 37(3), 291–309 (2016). https://doi.org/10.1007/s11044-016-9508-9
Pang, H., Shahinpoor, M.: Inverse dynamics of a parallel manipulator. J. Field Robot. 11(8), 693–702 (1994). https://doi.org/10.1002/rob.4620110803
Pappalardo, C.M., Guida, D.: On the Lagrange multipliers of the intrinsic constraint equations of rigid multibody mechanical systems. Arch. Appl. Mech. 88(3), 419–451 (2018). https://doi.org/10.1007/s00419-017-1317-y
Raoofian, A., Kamali, A., Taghvaeipour, A.: Forward dynamic analysis of parallel robots using modified decoupled natural orthogonal complement method. Mech. Mach. Theory 115, 197–217 (2017). https://doi.org/10.1016/j.mechmachtheory.2017.05.002
Roth, B.: Screws, motors, and wrenches that cannot be bought in a hardware store. In: Robotics Research: The First International Symposium, vol. 8, pp. 679–693 (1984)
Staicu, S.: Recursive modelling in dynamics of agile wrist spherical parallel robot. Robot. Comput.-Integr. Manuf. 25(2), 409–416 (2009). https://doi.org/10.1016/j.rcim.2008.02.001
Staicu, S.: Matrix modeling of inverse dynamics of spatial and planar parallel robots. Multibody Syst. Dyn. 27(2), 239–265 (2012). https://doi.org/10.1007/s11044-011-9281-8
Staicu, S., Carp-Ciocardia, D.C.: Dynamic analysis of clavel’s delta parallel robot. In: 2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422), vol. 3, pp. 4116–4121 (2003). https://doi.org/10.1109/ROBOT.2003.1242230
Taghvaeipour, A., Angeles, J., Lessard, L.: Constraint-wrench analysis of robotic manipulators. Multibody Syst. Dyn. 29(2), 139–168 (2013). https://doi.org/10.1007/s11044-012-9318-7
Tian, Y., Takane, Y.: The inverse of any two-by-two nonsingular partitioned matrix and three matrix inverse completion problems. Comput. Math. Appl. 57(8), 1294–1304 (2009). https://doi.org/10.1016/j.camwa.2009.01.025
Wei, H.X., Wang, T.M., Liu, M., Xiao, J.Y.: Inverse dynamic modeling and analysis of a new caterpillar robotic mechanism by Kane’s method. Robotica 31(3), 493–501 (2013). https://doi.org/10.1017/S0263574712000483
Wu, G., Caro, S., Bai, S., Kepler, J.: Dynamic modeling and design optimization of a 3-dof spherical parallel manipulator. Robot. Auton. Syst. 62(10), 1377–1386 (2014). https://doi.org/10.1016/j.robot.2014.06.006
Yahyapour, I., Yazdani, M., Masouleh, M.T., Tabrizi, M.G.: Dynamic modeling and computed torque control of a 3-dof spherical parallel manipulator. In: 2014 Second RSI/ISM International Conference on Robotics and Mechatronics (ICRoM), pp. 280–285 (2014). https://doi.org/10.1109/ICRoM.2014.6990914
Yuan, W.H., Tsai, M.S.: A novel approach for forward dynamic analysis of 3-prs parallel manipulator with consideration of friction effect. Robot. Comput.-Integr. Manuf. 30(3), 315–325 (2014). https://doi.org/10.1016/j.rcim.2013.10.009
Zhao, Y., Gao, F.: Inverse dynamics of the 6-dof out-parallel manipulator by means of the principle of virtual work. Robotica 27(2), 259–268 (2009). https://doi.org/10.1017/S0263574708004657
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: Derivation of screw matrix for different types of kinematic pairs
Appendix: Derivation of screw matrix for different types of kinematic pairs
In this section, the screw matrices will be derived and evaluated for different types of kinematic pairs. The following screw matrices can also be found in [3, 30]; however, the following derivations can give bright insight about the unit screws of kinematic pairs and the development of the formulation proposed.
Revolute joint
Consider two rigid links, 1 and 2, are connected by means of a revolute joint 2, as depicted in Fig. 14. Links 1 and 2 can rotate with respect to each other about the axis of rotation with unit vector \(\mathbf{u}_{2}\). The point \(P\) is considered at the center of the joint on the axis of rotation. \(P_{1}\) and \(P_{2}\) has the same position as point \(P\) but are considered attached to the links 1 and 2, respectively. Writing Eq. (8) for the revolute joint will yield
in which \(\boldsymbol{\omega }_{i}\) is the angular velocity of link \(i\) and, \(\bar{\mathbf{v}}_{i}\) is the velocity of point \(P_{i}\); \(i=1,2\). Since points \(P_{1}\) and \(P_{2}\) have no relative motion, \(\bar{\mathbf{v}}_{2}-\bar{\mathbf{v}}_{1}=\mathbf{0}\). Moreover, \(\boldsymbol{\omega }_{2}-\boldsymbol{\omega }_{1}\) is the relative angular velocity of the links 1 and 2, namely \(\boldsymbol{\omega }_{\mathit{rel}}={\omega }_{\mathit{rel}}\mathbf{u}_{2}\), in which \({\omega }_{\mathit{rel}}\) is the magnitude of vector \(\boldsymbol{\omega } _{\mathit{rel}}\). Thus, Eq. (28) becomes
Regarding Eq. (9) and noting that \({\omega }_{\mathit{rel}} \neq 0\), it can be concluded that the unit screw of a revolute joint with the axis of rotation along unit vector \(\mathbf{u}\) is,
Prismatic joint
The rigid links 1 and 2, are now connected by means of a prismatic joint 2, as depicted in Fig. 15. Link 1 can slide along the axis \(U_{2}\) with the unit vector \(\mathbf{u}_{2}\). The point \(P\) is considered on the axis of sliding. \(P_{1}\) and \(P_{2}\) has the same position but attached to the links 1 and 2, respectively. Writing Eq. (28) for the prismatic joint results,
in which \(\boldsymbol{\omega }_{i}\) is the angular velocity of link \(i\) and, \(\bar{\mathbf{v}}_{i}\) is the velocity of point \(P_{i}\); \(i=1,2\). As links 1 and 2 do not have relative angular velocity, \(\boldsymbol{\omega }_{2}-\boldsymbol{\omega }_{1}=\mathbf{0}\). Moreover, \(\bar{\mathbf{v}}_{2}-\bar{\mathbf{v}}_{1}\) is the relative motion of the points \(P_{1}\) and \(P_{2}\), namely \(\bar{\mathbf{v}} _{\mathit{rel}}=\bar{v}_{\mathit{rel}}\mathbf{u}_{2}\), in which \(\bar{v}_{\mathit{rel}}\) is the magnitude of vector \(\bar{\mathbf{v}}_{\mathit{rel}}\). Thus,
Regarding Eq. (9) and noting that \(\bar{v}_{\mathit{rel}} \neq 0\), it can be concluded that the unit screw of a prismatic joint with the axis of sliding along the unit vector \(\mathbf{u}\) is
Helical joint
As it is depicted in Fig. 16, link 2 is attached to link 1 by a helical joint in which link 2 can rotate around the axis \(U_{2}\) while it moves linearly along the same axis. The point \(P\) is considered on the axis \(U_{2}\) and, \(P_{1}\) and \(P_{2}\) are attached to the links 1 and 2, respectively. Writing Eq. (28) for the helical joint will yield
The terms \(\boldsymbol{\omega }_{i}\) and \(\bar{\mathbf{v}}_{i}\) are defined as before. \(\boldsymbol{\omega }_{2}-\boldsymbol{\omega }_{1}\) is the relative angular velocity of the links 1 and 2, i.e. \(\boldsymbol{\omega }_{\mathit{rel}}={\omega }_{\mathit{rel}}\mathbf{u}_{2}\). Moreover, \(\bar{\mathbf{v}}_{2}-\bar{\mathbf{v}}_{1}\) is the relative motion of the points \(P_{1}\) and \(P_{2}\), namely \(\bar{\mathbf{v}}_{\mathit{rel}}= \bar{v}_{\mathit{rel}}\mathbf{u}_{2}\). Hence,
In a helical joint, the translational velocity of link 2 is proportional to its angular velocity, i.e.,
where \(p\) is called the joint’s pitch. Thus,
Regarding Eq. (9) and noting that \({\omega }_{\mathit{rel}} \neq 0\), it can be concluded that the unit screw for a helical joint with the axis of rotation along the unit vector \(\mathbf{u}\), and pitch \(p\), is:
Cylindrical joint
Regarding Fig. 17, link 2 is connected to link 1 by a cylindrical joint in which the link 2 can move along the axis \(U_{2}\) while it rotates freely about the same axis. \(P_{1}\) and \(P_{2}\) has the same position but attached to the links 1 and 2, respectively. Writing Eq. (28) for the cylindrical joint will result in
\(\boldsymbol{\omega }_{2}-\boldsymbol{\omega }_{1}\) is the relative angular velocity of the links 1 and 2, i.e. \(\boldsymbol{\omega } _{\mathit{rel}}={\omega }_{\mathit{rel}}\mathbf{u}_{2}\). Moreover, \(\bar{\mathbf{v}} _{2}-\bar{\mathbf{v}}_{1}\) is the relative motion of the points \(P_{1}\) and \(P_{2}\), namely \(\bar{\mathbf{v}}_{\mathit{rel}}=\bar{v}_{\mathit{rel}} \mathbf{u}_{2}\). Thus,
Equation (35) is of the form
In Eq. (36), if \(x\) and \(y\) are independent, non-zero variables, then it can be concluded that \(a=b=0\). Similarly in Eq. (35), \({\omega }_{\mathit{rel}}\) and \(\bar{v}_{\mathit{rel}}\) are non-zero and independent variables as the cylindrical joint is a 2-DOF kinematic pair. Hence, it can be concluded that coefficients in Eq. (35) are equal to zero. So,
Casting the above equations in matrix form yields
According to Eq. (11), it can be concluded that the screw matrix of a cylindrical joint with the axis of rotation and translation along the unit vector \(\mathbf{u}\) is
Spherical joint
Figure 18 shows a spherical joint connecting links 1 and 2. The point \(P\) is considered at the intersection of links’ axes. Writing Eq. (28) for the spherical joint will culminate in,
Since points \(P_{1}\) and \(P_{2}\) have no relative motion, \(\bar{ \mathbf{v}}_{2}-\bar{\mathbf{v}}_{1}=\mathbf{0}\). Moreover, \(\boldsymbol{\omega }_{2}-\boldsymbol{\omega }_{1}\) is the relative angular velocity of the links 1 and 2. As the spherical joint can rotate in every direction, \(\boldsymbol{\omega }_{\mathit{rel}}\) has components in three perpendicular directions, i.e.
where \(\mathbf{u}_{2}\) and \(\mathbf{e}_{2}\) are two arbitrary perpendicular unit vectors of the spherical joint as shown in Fig. 18. Also, \(\mathbf{q}_{2}=\mathbf{u}_{2} \times \mathbf{e}_{2}\). Moreover, \({}^{\mathbf{u}_{2}}{{\omega }}_{\mathit{rel}}\), \({}^{\mathbf{e}_{2}}{{\omega }}_{\mathit{rel}}\) and \({}^{\mathbf{q}_{2}}{{\omega }}_{\mathit{rel}}\) are the components of the relative angular velocity along the unit vectors \(\mathbf{u}_{2}\), \(\mathbf{e}_{2}\) and \(\mathbf{q}_{2}\), respectively. Thus,
\({}^{\mathbf{u}_{2}}{{\omega }}_{\mathit{rel}}\), \({}^{\mathbf{e}_{2}}{{\omega }}_{\mathit{rel}}\) and \({}^{\mathbf{q}_{2}}{{\omega }}_{\mathit{rel}}\) are completely independent as the spherical joint is a 3-DOF kinematic pair. Also, \({}^{\mathbf{u}_{2}}{{\omega }}_{\mathit{rel}}\), \({}^{\mathbf{e}_{2}}{{\omega }}_{\mathit{rel}}\), \({}^{\mathbf{q}_{2}}{{\omega }}_{\mathit{rel}}\neq 0\). Similar to what argued for the cylindrical joint, it can be concluded that coefficients in Eq. (38) are equal to zero. Thus,
By comparing Eqs. (11) and (39), it can be concluded that the screw matrix of a spherical joint with two arbitrary perpendicular axes along the unit vectors \(\mathbf{u}\) and \(\mathbf{e}\) is,
where \(\mathbf{q}=\mathbf{u}\times \mathbf{e}\).
Planar joint
A planar joint is shown in Fig. 19. The point \(P\) is considered on the intersection of two arbitrary axes, i.e. \(U_{2}\) and \(E_{2}\), on the plane of contact. Equation (28) for a planar joint will be of the following form:
\(\bar{\mathbf{v}}_{2}-\bar{\mathbf{v}}_{1}\) is the relative motion of the points \(P_{1}\) and \(P_{2}\), which is in the two-dimensional space. So, \(\bar{\mathbf{v}}_{\mathit{rel}}\) has components in two perpendicular axes which both are in the plane of contact. The unit vectors of these arbitrary axes are shown in Fig. 19 by \(\mathbf{u} _{2}\) and \(\mathbf{e}_{2}\). Moreover, \(\boldsymbol{\omega }_{2}- \boldsymbol{\omega }_{1}\) is the relative angular velocity of the links 1 and 2 which is about the axis perpendicular to the plane of contact, namely, it is directed along \(\mathbf{q}_{2}=\mathbf{u}_{2} \times \mathbf{e}_{2}\). Thus,
where \({}^{{\mathbf{u}_{2}}}{\bar{{v}}_{\mathit{rel}}}\) and \({}^{{\mathbf{e}_{2}}}{\bar{{v}}_{\mathit{rel}}}\) are the components of the relative translational velocity along unit vectors \(\mathbf{u} _{2}\) and \(\mathbf{e}_{2}\), respectively. So,
\({}^{{\mathbf{u}_{2}}}{\bar{{v}}_{\mathit{rel}}}\), \({}^{{\mathbf{e}_{2}}}{\bar{{v}}_{\mathit{rel}}}\) and \({\omega }_{\mathit{rel}}\) are independent as the planar joint is a 3-DOF kinematic pair. Also, \({}^{{\mathbf{u}_{2}}}{\bar{{v}}_{\mathit{rel}}}\), \({}^{{\mathbf{e}_{2}}}{\bar{{v}}_{\mathit{rel}}}\), \({\omega }_{\mathit{rel}} \neq 0\). Thus, it can be concluded that coefficients in Eq. (41) are equal to zero, namely,
By comparing Eqs. (11) and (42), it can be concluded that the screw matrix of a planar joint with two arbitrary perpendicular unit vectors \(\mathbf{u}\) and \(\mathbf{e}\) in its plane is
where \(\mathbf{q}=\mathbf{u}\times \mathbf{e}\).
Universal joint
A universal joint is shown in Fig. 20. The links 1 and 2 can rotate about the axes \(U_{2}\) and \(E_{2}\). The point \(P\) is considered at the intersection point of the two axes. Writing Eq. (28) for the universal joint will yield,
Since points \(P_{1}\) and \(P_{2}\) have no relative motion, \(\bar{ \mathbf{v}}_{2}-\bar{\mathbf{v}}_{1}=\mathbf{0}\). Moreover, \(\boldsymbol{\omega }_{2}-\boldsymbol{\omega }_{1}\) is the relative angular velocity of the links 1 and 2 which can occur about both axes \(U_{2}\) and \(E_{2}\). So, \(\boldsymbol{\omega }_{\mathit{rel}}\) has components along two perpendicular unit vectors \(\mathbf{u}_{2}\) and \(\mathbf{e}_{2}\). Thus,
where \({}^{{\mathbf{u}_{2}}}{{\omega }_{\mathit{rel}}}\) and \({}^{{\mathbf{e}_{2}}}{{\omega }_{\mathit{rel}}}\) are the components of the relative angular velocity of links 1 and 2 along the unit vectors \(\mathbf{u}_{2}\) and \(\mathbf{e}_{2}\), respectively. Accordingly,
\({}^{{\mathbf{u}_{2}}}{{\omega }_{\mathit{rel}}}\) and \({}^{{\mathbf{e}_{2}}}{{\omega }_{\mathit{rel}}}\) are independent variables as the universal joint is a 2-DOF kinematic pair. Also, \({}^{{\mathbf{u}_{2}}}{{\omega }_{\mathit{rel}}}\), \({}^{{\mathbf{e}_{2}}}{{\omega }_{\mathit{rel}}}\neq 0\). Similar to the preceding parts, it can be concluded that
By comparing Eqs. (11) and (45), it can be concluded that the screw matrix of a universal joint with the axes of rotation along the unit vectors \(\mathbf{u}\) and \(\mathbf{e}\) is
Rights and permissions
About this article
Cite this article
Ghaedrahmati, R., Raoofian, A., Kamali E., A. et al. An enhanced inverse dynamic and joint force analysis of multibody systems using constraint matrices. Multibody Syst Dyn 46, 329–353 (2019). https://doi.org/10.1007/s11044-019-09674-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-019-09674-4