Abstract
This paper presents an improved general dynamic formulation, inverse and direct dynamics, of 6-UPS Gough–Stewart parallel robot based on the virtual work method. The new formulation offers a reduction in the computational time and improves accuracy of the dynamics equations. This method allows elimination of constraint forces/moments at the passive joints from equations of motion. Since, the dynamic formulations are derived in joint space, the concept of direct link Jacobian matrices are employed to obtain all rigid bodies’ twists. The direct link Jacobian matrices convert the twist of the rigid bodies to actuated joints velocities. Moreover, more accurate formulation is obtained by considering the angular velocity and acceleration vectors of the robot’s legs. In the process of solving the direct dynamics problem, a modified hybrid strategy is employed to obtain the near-exact solution for the direct kinematics problem (DKP). The modified hybrid strategy combines the artificial neural network and the third-order Newton–Raphson method. This strategy satisfies both goals to find the nearest exact solution and reduces execution time for the DKP. Next, two numerical examples are presented and the results are verified using a commercial dynamics modeling software. Finally, for comparison, Euler–Lagrange formulation is also obtained. Results indicates that the proposed dynamics formulation offers a significant improvement in both accuracy and execution time.
Similar content being viewed by others
Abbreviations
- \(\hbox {B}\left\{ {x,y,z} \right\} \) :
-
Fixed coordinate frame which is attached to center of fixed platform
- \(\hbox {T}\left\{ {u,v,w} \right\} \) :
-
Moving coordinate frame which is attached to center of moving platform, P
- \(\left\{ {{\mathcal {F}}i} \right\} \) :
-
Local coordinate frames which is attached to ith cylinder at ith passive U-joint
- \(\alpha _i \) :
-
A constant value denotes the angle of vector of \({ }^\mathrm{B} \mathbf{a}_i \), about x-axis of frame \(\left\{ \mathrm{B} \right\} \)
- \(\gamma _i \) :
-
Rotation angle of ith passive U-joint about y-axis of local frame \(\left\{ {\mathrm{B}_i } \right\} \)
- \(\psi _i \) :
-
Rotation angle of ith passive U-joint about x-axis of local frame \(\left\{ {\mathrm{T}_\mathrm{i} } \right\} \)
- \({ }_{\mathrm{T}}^{\mathrm{B}} \mathbf{R}\) :
-
Rotation matrix to transfer a vector defined in \(\left\{ {\mathrm{T}} \right\} \) to \(\left\{ {\mathrm{B}} \right\} \)
- \({ }_{{\mathcal {F}}i}^{\mathrm{B}} \mathbf{R}\) :
-
Rotation matrix to transfer a vector defined in \(\left\{ {{\mathcal {F}}i} \right\} \) to \(\left\{ \mathrm{B} \right\} \) for ith U-joint
- \({ }^\tau \varvec{\vartheta }\) :
-
Arbitrary \({{\varvec{\vartheta }}}\) vector that is defined in arbitrary coordinate frame \(\{{\tau }\}\)
- \({a}_1, \ldots , {a}_6 \) :
-
Distance between the center of fixed platform and passive U-joints
- \({b}_1, \ldots , {b}_6 \) :
-
Distance between the center of moving platform and passive S-joints
- \({q}_1^{\mathrm{ac}}, \ldots , {q}_6^{\mathrm{ac}}\) :
-
Translational variables for the actuated prismatic joint
- \({x}_{\mathrm{P}}, {y}_{\mathrm{P}}, {z}_{\mathrm{P}}\) :
-
Translational variables of the tool tip, point P
- \({\theta }, \varphi , \lambda \) :
-
The Euler angles about the x-, y- and z-axes of moving platform
- \({e}_1 \) :
-
Center of gravity for cylindrical part of the actuated prismatic joints
- \({e}_2 \) :
-
Center of gravity for position of the actuated prismatic joints
- \(\mathbf{a}_i \) :
-
Position vector located on ith passive U-joint in frame \(\left\{ \mathrm{B} \right\} \)
- \(\mathbf{b}_i \) :
-
Position vector connecting the end-effector to the ith passive S-joint, \(\mathrm{S}_i \)
- \(\mathbf{q}_i^{\mathrm{ac}} \) :
-
Position vector which specifies length of ith actuated prismatic joint
- \(\mathbf{p}\) :
-
Position vector of the tool tip, point P
- \(\hat{\mathbf{q}}_i^{\mathrm{ac}} \) :
-
Unit vector along ith actuated link
- \(\mathbf{r}_{1i}, \mathbf{r}_{2i}\) :
-
Position vectors located on the center of gravity of ith actuator’s cylinder and piston
- \({\dot{\mathrm{q}}_{1}^{\mathrm{ac}},\ldots ,\dot{\mathrm{q}}_{6}^{\mathrm{ac}}}\) :
-
Values of prismatic actuated joints rate
- \(\dot{\mathrm{x}}_{\mathrm{P}}, \dot{\mathrm{y}}_{\mathrm{P}}, \dot{\mathrm{z}}_{\mathrm{P}}\) :
-
Values of Cartesian velocities of the tool tip
- \(\omega _x, \omega _y, \omega _z \) :
-
Values of angular velocities of the moving platform
- \(\dot{\mathrm{x}}_{\mathrm{S}i}, \dot{\mathrm{y}}_{\mathrm{S}i}, \dot{\mathrm{z}}_{\mathrm{S}i}\) :
-
Values for velocities of the ith passive S-joint, \(\hbox {S}_i\)
- \({\ddot{\mathrm{q}}_{1}^{\mathrm{ac}},\ldots ,\ddot{\mathrm{q}}_{6}^{\mathrm{ac}}}\) :
-
Values of prismatic actuated joints acceleration
- \(\ddot{\mathrm{x}}_{\mathrm{P}}, \ddot{\mathrm{y}}_{\mathrm{P}}, \ddot{\mathrm{z}}_{\mathrm{P}}\) :
-
Values of Cartesian accelerations of the tool tip
- \(\dot{\upomega }_x, \dot{\upomega }_y, \dot{\upomega }_z\) :
-
Values of angular accelerations of the moving platform
- \(\ddot{\mathrm{x}}_{\mathrm{S}i}, \ddot{\mathrm{y}}_{\mathrm{S}i}, \ddot{\mathrm{z}}_{\mathrm{S}i}\) :
-
Values for accelerations of the ith passive S-joint, \(\hbox {S}_i \)
- \(\dot{\mathbf{q}}^{\mathrm{ac}}\) :
-
Vector of the prismatic actuated joint rates, \(\{\dot{\mathrm{q}}_{1}^{\mathrm{ac}}\quad \ldots \quad \dot{\mathrm{q}}_{6}^{\mathrm{ac}}\}^{\mathrm{T}}\)
- \({\varvec{v}}_{\mathrm{P}} \) :
-
Cartesian velocity vector for the tip, \(\{{v_{\mathrm{P}x} }\quad {v_{\mathrm{P}y} }\quad {v_{\mathrm{P}z}}\}^{\mathrm{T}} =\left\{ \dot{\mathrm{x}}_{\mathrm{P}}, \quad \dot{\mathrm{y}}_{\mathrm{P}}, \quad \dot{\mathrm{z}}_{\mathrm{P}}\right\} ^{\mathrm{T}}\)
- \(\varvec{\upomega }_{\mathrm{MP}}\) :
-
Angular velocity vector of the moving platform, \(\{{\omega _x }\quad {\omega _y }\quad {\omega _z }\}^{\mathrm{T}}\)
- \({\varvec{v}}_{\mathrm{S}i} \) :
-
Velocity vector of the ith spherical joint, \(\{\dot{\mathrm{x}}_{\mathrm{S}_{i}}, \quad \dot{\mathrm{y}}_{\mathrm{S}_{i}}, \quad \dot{\mathrm{z}}_{\mathrm{S}_{i}}\}^{\mathrm{T}}\)
- \(\varvec{\upomega }_{\mathrm{Leg},i} \) :
-
Angular velocity of the ith actuated link
- \({\varvec{v}}_{\mathrm{C.G.1}\, i}\) :
-
Cartesian velocity of the mass center of ith actuator’s cylinder
- \({\varvec{v}}_{\mathrm{C.G.2}\, i} \) :
-
Cartesian velocity of the mass center of ith actuator’s piston
- \({\ddot{\mathbf{q}}^{\mathrm{ac}}}\) :
-
Vector of the prismatic actuated joint accelerations, \(\{{\ddot{\mathrm{q}}_{1}^{\mathrm{ac}},\ldots ,\ddot{\mathrm{q}}_{6}^{\mathrm{ac}}}\}^{\mathrm{T}}\)
- \(\dot{{\varvec{v}}}_{\mathrm{P}}\) :
-
Cartesian acceleration vector for the tip, \(\{{\dot{v}_{\mathrm{P}x} } {\dot{v}_{\mathrm{P}y} } {\dot{v}_{\mathrm{P}z}}\}^{\mathrm{T}} =\left\{ \ddot{\mathrm{x}}_{\mathrm{P}}, \ddot{\mathrm{y}}_{\mathrm{P}}, \ddot{\mathrm{z}}_{\mathrm{P}}\right\} ^{\mathrm{T}}\)
- \({\dot{{\varvec{\upomega }}}_{\mathrm{MP}}}\) :
-
Angular acceleration vector of the moving platform, \(\{\dot{\upomega _x }\quad {\dot{\upomega }_y }\quad {\dot{\upomega }_z }\}^{\mathrm{T}}\)
- \(\dot{{\varvec{v}}}_{\mathrm{S}i}\) :
-
Acceleration vector of the ith spherical joint, \(\{\ddot{\mathrm{x}}_{\mathrm{S}_{i}}, \quad \ddot{\mathrm{y}}_{\mathrm{S}_{i}}, \quad \ddot{\mathrm{z}}_{\mathrm{S}_{i}}\}^{\mathrm{T}}\)
- \({\dot{\varvec{\upomega }}_{\mathrm{Leg},i}}\) :
-
Angular acceleration of the ith actuated link
- \({\dot{\varvec{v}}}_{\mathrm{C.G.1} \,i}\) :
-
Cartesian acceleration of the mass center of ith actuator’s cylinder
- \({\dot{\varvec{v}}}_{\mathrm{C.G.2}\, i}\) :
-
Cartesian acceleration of the mass center of ith actuator’s piston
- \(\dot{\mathbf{t}}_{\mathrm{MP}} \) :
-
Twist vector of the moving platform, \(\{{{\varvec{v}}_\mathrm{P}^\mathrm{T} }\quad {\varvec{\upomega }_{\mathrm{MP}}^\mathrm{T} }\}^{\mathrm{T}}\)
- \({ }^{{\mathcal {F}}i} \mathbf{t}_{\mathrm{cyl},i} \) :
-
Twist vector of ith actuator’s cylinder
- \({ }^{{\mathcal {F}}i} \mathbf{t}_{\mathrm{pis},i} \) :
-
Twist vector of ith actuator’s piston
- \({\dot{\mathbf{t}}}_{\mathrm{MP}}\) :
-
Vector of the moving platform acceleration, \(\{{\dot{\varvec{v}}_\mathrm{P}^\mathrm{T} }\quad {\dot{\varvec{\upomega }}_{\mathrm{MP}}^\mathrm{T} }\}^{\mathrm{T}}\)
- \({ }^{{\mathcal {F}}i} {\dot{\mathbf{t}}}_{\mathrm{cyl},i}\) :
-
Acceleration vector of ith actuator’s cylinder, \(\left\{ {{ }^{{\mathcal {F}}i} {\dot{\varvec{v}}}_{\mathrm{C.G.1} i}^{\mathrm{T}}}\quad { }^{{\mathcal {F}}i}{{\dot{\varvec{\upomega }}}}_{\mathrm{Leg},i}^{\mathrm{T}}\right\} ^{\mathrm{T}}\) in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \({ }^{{\mathcal {F}}i} {\dot{\mathbf{t}}}_{\mathrm{psi},i}\) :
-
Acceleration vector of ith actuator’s piston, \(\{ {{ }^{{\mathcal {F}}i} \dot{{\varvec{v}}}_{\mathrm{C.G.2} i}^{\mathrm{T}}}\quad { }^{{\mathcal {F}}i}{{\dot{\varvec{\upomega }}}}_{\mathrm{Leg},i}^{\mathrm{T}}\}^{\mathrm{T}}\) in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \(\mathbf{J}_{\mathrm{MP}i} \) :
-
A \(3\times 6\) matrix which maps \(\mathbf{t}_{\mathrm{MP}} \) to velocity of the ith spherical joint, \({\varvec{v}}_{\mathrm{S}i} \)
- \(\mathbf{J}_{\mathrm{MP}} \) :
-
Inverse Jacobian matrix \(\left( {6\times 6 \mathrm{matrix}} \right) \) which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({\dot{\mathbf{q}}^{\mathrm{ac}}}\)
- \(\mathbf{J}_{\omega i} \) :
-
A \(3\times 6\) matrix which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({ }^{{\mathcal {F}}i} \varvec{\upomega }_{\mathrm{Leg},i}\)
- \(\mathbf{J}_{v1, i} \) :
-
A \(3\times 6\) matrix which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({ }^{{\mathcal {F}}i} {\varvec{v}}_{\mathrm{C.G.1} i} \)
- \(\mathbf{J}_{v2, i} \) :
-
A \(3\times 6\) matrix which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({ }^{{\mathcal {F}}i} {\varvec{v}}_{\mathrm{C.G.2} i} \)
- \(\mathbf{J}_{\mathrm{inv, cyl},i} \) :
-
Inverse ith link Jacobian matrix \(( 6\times 6 \mathrm{matrix} )\) which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({ }^{{\mathcal {F}}i} \mathbf{t}_{\mathrm{cyl},i} \)
- \(\mathbf{J}_{\mathrm{inv, pis},i} \) :
-
Inverse ith link Jacobian matrix \(( 6\times 6 \mathrm{matrix} )\) which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({ }^{{\mathcal {F}}i} \mathbf{t}_{\mathrm{pis},i} \)
- \(\mathbf{J}_{\mathrm{dir, cyl},i}\) :
-
Direct ith link Jacobian matrix \(( 6\times 6~\mathrm{matrix} )\) which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({\dot{\mathbf{q}}^{\mathrm{ac}}}\)
- \(\mathbf{J}_{\mathrm{dir, pis},i} \) :
-
Direct ith link Jacobian matrix \(( 6\times 6~\mathrm{matrix} )\) which maps \(\mathbf{t}_{\mathrm{MP}} \) to \({\dot{\mathbf{q}}^{\mathrm{ac}}}\)
- \(\mathbf{w}_{\mathrm{ext}} \) :
-
Applied external wrench exerted to end-effector define in \(\left\{ \mathrm{B} \right\} \)
- \(\mathbf{f}^{\mathrm{ac}}\) :
-
Actuated joints forces
- \(\mathbf{w}_{\mathrm{MP}} \) :
-
Resultant wrench due to external wrench and inertia of the moving platform
- \({ }^{{\mathcal {F}}i} \mathbf{w}_{\mathrm{cyl},i} \) :
-
Resultant wrench due to inertia of ith actuator’s cylinder defined in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \({ }^{{\mathcal {F}}i} \mathbf{w}_{\mathrm{pis},i} \) :
-
Resultant wrench due to inertia of ith actuator’s piston defined in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \({\updelta \mathbf{q}}^{\mathrm{ac}}\) :
-
Virtual translational vector of actuated joints
- \({\updelta \mathbf{t}}_{\mathrm{MP}} \) :
-
Virtual twist vector of the moving platform
- \({\updelta }^{{\mathcal {F}}i} \mathbf{t}_{\mathrm{cyl},i} \) :
-
Virtual twist vector of ith actuator’s cylinder defined in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \(\updelta ^{{\mathcal {F}}i} \mathbf{t}_{\mathrm{pis},i} \) :
-
Virtual twist vector of ith actuator’s piston defined in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \({m}_{\mathrm{MP}} \) :
-
Mass of the moving platform
- \({m}_{\mathrm{cyl},i} \) :
-
Mass of the ith actuator’s cylinder
- \({m}_{\mathrm{pis},i} \) :
-
Mass of the ith actuator’s piston
- \(\mathbf{g}\) :
-
Gravitational acceleration vector defined in \(\left\{ \mathrm{B} \right\} ,\, \mathbf{g}=\left\{ 0\quad 0\quad 9.81 \right\} ^{\mathrm{T}}\)
- \({ }^\mathrm{B} \mathbf{I}_{\mathrm{MP}} \) :
-
Inertia matrix of the moving platform with respect to the base frame, \(\left\{ \mathrm{B}\right\} \)
- \({ }^{{\mathcal {F}}i} \mathbf{I}_{\mathrm{cyl},i} \) :
-
Inertia matrix of ith actuator’s cylinder defined in \(\left\{ {{\mathcal {F}}i} \right\} \)
- \({ }^{{\mathcal {F}}i} \mathbf{I}_{\mathrm{pis},i} \) :
-
Inertia matrix of ith actuator’s piston defined in \(\left\{ {{\mathcal {F}}i} \right\} \)
References
Kamali, K., Akbarzadeh, A.: A novel method for direct kinematics solution of fully parallel manipulators using basic regions theory. J. Syst. Control Eng. 225(5), 683–701 (2011)
Akbarzadeh, A., Enferadi, J.: A virtual work based algorithm for solving direct dynamics problem of a 3-RRP spherical parallel manipulator. J. Intell. Robot. Syst. 63, 25–49 (2011)
Akbarzadeh, A., Enferadi, J., Sharifnia, M.: Dynamics analysis of a 3-RRP spherical parallel manipulator using the natural orthogonal complement. Multibody Syst. Dyn. 29(4), 361–380 (2013)
Kordjazi, H., Akbarzadeh, A.: Inverse dynamics of a 3-prismatic–revolute–revolute planar parallel manipulator using natural orthogonal complement. Proc. Inst. Mech. Eng. Part I J. Syst. Control Eng. 225(3), 258–269 (2011)
Pedrammehr, S., Mahboubkhah, M., Khani, N.: Improved dynamic equations for the generally configured Stewart platform manipulator. J. Mech. Sci. Technol. 26(3), 711–721 (2012)
Do, W.Q.D., Yang, D.C.H.: Inverse dynamic analysis and simulation of a platform type of robot. J. Robot. Syst. 5(3), 209–227 (1998)
Dasgupta, B., Mruthyunjaya, T.S.: A Newton–Euler formulation for the inverse dynamics of Stewart platform manipulator. Mech. Mach. Theory 33(8), 1135–1152 (1998)
Dasgupta, B., Mruthyunjaya, T.S.: Closed-form dynamic equations of the general Stewart platform through Newton–Euler approach. Mech. Mach. Theory 33(7), 993–1012 (1998)
Fu, S., Yao, Y., Wu, Y.: Comments on “A Newton–Euler formulation for the inverse dynamics of the Stewart platform manipulator”. Mech. Mach. Theory 42, 1668–1671 (2007)
Geng, Z., Haynes, L.S., Lee, J.D., Carroll, R.L.: On the dynamic model and kinematic analysis of a class of Stewart platforms. Robot. Auton. Syst. 9(4), 237–254 (1992)
Lebret, G., Liu, K., Lewis, F.L.: Dynamic analysis and control of a Stewart platform manipulator. J. Robot. Syst. 10(5), 629–655 (1993)
Ting, Y., Chen, Y.S., Jar, H.C.: Modeling and control for a Gough–Stewart platform CNC machine. J. Robot. Syst. 21(11), 609–623 (2004)
Wang, W., Yang, H.Y., Zou, J., Ruan, X.D., Fu, X.: Optimal design of Stewart platforms based on expanding the control bandwidth while considering the hydraulic system design. J. Zhejiang Univ. Sci. A 10(1), 22–30 (2009)
Guo, H.B., Li, H.R.: Dynamic analysis and simulation of a six degree of freedom Stewart platform manipulator. Proc. Inst. Mech. Eng. Part C J. Mech. Eng. Sci. 220, 61–72 (2006)
Tsai, L.W.: Solving the inverse dynamics of Stewart–Gough manipulator by the principle of virtual work. J. Mech. Des. 122, 3–9 (2000)
Abedinnasab, M.H., Vossoughi, G.R.: Analysis of a 6-DOF redundantly actuated 4-legged parallel mechanism. Nonlinear Dyn. 58(1–2), 611–622 (2009)
Liu, M.J., Li, C.X., Li, C.N.: Dynamics analysis of the Gough–Stewart platform manipulator. IEEE Trans. Robot. Autom. 16(1), 94–98 (2000)
Khalil, W., Guegan, S.: Inverse and direct dynamic modeling of Gough–Stewart robots. IEEE Trans. Robot. Autom. 20(4), 754–762 (2004)
Huang, X., Liao, Q., Wei, Sh: Closed-form forward kinematics for a symmetrical 6–6 Stewart platform using algebraic elimination. Mech. Mach. Theory 45(2), 327–334 (2010)
Lee, T.Y., Shim, J.K.: Forward kinematics of the general 6–6 Stewart platform using algebraic elimination. Mech. Mach. Theory 36(9), 1073–1085 (2001)
Husty, M.L.: An algorithm for solving the direct kinematics of general Stewart–Gough platforms. Mech. Mach. Theory 31(4), 365–379 (1996)
Rolland, L.: Synthesis of the forward kinematics problem algebraic modeling for the general parallel manipulator: displacement-based equations. Adv. Robot. 21(9), 1071–1092 (2007)
Rolland, L.: Certified solving of the forward kinematics problem with an exact algebraic method for the general parallel manipulator. Adv. Robot. 19(9), 995–1025 (2005)
Nanua, P., Waldron, K.J., Murthy, V.: Direct kinematic solution of a Stewart platform. IEEE Trans. Robot. Autom. 6(4), 438–443 (1990)
Innocenti, C., Parenti-Castelli, V.: Direct position analysis of the Stewart platform mechanism. Mech. Mach. Theory 25(6), 611–621 (1990)
Dasgupta, B., Mruthyunjay, T.S.: The Stewart platform manipulator: a review. Mech. Mach. Theory 35, 15–40 (2000)
Innocenti, C.: Forward kinematics in polynomial form of the general Stewart platform. Trans. ASME J. Mech. Des. 123, 254–260 (2001)
Ku, D.M.: Direct displacement analysis of a Stewart platform mechanism. Mech. Mach. Theory 34, 453–465 (1999)
Liu, K., Fitzgerzld, J.M., Lewis, F.L.: Kinematic analysis of a Stewart platform manipulator. IEEE Trans. Ind. Electron. 40(2), 282–293 (1993)
Parikh, P., Lam, S.: A hybrid strategy to solve the forward kinematics problem in parallel manipulators. IEEE Trans. Robot. 21(1), 18–25 (2005)
Darvishi, M.T., Barati, A.: A third-order Newton-type method to solve systems of nonlinear equations. Appl. Math. Comput. 187(2), 630–635 (2007)
Kardan, I., Akbarzadeh, A.: An improved hybrid method for forward kinematics analysis of parallel robots. Adv. Robot. 29(6), 401–411 (2015)
McPhee, J., Shi, P., Piedbuf, J.C.: Dynamics of multibody systems using virtual work and symbolic programming. Math. Comput. Modell. Dyn. Syst. Methods Tools Appl. Eng. Relat. Sci. 8(2), 137–155 (2002)
Gallardo, J., Rico, J.M., Frisoli, A., Checcacci, D., Bergamasco, M.: Dynamics of parallel manipulators by means of screw theory. Mech. Mach. Theory 38, 1113–1131 (2003)
Xi, F., Sinatra, R.: Inverse dynamics of hexapods using the natural orthogonal complement method. J. Manuf. Syst. 21(2), 73–82 (2002)
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1
1.1 A1.1 Matrices for the moving platform velocity relations
The matrix \(\mathbf{J}_{\mathrm{MP}i} \) in Eq. (13) is given below
where
and matrix \(\mathbf{J}_{\mathrm{MP}} \) in Eq. (17) is given as follows
1.2 A1.2 Matrices for the velocity relations of the robot’s legs
The matrix \(\mathbf{J}_{{\omega i}} \) in Eq. (28) is given below
and matrices \(\mathbf{J}_{v1, i} \) and \(\mathbf{J}_{v2, i} \) in Eq. (31) are given below
1.3 A1.3 Matrices for the moving platform acceleration relations
The matrices in Eqs. (38) and (43) are given as follows
and
where \({ }^{{\mathcal {F}}i} m_{i\left( k \right) } \) is the kth element of vector \({ }^{{\mathcal {F}}i} \mathbf{m}_i \) and \({ }^{{\mathcal {F}}i} \mathbf{N}_{i\left( {k \times 1{-} 3} \right) } \) is the kth row of \({ }^{{\mathcal {F}}i} \mathbf{N}_i \).
1.4 A1.4 Matrices for the acceleration relations of the robot’s legs
The matrices in Eqs. (48) and (50) are given as follows
and
1.5 A1.5 Matrices for equations of motion
The matrices in Eq. (58) are given as follows
where
and matrices in Eq. (61) are given as follows
and
where
Appendix 2
To obtain the overall direct acceleration relation, Eq. (44), as a function of \({\ddot{\mathbf{q}}}^\mathrm{ac}\) and \({\dot{\mathbf{q}}}^\mathrm{ac}\), vectors \(\varvec{\upomega }_\mathrm{MP} \) and \(\mathbf{m}\) must be obtained as functions of \({\dot{\mathbf{q}}}^\mathrm{ac}\). Using Eq. (18), \(\varvec{\upomega }_{\mathrm{MP}} \) can be obtained as function of \({\ddot{\mathbf{q}}}^\mathrm{ac}\) as below
Therefore, using Eq. (88), we can write
where
By substituting Eqs. (89) into (79), vectors \(\mathbf{m}_i\) and \({}^{{\mathcal {F}}i} \mathbf{m}_i \) can be rewritten in terms of \({\dot{\mathbf{q}}}^\mathrm{ac}\) as follows
where \(\varvec{\upeta }_{{i}_{3\times 6}} =-\mathbf{b}_{{i}_{3\times 1}} \varvec{\upxi }_{1\times 6} \) and \({ }^{{\mathcal {F}}i} \varvec{\upeta }_{{i}_{3\times 6}} ={ }_{\mathrm{B}}^{{{\mathcal {F}}i}} \mathbf{R} \varvec{\upeta }_{{i}_{3\times 6}} \). Also, value of \({\varOmega }_i \), Eq. (41), can be derived as a function of \({\dot{\mathbf{q}}}^\mathrm{ac}\) using Eq. (33) as
where
Consequently, substituting Eqs. (91) and (92) into Eq. (80), vector \(\mathbf{m}\) is rewritten as a function of \({\dot{\mathbf{q}}}^\mathrm{ac}\) as follows
where vector \(\mathbf{m}\) is shown in “Appendix 1” and matrix \(\varvec{\Lambda }_{6\times 6} \) is obtained as below
Therefore, using Eq. (44), we can write
where matrix \(\mathbf{N}\) is shown in “Appendix 1.”
Appendix 3
1.1 A3.1 Obtaining the values of \(\ddot{\gamma }_{i}\) and \(\ddot{\psi }_{i}\)
As stated earlier, the cross product of both sides of Eq. (39) with unit vector \(^{{\mathcal {F}}i}\hat{\mathbf{q}}_i^\mathrm{ac} \) leads to obtain values of \({\ddot{\gamma }}_i\) and \(\ddot{\psi }_i\). This yields
where \(^{{{{\mathcal {F}}}{i}}} \hat{\mathbf{q}} _{{i}}^{{{\mathrm{ac}}}} \times \left( ^{{{{\mathcal {F}}}{i}}} {{\dot{{\varvec{\upomega }} }}}_{{{\mathrm{Leg}},{i}}} \times ^{{{{\mathcal {F}}}{i}}} \hat{\mathbf{q}}_{{i}}^{{{\mathrm{ac}}}} \right) = \left\{ {\begin{array}{lll} ^{{{{\mathcal {F}}}{i}}} {{\dot{{{\upomega }} }}}_{{{\mathrm{Leg}},{ix}}} &{} ^{{{{\mathcal {F}}}{i}}} {{\dot{{{\upomega }}}}}_{{{\mathrm{Leg}},{iy}}} &{} 0 \\ \end{array} } \right\} ^{{\mathrm{T}}} \). Using Eq. (28) yield
where \(\mathbf{J}_{{\omega }i \left( {m{-} n \times 1{-}6} \right) }\) is a matrix composed of mth to nth rows of matrix \(\mathbf{J}_{{\omega }i} \) and
Also, using Eq. (42) yield
Substituting Eqs. (47) and (98)–(100) into (97), as well as substituting values of \(\dot{\psi }_i\) and \({\dot{\gamma }_i}\) as functions of components of vector \(^{{\mathcal {F}}i} \varvec{\upomega }_{\mathrm{Leg},i}\) as shown in Eq. (22), yield
Therefore, by substituting Eqs. (101) into (47), vector \(^{{\mathcal {F}}i} {\dot{{\varvec{\upomega }}}_{\mathrm{Leg},i}}\), will be rewritten in terms of the end-effector acceleration and velocity vectors in compact form as shown in Eq. (48).
1.2 A3.2 Obtaining the matrices \({{J}}_{Cor, cyl,i} \) and \({{J}}_{Cor, pis,i}\)
To derive the overall acceleration vectors of each leg in terms of \({\ddot{\mathbf{q}}^{\mathrm{ac}}}\) and \({\dot{\mathbf{q}}^{\mathrm{ac}}}\), the vectors of \(\mathbf{m}_{{\omega }i}, \mathbf{m}_{v1, i} \) and \(\mathbf{m}_{v2, i} \) should be obtained as function of \({\dot{\mathbf{q}}^\mathrm{ac}}\). Similar to Eq. (92), we can write
where
By utilizing Eqs. (91), (92) and (102), the vectors \(\mathbf{m}_{{\omega }i},\mathbf{m}_{v1,i} \) and \(\mathbf{m}_{v2, i} \) from Eqs. (81) and (82) can be obtained as functions of \({\dot{\mathbf{q}}^{\mathrm{ac}}}\) as follows
where
Therefore, the overall direct link acceleration relations can be derived in terms of \({\ddot{\mathbf{q}}^{\mathrm{ac}}}\) and \({\dot{\mathbf{q}}}^\mathrm{ac}\) as shown Eq. (53) by substituting vectors \(\varvec{\upomega }_{\mathrm{MP}} \) and \(\mathbf{t}_{\mathrm{MP}} \) from Eq. (18) and vector \({\dot{\mathbf{t}}_\mathrm{MP}}\) from Eq. (45) as well as vectors \(\mathbf{m}_{{\omega }i} \), \(\mathbf{m}_{v1, i} \) and \(\mathbf{m}_{v2, i} \) from Eq. (104) into Eqs. (48) and (50). Consequently, matrices \(\mathbf{J}_{\mathrm{Cor}, \mathrm{cyl},\mathrm{i}} \) and \(\mathbf{J}_{\mathrm{Cor}, \mathrm{pis},\mathrm{i}} \) can be obtained as follows
Appendix 4
The angular velocity of the MP can be derived as function of three angular velocities contain derivatives of three Euler angles \({{\theta }},\, {{\upvarphi }}\) and \({{\lambda }}\), as follows
where and \(\hat{\mathbf{k}}\) are unit vectors along x-, y- and z-axes of the fixed coordinate frame \(\{\hbox {B}\}\) as well as \(\dot{\uptheta }\), \(\dot{\upvarphi }\) and \(\dot{\lambda }\) are the angular velocities about x-, \(y'\)- and \(z''\)-axes, respectively. Also, and \(\hat{\mathbf{k}}^{{\prime }{\prime }}\) are the unit vectors along rotated \(y'\)- and \(z''\)-axes, respectively (for more details see Fig. 12).
Therefore, Eqs. (107), (97) can be rewritten as matrix form as follows
Furthermore, by time differentiating of Eqs. (107) or (108), the angular acceleration of the MP can be obtained as below
where
Rights and permissions
About this article
Cite this article
Kalani, H., Rezaei, A. & Akbarzadeh, A. Improved general solution for the dynamic modeling of Gough–Stewart platform based on principle of virtual work. Nonlinear Dyn 83, 2393–2418 (2016). https://doi.org/10.1007/s11071-015-2489-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11071-015-2489-z