1 Introduction

Stiffness analysis of a mechanical structure is a significant area of focus in research nowadays. It refers to the impact of applied wrenches and external physical loads on the body of a mechanism, and how the structure reacts with respect to its accuracy and positioning errors (Pashkevich et al. 2011). In particular, industrial robots with serial, parallel, and hybrid kinematic architecture have become popular topics in many fields, such as manufacturing and machining tools, medical devices such as wrist and ankle rehabilitation devices (Martinez et al. 2013; Pehlivan et al. 2012), exoskeleton systems (Christensen and Bai 2018), haptic devices for teleoperation surgery (Saafi et al. 2013), and other applications. Parallel manipulators are intended to be used with more precision to enable a larger workspace, and to be strengthened compared to serial manipulators due to various advantages. On the other hand, closed-loop chains could be challenging in terms of kinematic modeling, stiffness analysis, and so on. Hence, this paper focuses on stiffness analysis of a three-degree-of-freedom parallel manipulator with spherical links (legs). To solve this problem, many studies have been conducted on a variety of methods to determine the stiffness modeling. We distinguish the most well-known methods in the literature, such as finite element analysis (FEA) (Taghaeipour et al. 2010; Piras et al. 2005; Klimchik et al. 2012; Azulay et al. 2014), virtual joint method (VJM) (Pashkevich et al. 2009; Klimchik et al. 2017), matrix structural analysis (MSA) (Deblaise et al. 2006; Nagai and Liu 2008), and weighted topological graph-based MSA (Li et al. 2017). The FEA method is based on the subdivision of a physical model of the robot structure into smaller particles (parts), which are formed by a meshing technique. The MSA approach is based on FEA but is more accurate and practical in the case of kinematics manipulators with a closed-loop chain due to the redundancy of the degrees of freedom and a complex and time-consuming numerical calculation. The VJM is the most simplistic and limited approach and is built on the extension of the main rigid body with virtual joints according to the elastic deformation of its links, joints, and actuators. Previous research (Taghvaeipour et al. 2012; Popov et al. 2019; Cammarata 2016) has implemented the aforementioned approaches to solve the structural stiffness problem. Stiffness modeling of different types of kinematic parallel manipulators (PKMs) has been studied extensively; however, little research has been conducted to investigate the spherical parallel manipulator (SPM). The general structure of an SPM is represented through the MSA technique for medical application, namely a rehabilitation instrument (Popov et al. 2019). SPM robots play an important role in medical applications, including rehabilitation devices and teleoperation instruments for surgery, due to the high precision that the mechanisms can offer, as well as their ability to perform complex motion and orientation in three-dimensional space. Recent contributions to the MSA technique include the work of Wu et al. (2014), who surveyed stiffness analysis modeling of different types of SPMs using the VJM approach. Further, Castigliano’s theorem is reported for calculating the limb deflection. Thus, this paper aims to delve into stiffness analysis modeling of a three-degree-of-freedom coaxial SPM which is dedicated to medical field application when applying the MSA technique, where one of the complicated constraints is to kinematically model the SPM’s structure due to its complex quadratic equation system. Hence, the MSA method is based on the obtained kinematics modeling. In addition, the force–deflection relationship is represented with regard to translation and orientation deflection, and a comparison study is carried out to validate the proposed approach. The rest of the paper is organized as follows: Section 2 presents a detailed kinematic analysis. Section 3 covers the stiffness modeling for the proposed computer-aided design (CAD) of the coaxial SPM. Section 4 presents the obtained results and discussion. Section 5 summarizes the main contributions. Finally, Sect. 6 is dedicated to a comparison study with VJM method.

2 Kinematic Analysis Modeling

Kinematic analysis is an important step in modeling robotics manipulators before CAD design. Parallel kinematic manipulators are more challenging to model than serial manipulators due to their closed-loop chains. A fundamental characteristic of a three-degree-of-freedom (DOF) SPM with revolute joints (R), as illustrated in Fig. 1, is the use of three identical kinematic chains with a curved linkage, and the links attach the mobile platform to the fixed platform. The center of rotation is located inside its kinematic structure as the gravity center which divides the robot structure into two symmetrical pyramids. Both platforms have the similar angles, \(v_{i}\), while the three links that link the base platform have identical angles, \(\alpha\). Furthermore, \(\gamma\) and \(\beta\) are the angles of the orientation of the lower and upper regular pyramids, respectively. The joints of the fixed platform are known as proximal joints, and their axes are labeled by the unit vector \(u_{i}\). The joints of the end effector are called the distal joints, its axis is a vector \(v_{i}\), and the last set of joints between the proximal and distal links are called the intermediate joints; \(w_{i}\) is a unit vector applied to refer to its axes. Regarding the structure of the manipulator, it is connected in such a way that the axes of all the rotating joints intersect at a common point, which represents the center of the manipulator. The other choice of the coordinate system when analyzing the structure of the SPM is the most important issue. For example, Gosselin et al. (1994) obtained a simple solution of the direct kinematics of the SPM by taking advantage of the isotropy of the mechanism configuration where the axes of the joints of the fixed platform coincide with the Cartesian coordinates. In this case, the end effector moves with the mobile platform, namely the coordinate system and the convention.

Fig. 1
figure 1

Kinematics description of the \(ith\) leg of the SPM

2.1 Coordinate System

The coordinate system is considered to adequately represent all motions in practice. Therefore, the 12 sets of Euler angles cannot be applied. A new and less familiar coordinate representation, called tilt and twist angle, is used to describe the orientation of the motions of the complicated mechanism. In Bonev and Ryu (2001), the accessible workspace of a six-DOF parallel manipulator is represented in terms of the modified Euler angles, and in Bonev et al. (2002), this method is applied for symmetric mechanisms. The rotation matrix of tilt and torsion can be expressed in Eq. (1):

$$\begin{aligned} R\left( \phi ,\theta ,\sigma \right) =\left[ \begin{matrix} c\phi c\theta c\left( \sigma -\phi \right) -s\phi s\left( \sigma -\phi \right) &{} -c\phi c\theta s\left( \sigma -\phi \right) s\phi c\left( \sigma -\phi \right) &{} c\phi c\theta \\ s\phi c\theta c\left( \sigma -\phi \right) -c\phi s\left( \sigma -\phi \right) &{} -s\phi c\theta c\left( \sigma -\phi \right) -c\phi s\left( \sigma -\phi \right) &{} s\phi s\theta \\ -s\phi c\left( \sigma -\phi \right) &{} s\phi s\left( \sigma -\phi \right) &{} c\theta \\ \end{matrix} \right] \end{aligned}$$
(1)

Based on the Denavit–Hartenberg convention (Niyetkaliyev and Shintemirov 2014), the mobile platform takes the form of a successive multiplication from the robot's fixed base to the end-effector platform represented in Eq. (2):

$$\begin{aligned} {{T}_{system}}=\prod \limits _{i=1}^{3}{{{T}_{BP}}.{{T}_{L1}}.{{T}_{L2}}.{{T}_{MP}}} \end{aligned}$$
(2)

where \(T_{Bp}\) and \(T_{Mp}\) stand for the transformation matrix of the base and moving platform, respectively, while \(T_{L1}\) and \(T_{L2}\) represent the transformation matrix of curved links (link 1 and link 2). The resulting matrix product \(T_{system}\) is related to a vector \(u_{i}\) that represents the orientation axis for the actuated joints, as given by Eq. (3):

$$\begin{aligned} {{u}_{i}}=\left[ \begin{matrix} -{{\sin }_{{{\eta }_{i}}}}.\sin \gamma \\ -{{\sin }_{{{\eta }_{i}}}}.\sin \gamma \\ \cos \gamma \\ \end{matrix} \right] \end{aligned}$$
(3)

\(\eta _{i}\) is formed at the base platform according to the symmetry of the upper and lower pyramids, thus it is denoted as in Eq. (4):

$$\begin{aligned} {{\eta }_{i}}=\frac{2\left( i-1 \right) \pi }{3} \end{aligned}$$
(4)

Furthermore, the unit vector \(w_{i}\) can be calculated in terms of \(u_{i}\), as described in Eq. (5):

$$\begin{aligned} {{w}_{i}}=\left[ \begin{matrix} -s{{\eta }_{i}}.s\gamma .c{{\alpha }_{1}}+\left( c{{\eta }_{i}}.s{{\theta }_{i}}-s{{\eta }_{i}}.c\gamma .c{{\theta }_{i}} \right) .s{{\alpha }_{1}} \\ -c{{\eta }_{i}}.s\gamma .c{{\alpha }_{1}}+\left( c{{\eta }_{i}}.s{{\theta }_{i}}-s{{\eta }_{i}}.c\gamma .c{{\theta }_{i}} \right) .s{{\alpha }_{1}} \\ -c\gamma .c{{\alpha }_{1}}+s\gamma .c{{\theta }_{i}}.s{{\alpha }_{1}} \\ \end{matrix} \right] \end{aligned}$$
(5)

where \(\theta _{i}\), (\(i=1,2,3\)) is the angle of the three actuated motors.

The unit vector of the axis of the distal link \(v_{i}\) is a function of the orientation of the moving platform; thus,

$$\begin{aligned} {{v}_{i}}={{T}_{system}}.v_{i}^{*} \end{aligned}$$
(6)

noting that the \({{T}_{system}}\) is the aforementioned rotation matrix, and \(v_{i}^{*}\) is the unit vector of the axis of the top link joints.

2.2 Inverse Kinematic Problem

The orientation and position of the moving platform (robot’s end-effector) are expressed using the inverse kinematic problem (IKP). In general, inverse kinematics is much easier to solve in the case of parallel kinematic manipulators. Most often, inverse kinematics in the case of PKMs is carried out on its geometry configuration and its structural features; likewise, the most known geometric approach is the vector method, which is a well-known method. Moreover, for a parallel robot with a spherically geometric structure, there are some geometric properties (all dimensions that characterize the architecture structure, namely, the mechanism’s height, proximal and distal link dimensions and curved angles, and the radius of the fixed and mobile platforms) that are different from the ordinary general SPM architecture. Under the selected coordinate system, the unit vector \(u_{i}\) as prescribed in Eq. (3), for the case of a closed-loop chain of the SPM, is given in Eq. (7):

$$\begin{aligned} {{w}_{i}}.{{v}_{i}}=\cos {{\alpha }_{2}} \end{aligned}$$
(7)

with (\(i=1,2,3\)). Equation (8) defines the relationship between the proximal and distal links:

$$\begin{aligned} A.{{x}_{i}}^{2}+2B.x_{i}+C=0 \end{aligned}$$
(8)

In order to solve the polynomial equations system that is developed using the angle tangent identities and which can be expressed by Eq. (9):

$$\begin{aligned} {\left\{ \begin{array}{ll} \cos {{\theta }_{i}}=\frac{1-{{t}_{i}^{2}}}{1+{{t}_{i}^{2}}} \\ \ \sin {{\theta }_{i}}=\frac{2t_{i}}{1+{{t}_{i}^{2}}} \\ \ {{t}_{i}}=\frac{{{\theta }_{i}}}{2} \\ \end{array}\right. } \end{aligned}$$
(9)

We get the quadratic form as reported in Eq. (10):

$$\begin{aligned} A.t_{{{\theta }_{i}}}^{2}+2B.{{t}_{{{\theta }_{i}}}}+C=0 \end{aligned}$$
(10)

with the coefficients presented in Eq. (11)

$$\begin{aligned} {\left\{ \begin{array}{ll} A=-{{v}_{iy}}.\sin {{\alpha }_{1}}-{{v}_{iz}}.\cos {{\alpha }_{1}}-\cos \\ B={{v}_{ix}}.\sin {{\alpha }_{1}} \\ C={{v}_{iy}}.\sin {{\alpha }_{1}}-{{v}_{iz}}.\cos {{\alpha }_{1}}-\cos {{\alpha }_{2}} \\ \end{array}\right. } \end{aligned}$$
(11)

where \(v_{ix}\), \(v_{iy}\), and\(v_{iz}\) are the components of the vector \(v_{i}\). In a more explicit form, we can write \(v_{i}\) as in Eq. (12):

$$\begin{aligned} {{v}_{i}}=\left[ {{v}_{1x}},{{v}_{1y}},{{v}_{1z}},{{v}_{2x}},{{v}_{2y}},{{v}_{2z}},{{v}_{3x}},{{v}_{3y}},{{v}_{3z}} \right] \end{aligned}$$
(12)

The inverse kinematics problem is presented as an easy-to-follow algorithm. It was first developed by Tursynbek and Shintemirov (2021). Equation (10) represents a system of quadratic equations, which require an analytical development (Gosselin and Lavoie 1993).

2.3 Workspace Analysis

Workspace analysis is one of the most important parts of studying the robot’s kinematics and allows one to represent all possible sets of points (volume) that the robot’s end effector can reach. More importantly, workspace modeling of a parallel kinematic manipulator such as our case of study (coaxial SPM and general structure SPM) can be used as an effective tool to optimize the considered robots by determining their singularity volume.

Basically, two main types of SPM structure are represented through the (\(ZYZ\)) axis, and since the workspace is essentially based on its developed inverse kinematics, real solutions express the reachable workspace, while unreal solutions demonstrate a singularity set of points. The graphical representation shows the workspace of both SPM structures, where Figs. 2 and  3 represent the general SPM architecture and the proposed coaxial SPM workspace, respectively. Both figures are divided into two main sections, where the green color refers to the reachable workspace area, whereas the red color section refers to the singularity volume area.

It can be noted that the singularity volume of the coaxial SPM is reduced compared to the general SPM structure. The Cartesian workspace shows a full three-dimensional (3D) set of points representing all possible points that the mobile platform can reach. The solutions of Eq. (10) are graphically represented in Figs. 2 and  3, which is a half sphere-like shape.

Fig. 2
figure 2

Cartesian workspace of general SPM

Fig. 3
figure 3

Cartesian workspace of coaxial SPM

2.4 Jacobian Matrix

We have established so far the mathematical modeling of both inverse and forward kinematics of the 3-RRR SPM. The focus of this section is to determine the mechanism’s Jacobian matrix. Basically, the Jacobian matrix can be derived from the relationship between the static forces of the robot’s manipulator and its velocities. The Jacobian matrix of the 3-RRR spherical coaxial parallel manipulator is represented in Eq. (13):

$$\begin{aligned} \dot{\theta }=J.\omega \end{aligned}$$
(13)

To emphasize, Eq. (13) refers to the angular velocity vector of the mobile platform, and is the Jacobian matrix that connects the actuated joints vector. In general, the Jacobian matrix of parallel kinematic manipulators can be derived from the differentiation of its inverse kinematics. Thus, differentiating both sides of Eq. (7), we get the following Eq. (14):

$$\begin{aligned} {{\dot{\omega }}_{i}}{{v}_{i}}+{{\omega }_{i}}{{\dot{v}}_{i}}=0 \end{aligned}$$
(14)

with

$$\begin{aligned} \left\{ \begin{matrix} {{{\dot{v}}}_{i}} =\omega {{v}_{i}} \\ {{{\dot{\omega }}}_{i}}=\dot{\theta }.{{u}_{i}} \\ \end{matrix} \right. \end{aligned}$$
(15)

As expressed in Gosselin and Lavoie (1993), the Jacobian matrix can be also defined as in Eq. (16):

$$\begin{aligned} J =-J_{2}^{-1}.{{J}_{1}} \end{aligned}$$
(16)

In a more simplified mathematical representation, we can describe the Jacobian matrix with Eq. (17):

$$\begin{aligned} {{J}_{1}}\omega +{{J}_{2}}\dot{\theta } =0 \end{aligned}$$
(17)

with

$$\begin{aligned} {{J}_{1}} = & {} \left[ \begin{matrix} {{\left( {{w}_{1}}\times {{v}_{1}} \right) }^{T}} \\ {{\left( {{w}_{2}}\times {{v}_{2}} \right) }^{T}} \\ {{\left( {{w}_{3}}\times {{v}_{3}} \right) }^{T}} \\ \end{matrix} \right] \end{aligned}$$
(18)
$$\begin{aligned} {{J}_{2}} = & {} diag\left( {{w}_{1}}\times {{u}_{1}}.{{v}_{1}},{{w}_{2}}\times {{u}_{2}}.{{v}_{2}},{{w}_{3}}\times {{u}_{3}}.{{v}_{3}} \right) \end{aligned}$$
(19)

3 Stiffness Analysis

Mechanical structures such as robotic applications and industrial mechanisms depend on external wrenches (force and moment). These applied forces can affect their kinematic and dynamic behavior, causing singular states within the robot’s workspace, making it difficult to control the robot. Thus, stiffness modeling plays an important role in the design of any mechanical structure. It allows engineers to achieve an optimal design for a predefined task. However, to conduct mechanical stiffness analysis, it is recommended to use an appropriate method that relies on a simple calculation, which provides an accurate and resilient method that can handle multiple cases (flexible or rigid body, active or passive joints, open or closed-loop chains) (Klimchik et al. 2019). For this reason, the MSA technique is derived to calculate the stiffness of a spherical parallel manipulator (SPM) with three degrees of freedom. In addition, the force–displacement relationship is established to demonstrate the physical meaning of the application of external forces to the studied mechanism. Thus, the translational and rotational displacements of the joints are represented in numerical and graphical results.

3.1 Compliance Matrix Formulation of a Curved Beam

Usually, to determine the stiffness matrix of a mechanical structure, we simply use the FEA method with numerical software (e.g., MATLAB\({\textcircled {R}}\), Ansys\({\textcircled {R}}\), Solidworks\({\textcircled {R}}\), etc.) which returns a ready-to-use system of equations of the studied mechanism. Its advantage is the known geometry of the robot’s links. On the other hand, parallel kinematic manipulators with curved linkages require different approximations. Therefore, to derive the stiffness model of each curved link, Euler–Bernoulli beam theory is derived. In this regard, Fig. 4 shows a curved beam element acted upon by external wrenches.

Fig. 4
figure 4

A curved beam element acted upon by external wrenches

In order to calculate the stiffness of the SPM limb, the compliance of a circular curved beam needs to be formulated. Figure 2 shows a cantilever with forces and moments applied onto the free end, and the compliance matrix is calculated using Euler–Bernoulli beam theory. The strain energy is expressed to complete this calculation.

$$\begin{aligned} U=\frac{R}{2}\int \limits _{0}^{\alpha }{\left[ \frac{{{\left( f_{1}^{'} \right) }^{2}}}{EA}+\frac{{{\left( f_{2}^{'} \right) }^{2}}}{GA}+\frac{{{\left( f_{3}^{'} \right) }^{2}}}{GA}+\frac{{{\left( m_{4}^{'} \right) }^{2}}}{G{{I}_{x}}}+\frac{{{\left( m_{5}^{'} \right) }^{2}}}{E{{I}_{y}}}+\frac{{{\left( m_{6}^{'} \right) }^{2}}}{E{{I}_{z}}} \right] }d\Phi \end{aligned}$$
(20)

The applied forces and moments can be presented as

$$\begin{aligned} \begin{aligned}&f_{1}^{'}={{f}_{1}}\cos \phi -{{f}_{2}}\sin \phi \\&f_{2}^{'}={{f}_{1}}\sin \phi +{{f}_{2}}\cos \phi \\&f_{3}^{'}={{f}_{3}} \\&m_{4}^{'}={{m}_{4}}\cos \phi -{{m}_{5}}\sin \phi -{{f}_{3}}R\left( 1-\cos \phi \right) \\&m_{5}^{'}={{m}_{4}}\sin \phi -{{m}_{5}}\cos \phi -{{f}_{3}}R\sin \phi \\&m_{6}^{'}={{m}_{6}}-{{f}_{1}}R\left( 1-\cos \phi \right) -{{f}_{2}}R\sin \phi \\ \end{aligned} \end{aligned}$$
(21)

Differentiating Eq. (20), we obtain the translational and rotational deflections based on Castigliano’s theorem (Hibbeler 2001):

$$\begin{aligned} \Delta {{u}_{1}}=\frac{\partial U}{\partial {{m}_{4}}},\Delta {{u}_{2}}=\frac{\partial U}{\partial {{m}_{5}}},\Delta {{u}_{3}}=\frac{\partial U}{\partial {{m}_{6}}},\Delta {{u}_{4}}=\frac{\partial U}{\partial {{f}_{1}}},\Delta {{u}_{5}}=\frac{\partial U}{\partial {{f}_{2}}},\Delta {{u}_{6}}=\frac{\partial U}{\partial {{f}_{3}}} \end{aligned}$$
(22)

Afterward, the relationship that links the displacements with the applied wrenches can be determined as

$$\begin{aligned} \left[ \begin{matrix} \Delta {{u}_{1}} \\ \Delta {{u}_{2}} \\ \Delta {{u}_{3}} \\ \Delta {{u}_{4}} \\ \Delta {{u}_{5}} \\ \Delta {{u}_{6}} \\ \end{matrix} \right] =\left[ \begin{matrix} {{C}_{11}} &{} {{C}_{12}} &{} 0 &{} 0 &{} 0 &{} {{C}_{16}} \\ {{C}_{12}} &{} {{C}_{22}} &{} 0 &{} 0 &{} 0 &{} {{C}_{26}} \\ 0 &{} 0 &{} {{C}_{33}} &{} {{C}_{34}} &{} {{C}_{35}} &{} 0 \\ 0 &{} 0 &{} {{C}_{34}} &{} {{C}_{44}} &{} {{C}_{45}} &{} 0 \\ 0 &{} 0 &{} {{C}_{35}} &{} {{C}_{45}} &{} {{C}_{55}} &{} 0 \\ {{C}_{16}} &{} {{C}_{26}} &{} 0 &{} 0 &{} 0 &{} {{C}_{66}} \\ \end{matrix} \right] \left[ \begin{matrix} {{m}_{4}} \\ {{m}_{5}} \\ {{m}_{6}} \\ {{f}_{1}} \\ {{f}_{2}} \\ {{f}_{3}} \\ \end{matrix} \right] \end{aligned}$$
(23)

The elements of matrix \(K_{L-1}^{\theta }\)are

$$\begin{aligned} {{C}_{11}}= & {} \frac{R}{2}\left( \frac{{{s}_{1}}}{G{{I}_{x}}}+\frac{{{s}_{2}}}{E{{I}_{y}}} \right) ,{{C}_{22}}=\frac{R}{2}\left( \frac{{{s}_{2}}}{G{{I}_{x}}}+\frac{{{s}_{1}}}{E{{I}_{y}}} \right) ; {{C}_{12}}=\frac{{{s}_{8}}R}{2}\left( \frac{1}{G{{I}_{x}}}-\frac{1}{E{{I}_{y}}} \right) \\ {{c}_{16}}= & {} \frac{{{R}^{2}}}{2}\left( \frac{{{s}_{2}}}{E{{I}_{y}}}-\frac{{{s}_{7}}}{E{{I}_{x}}} \right) ;{{c}_{26}}=\frac{{{R}^{2}}}{2}\left( \frac{{{s}_{4}}}{G{{I}_{y}}}-\frac{{{s}_{2}}}{E{{I}_{y}}} \right) ;{{c}_{33}}=\frac{R{{\alpha }_{L}}}{E{{I}_{z}}};{{c}_{33}}=\frac{{{s}_{5}}{{R}^{2}}}{E{{I}_{z}}} \\ {{c}_{35}}= & {} \frac{{{s}_{6}}{{R}^{2}}}{E{{I}_{z}}};{{c}_{44}}=\frac{R}{2A}\left( \frac{{{s}_{1}}}{E}+\frac{{{s}_{2}}}{G} \right) +\frac{{{s}_{3}}{{R}^{3}}}{2E{{I}_{z}}};{{c}_{45}}=\frac{{{s}_{8}}R}{2A}\left( \frac{1}{E}-\frac{1}{G} \right) +\frac{{{s}_{4}}{{R}^{3}}}{2E{{I}_{z}}} \\ {{c}_{55}}= & {} \frac{R}{2A}\left( \frac{{{s}_{1}}}{E}+\frac{{{s}_{2}}}{G} \right) +\frac{{{s}_{2}}{{R}^{3}}}{2E{{I}_{z}}};{{c}_{66}}=\frac{R{{\alpha }_{L}}}{GA}+\frac{{{R}^{3}}}{2}\left( \frac{{{s}_{3}}}{G{{I}_{x}}}+\frac{{{s}_{2}}}{E{{I}_{y}}} \right) \\ {{s}_{1}}= & {} {{\alpha }_{L}}+\sin {{\alpha }_{L}}\cdot \cos {{\alpha }_{L}} \\ {{s}_{2}}= & {} {{\alpha }_{L}}-\sin {{\alpha }_{L}}\cdot \cos {{\alpha }_{L}} \\ {{s}_{3}}= & {} 3\cdot {{\alpha }_{L}}+\sin {{\alpha }_{L}}\cdot \cos \frac{{{\alpha }_{L}}}{2}-4\sin {{\alpha }_{L}} \\ {{s}_{4}}= & {} 1-\cos {{\alpha }_{L}}-{{\sin }^{2}}\frac{{{\alpha }_{L}}}{2} \\ {{s}_{5}}= & {} \sin {{\alpha }_{L}}-{{\alpha }_{L}} \\ {{s}_{6}}= & {} \sin {{\alpha }_{L}}-{{\alpha }_{1}} \\ {{s}_{7}}= & {} 2\cdot \sin {{\alpha }_{L}}-{{\alpha }_{L}}-\sin {{\alpha }_{L}}\cdot \cos {{\alpha }_{L}} \\ {{s}_{8}}= & {} -\sin ^{2} {{\alpha }_{L}} \end{aligned}$$

Matrix A denotes the area of the cross section, E the Young’s modulus, \(G=\frac{E}{2}.(1+\nu )\)is the shear modulus with the Poisson ratio, and \({{{I}_{x}}}\),\({{{I}_{y}}}\), and \({{I}_{z}}\) are moments of inertia.

3.2 Matrix Structural Analysis (MSA)

The MSA technique is also known as the direct stiffness method (DSM) or the displacement method. It mainly consists in deriving complex structures in individual parts, concerning all possible properties, namely the rigid or flexible support of the mechanism, the rigid or flexible connections, and the passive or active joints. For this reason, MSA-based stiffness analysis provides an easy-to-understand method with step-by-step details. Firstly, we decompose the coaxial SPM into four main parts (fixed and mobile platforms, robot links, type of robot joints, and active or passive joints) as shown in Fig. 5. One of the many advantages that mechanism’s can offer is their symmetry, so we simply derive the MSA technique on a single leg of the kinematic manipulator.

Fig. 5
figure 5

Connections between the manipulator links and base

3.3 Modeling of Flexible Links

According to Fig. 5, the links 1–2 and 3–4 are presented as flexible links, and the links under the loading forces are described by

$$\begin{aligned} \left[ \begin{matrix} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{1,2}^{r} &{} -\lambda _{1,2}^{r} \\ {{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{5\times 6}} \\ \lambda _{1,2}^{e} &{} {{0}_{5\times 6}} &{} {{K}_{act}}\lambda _{1,2}^{e} &{} -{{K}_{act}}\lambda _{1,2}^{e} \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{1}} \\ {{W}_{2}} \\ \Delta {{t}_{1}} \\ \Delta {{t}_{2}} \\ \end{matrix} \right] =\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ \end{matrix} \right] \end{aligned}$$
(24)

where \(K_{11}\), \(K_{12}\), \(K_{21}\), and \(K_{22}\) stand for (6\(\times\)6) stiffness matrices, \(w_{i}\) and \(w_{j}\) are the applied wrenches, and \(\Delta _{i}\) and\(\Delta _{j}\) are the link deflections. In our case study, Eq. (24) can be given as

$$\begin{aligned} \left[ \begin{matrix} -{{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{2,3}^{11} &{} K_{2,3}^{12} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} \\ {{0}_{6\times 6}} &{} -{{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{2,3}^{12} &{} K_{2,3}^{22} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} \\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} -{{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{4,5}^{11} &{} K_{2,3}^{12} \\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} -{{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{4,5}^{12} &{} K_{4,5}^{22} \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{2}} \\ {{W}_{3}} \\ {{W}_{4}} \\ {{W}_{5}} \\ \Delta {{t}_{2}} \\ \Delta {{t}_{3}} \\ \Delta {{t}_{4}} \\ \Delta {{t}_{5}} \\ \end{matrix} \right] =\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ 0 \\ \end{matrix} \right] \end{aligned}$$
(25)

3.4 Modeling of Rigid Links

When the flexibility is negligible, rigidity constraints are replaced, and the rigid body presented as link 5–6 can be written in the form

$$\begin{aligned} \left[ \begin{matrix} {{D}^{\left( ij \right) }} &{} -{{I}_{6\times 6}} \\ \end{matrix} \right] \left[ \begin{matrix} {{\Delta }_{{{t}_{i}}}} \\ {{\Delta }_{{{t}_{j}}}} \\ \end{matrix} \right] ={{0}_{6\times 1}} \end{aligned}$$
(26)

where \({{D}^{\left( ij \right) }}\) denotes the (3\(\times\)3) skew-symmetric matrix expressed as

$$\begin{aligned} {{D}^{\left( ij \right) }}={{\left[ \begin{matrix} {{I}_{3\times 3}} &{} {{\left[ {{d}^{\left( ij \right) }}\times \right] }^{T}} \\ {{0}_{3\times 3}} &{} {{I}_{3\times 3}} \\ \end{matrix} \right] }_{6\times 6}} \end{aligned}$$
(27)

In a more explicit form, we can describe link 5–6 by

$$\begin{aligned} \left[ \begin{matrix} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{D}_{6\times e}} &{} -{{I}_{6\times 6}} \\ {{I}_{6\times 6}} &{} D_{6,e}^{T} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{5}} \\ {{W}_{6}} \\ \Delta {{t}_{5}} \\ {{\Delta }_{{{t}_{6}}}} \\ \end{matrix} \right] =\left[ \begin{matrix} 0 \\ 0 \\ \end{matrix} \right] \end{aligned}$$
(28)

3.5 Modeling of Elastic Joints

Joint 0–1 is given as an active and flexible joint; this returns to the position of the actuators (motors), and it is described by

$$\begin{aligned} \left[ \begin{matrix} {{W}_{i}} \\ {{W}_{j}} \\ \end{matrix} \right] ={{\left[ \begin{matrix} K_{11}^{(ij)} &{} K_{12}^{(ij)} \\ K_{21}^{(ij)} &{} K_{22}^{(ij)} \\ \end{matrix} \right] }_{12\times 12}}\left[ \begin{matrix} \Delta {{t}_{i}} \\ \Delta {{t}_{j}} \\ \end{matrix} \right] \end{aligned}$$
(29)

According to the proposed coaxial SPM labeled in Fig. 2, we can write the following equation system:

$$\begin{aligned} \left[ \begin{matrix} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{1,2}^{r} &{} -\lambda _{1,2}^{r} \\ {{I}_{5\times 6}} &{} {{I}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{6\times 6}} \\ \lambda _{1,2}^{e} &{} {{0}_{5\times 6}} &{} {{K}_{act}}\lambda _{1,2}^{e} &{} {{K}_{act}}\lambda _{1,2}^{e} \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{1}} \\ {{W}_{2}} \\ \Delta {{t}_{1}} \\ \Delta {{t}_{2}} \\ \end{matrix} \right] =\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ \end{matrix} \right] \end{aligned}$$
(30)

with

$$\begin{aligned} {{\lambda }^{r}}= & {} \left[ \begin{matrix} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} {{R}_{11}} &{} {{R}_{12}} &{} {{R}_{13}} \\ 0 &{} 0 &{} 0 &{} {{R}_{21}} &{} {{R}_{22}} &{} {{R}_{23}} \\ \end{matrix} \right] \end{aligned}$$
(31)
$$\begin{aligned} {{\lambda }^{e}}= & {} \left[ \begin{matrix} 0 &{} 0 &{} 0 &{} {{R}_{31}} &{} {{R}_{32}} &{} {{R}_{33}} \\ \end{matrix} \right] \end{aligned}$$
(32)

where \(R_{i,j}\) are the elements of the predefined rotation matrix in Eq. (1), and \(K_{act}\) is the actuator’s stiffness matrix.

3.6 Modeling of Passive Joints

Links 2–3 and 4–5 are connected by passive joints. This allows us to present the following form:

$$\begin{aligned} \left[ \begin{matrix} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{3,4}^{r} &{} -\lambda _{3,6}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} \\ \lambda _{3,4}^{r} &{} \lambda _{3,4}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} \\ \lambda _{3,4}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} \\ {{0}_{1\times 6}} &{} \lambda _{3,4}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} \\ {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{5,6}^{r} &{} -\lambda _{5,6}^{r} \\ {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} \lambda _{5,6}^{r} &{} \lambda _{5,6}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} \\ {{0}_{5\times 6}} &{} {{0}_{1\times 6}} &{} \lambda _{5,6}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} \\ {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{3}} \\ {{W}_{4}} \\ {{W}_{5}} \\ {{W}_{6}} \\ \Delta {{t}_{3}} \\ \Delta {{t}_{4}} \\ \Delta {{t}_{5}} \\ \Delta {{t}_{6}} \\ \end{matrix} \right] =\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ \end{matrix} \right] \end{aligned}$$
(33)

where \(\lambda _{i,j}^{p}\) stands for the full-rank matrix of a (6\(\times\)6) size, which determines the passive directions with (p = 6\(\times\)r)

4 Boundary Conditions

4.1 Including the External Loading

In a robotic mechanism, its kinematic structure is given as either an open or closed-loop chain. It is recommended to consider the effects when applying external wrenches (force, moment) on the mechanical structure, which is necessary to avoid critical and singular situations. Moreover, it allows deriving a reasonable Cartesian stiffness matrix, which can be written in the following general form:

$$\begin{aligned} {{\left[ \begin{matrix} {{I}_{6\times 6}} &{} {{I}_{6\times 6}} \\ \end{matrix} \right] }_{6\times 12}}{{\left[ \begin{matrix} {{W}_{i}} \\ {{W}_{j}} \\ \end{matrix} \right] }_{12\times 1}}={{\left[ {{W}_{e}} \right] }_{6\times 1}} \end{aligned}$$
(34)

As a consequence, we derive the latter for a coaxial SPM as

$$\begin{aligned} {{\left[ \begin{matrix} {{I}_{6\times 6}} &{} {{I}_{6\times 6}} \\ \end{matrix} \right] }_{6\times 12}}\left[ \begin{matrix} {{W}_{e}} \\ {{W}_{{{t}_{e}}}} \\ \end{matrix} \right] ={{W}_{ext}} \end{aligned}$$
(35)

4.2 Modeling of a Rigid Support

As presented in Fig. 5, the fixed platform is denoted by node (0), and since it is assumed as a rigid body, it can be addressed by its linear form:

$$\begin{aligned} \left[ \begin{matrix} {{0}_{6\times 6}} &{} {{I}_{6\times 6}} \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{{0}}} \\ {{W}_{{1}}} \\ \end{matrix} \right] =0 \end{aligned}$$
(36)

4.3 Aggregation of MSA Model Components

Typically, robotics manipulators have huge and complex calculation numbers for deriving their stiffness analysis model. However, the MSA technique makes it possible to linearize the entire assembly within

$$\begin{aligned} \left[ \begin{matrix} A &{} B \\ C &{} D \\ \end{matrix} \right] \left[ \begin{matrix} {{W}_{\alpha g}} \\ \Delta {{t}_{\alpha g}} \\ \Delta {{t}_{e}} \\ \end{matrix} \right] =\left[ \begin{matrix} 0 \\ {{W}_{ext}} \\ \end{matrix} \right] \end{aligned}$$
(37)

A detailed clarification is reported in Klimchik (2018), where \(W_{act}\) and \(\Delta _{act}\) are vectors, and include all possible parameters that relate applied wrenches with the resulting displacements, while \(\Delta _{te}\) corresponds to the end-effector node (6). The Cartesian stiffness matrix \(K_{act}\) utilizes the linear equation system as follows:

$$\begin{aligned} {{K}_{ci}}= & {} D-C{{A}^{-1}}B \end{aligned}$$
(38)
$$\begin{aligned} A= & {} \left( \begin{array}{ccccccccccccc} {{0}_{5\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}}\\ {{0}_{6\times 6}} &{} {{-I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{2,3}^{11} &{} K_{2,3}^{12} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}}\\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{-I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{2,3}^{12} &{} K_{2,3}^{22} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}}\\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{-I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{4,5}^{11} &{} K_{4,5}^{12} &{} {{0}_{6\times 6}}\\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{-I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} K_{4,5}^{12} &{} K_{4,5}^{12} &{} {{0}_{6\times 6}}\\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} D_{5,6}\\ {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{I}_{6\times 6}} &{} D_{5,6}^{T} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}}\\ {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{1,2}^{r} &{} -\lambda _{1,2}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}}\\ {{I}_{6\times 6}} &{} {{I}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}} &{} {{0}_{6\times 6}}\\ \lambda _{1,2}^{6} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{K}_{a}}\lambda _{1,2}^{e} &{} -{{K}_{a}}\lambda _{1,2}^{e} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} \\ {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{3,4}^{r} &{} -\lambda _{3,4}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}}\\ {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{3,4}^{r} &{} \lambda _{3,4}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}}\\ {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} \lambda _{3,4}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}}\\ {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} \lambda _{3,4}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}}\\ {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{5,6}^{p} &{} \lambda _{5,6}^{p}\\ {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} \lambda _{5,6}^{r} &{} \lambda _{5,6}^{r} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}} &{} {{0}_{5\times 6}}\\ {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} \lambda _{5,6}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}}\\ {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} \lambda _{5,6}^{p} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}}\\ \end{array}\right) \end{aligned}$$
(39)
$$\begin{aligned} B= & {} \left[ \begin{matrix} {{0}_{30\times 6}} \\ -{{I}_{6\times 6}} \\ {{0}_{42\times 6}} \\ \end{matrix} \right] \end{aligned}$$
(40)
$$\begin{aligned} C= & {} \left[ \begin{matrix} {{0}_{6\times 36}} &{} {{I}_{6\times 6}} &{} {{0}_{6\times 36}} \\ \end{matrix} \right] \end{aligned}$$
(41)
$$\begin{aligned} D= & {} {0}_{1\times 6} \end{aligned}$$
(42)

As reported earlier, the global study is described according to a single leg of the coaxial SPM. Thus, the aggregate stiffness matrix can be defined as

$$\begin{aligned} {{K}_{C}}=\sum \limits _{i=1}^{3}{{{K}_{Ci}}} \end{aligned}$$
(43)

5 Force–Displacement Relationship

To demonstrate the utility of applying kinematic redundancy, which is defined by adding extra links or joints to the kinematic manipulator, the coaxial SPM has been varied in terms of its number of legs. The obtained results should pave the way to reliable structure performance. In addition, a force–displacement relationship is derived with respect to the predefined kinematic constraints. Establishing the translational and rotational deflection part of the joints aims at avoiding undesired situations (damage to the mechanism during its function, kineto-static singularities, etc.) and offers an efficient solution (optimal CAD design, choice of materials, etc.). The physical parameters of aluminum are taken into consideration with a Young’s modulus of 2.\(2\cdot {{10}^{9}}\) (\(Pa\)), a Poisson ratio of \(\eta =0.37\), link thickness (\({{L}_{thk}}\)) of \({{10}^{-2}}\), cross-sectional area of the link \(A=L_{thk}^{2}\left( {{m}^{2}} \right)\), and actuator stiffness \({{K}_{act}}\) of \({{10}^{6}}\left( \frac{N}{rad} \right)\). The moment of inertia at the origin for both links is defined with the following expressions: \({{I}_{xx1}}={{I}_{xx2}}=4607.684\left( g.m{{m}^{2}} \right)\), \({{I}_{yy1}}={{I}_{yy2}}=2.829\times {{10}^{4}}\left( g.m{{m}^{2}} \right)\) and, \({{I}_{zz1}}={{I}_{zz2}}=2.772\times {{10}^{4}}\left( g.m{{m}^{2}} \right)\). The applied wrenches take the vector values \({{W}_{ect}}=\left[ 30N,30N,30N,0N.m,0N.m,0N.m \right]\). Figures 68, and  10 show the obtained translation joint deflection within x, y, and z components, respectively, while Figs.  79, and 11 represent rotation joint deflection within \({{\alpha }_{x}}\) and \({{\alpha }_{y}}\).

Table 1 Relationship between deflection components (translation and rotation) and kinematic redundancy

Case 1: MSA-based stiffness matrices of the three-DOF SPM with parameters as (i = 3 where i represents the number of legs, \({{\beta }_{1}}={{0}^{{}^\circ }}\)\({{\beta }_{2}}={{90}^{{}^\circ }}\), \({{\alpha }_{1}}={{90}^{{}^\circ }}\), and \({{\alpha }_{2}}={{90}^{{}^\circ }}\))

$$\begin{aligned} {{K}_{global}}=10^{2}\times \left[ \begin{matrix} {4.3\cdot 10^{3}} &{} {-5.62\cdot 10^{2}} &{} {13.56} &{} {1.79\cdot 10^{2}} &{} {2.22\cdot 10^{2}} &{} {-9.5} \\ {-5.62\cdot 10^{2}} &{} {5.07\cdot 10^{3}} &{} {2.8\cdot 10^{2}} &{} {1.31\cdot 10^{2}} &{} {2.1\cdot 10^{2}} &{} {0.153} \\ {13.56} &{} {2.8\cdot 10^{2}} &{} {6.13\cdot 10^{3}} &{} {-8.5} &{} {0.227} &{} {77.16} \\ {1.79\cdot 10^{2}} &{} {1.31\cdot 10^{2}} &{} {-8.5} &{} {9.45\cdot 10^{2}} &{} {-43.53} &{} {1.52} \\ {2.22\cdot 10^{2}} &{} {2.09\cdot 10^{2}} &{} {0.227} &{} {-43.53} &{} {1.96\cdot 10^{2}} &{} {-2.13} \\ {-9.46} &{} {0.153} &{} {77.16} &{} {1.52} &{} {2.13} &{} {58.9} \\ \end{matrix} \right] \end{aligned}$$
(44)
Fig. 6
figure 6

Joint deflection in x, y, and z axes for the translation part case 1

Fig. 7
figure 7

Joint deflection in x, y, and z axes for the rotation part case 1

Case 2: MSA-based stiffness matrices of the three-DOF SPM with parameters as (i = 4 where i represents the number of legs, \({{\beta }_{1}}={{0}^{{}^\circ }}\)\({{\beta }_{2}}={{90}^{{}^\circ }}\), \({{\alpha }_{1}}={{90}^{{}^\circ }}\), and \({{\alpha }_{2}}={{90}^{{}^\circ }}\))

Fig. 8
figure 8

Joint deflection in x, y, and z axes for the translation part case 2

Fig. 9
figure 9

Joint deflection in x, y, and z axes for the rotation part case 2

$$\begin{aligned} {{K}_{global}}=10^{2}\times \left[ \begin{matrix} {4.67\cdot 10^{3}} &{} {-1.31\cdot 10^{3}} &{} {-81.08} &{} {2.95\cdot 10^{2}} &{} {2.6\cdot 10^{2}} &{} {-10.10} \\ {-1.31\cdot 10^{3}} &{} {6.59\cdot 10^{3}} &{} {4.71\cdot 10^{2}} &{} {-92.17} &{} {1.17\cdot 10^{2}} &{} {1.47} \\ {-81.09} &{} {4.71\cdot 10^{2}} &{} {7.83\cdot 10^{3}} &{} {-4.03} &{} {-15.10} &{} {77.42} \\ {2.96\cdot 10^{2}} &{} {-92.17} &{} {-4.03} &{} {1.26\cdot 10^{3}} &{} {-10.97} &{} {2.67} \\ {2.6\cdot 10^{2}} &{} {1.16\cdot 10^{2}} &{} {-15.10} &{} {-1.09\cdot 10^{2}} &{} {3.58\cdot 10^{2}} &{} {-4.96} \\ {-10.10} &{} {1.47} &{} {77.42} &{} {2.67} &{} {-4.97\cdot 10^{2}} &{} {58.9} \\ \end{matrix} \right] \end{aligned}$$
(45)

Case 3: MSA-based stiffness matrices of the three-DOF SPM with parameters as (i = 5 where i represents the number of legs, \({{\beta }_{1}}={{0}^{{}^\circ }}\)\({{\beta }_{2}}={{90}^{{}^\circ }}\), \({{\alpha }_{1}}={{90}^{{}^\circ }}\), and \({{\alpha }_{2}}={{90}^{{}^\circ }}\))

$$\begin{aligned} {{K}_{global}}=10^{2}\times \left[ \begin{matrix} {6.02\cdot 10^{3}} &{} {-1.71\cdot 10^{3}} &{} {-3.46\cdot 10^{2}} &{} {3.73\cdot 10^{2}} &{} {2.82\cdot 10^{2}} &{} {30.90} \\ {-1.71\cdot 10^{3}} &{} {7.97\cdot 10^{3}} &{} {8.71\cdot 10^{2}} &{} {1.26\cdot 10^{2}} &{} {2.18\cdot 10^{2}} &{} {1.75\cdot 10^{2}} \\ {-3.46\cdot 10^{2}} &{} {8.71\cdot 10^{2}} &{} {10^{3}} &{} {2.62\cdot 10^{2}} &{} {3.92} &{} {1.16\cdot 10^{2}} \\ {3.73\cdot 10^{2}} &{} {1.25\cdot 10^{2}} &{} {2.61\cdot 10^{2}} &{} {1.57\cdot 10^{3}} &{} {-92.10} &{} {41.07} \\ {2.82\cdot 10^{2}} &{} {2.18\cdot 10^{2}} &{} {3.92} &{} {-92.1} &{} {-3.68\cdot 10^{2}} &{} {11.85} \\ {30.90} &{} {1.76\cdot 10^{2}} &{} {1.17\cdot 10^{2}} &{} {41.07} &{} {11.85} &{} {88.10} \\ \end{matrix} \right] \end{aligned}$$
(46)
Fig. 10
figure 10

Joint deflection in x, y, and z axes for the rotation part case 3

Fig. 11
figure 11

Joint deflection in x, y, and z axes for the rotation part case 3

MSA technique has been applied to study the robot’s stiffness behavior. Additionally, kinematic redundancy was investigated by adding rigid links (legs) to the regular SPM form, as presented in case 1, case 2, and case 3 with varying numbers of three legs, four legs, and five legs, respectively. From the three cases, it can be noted that the rigidity matrix of the kinematic manipulator gets enlarged whenever the robot gains more links. Furthermore, the robot’s joint deflection is given with regard to the applied force, and as a result, Figs.  611 stand for joint deflection of both parts, translation, and rotation deflection of the different cases of study. It is noteworthy to point out that as long as the kinematic manipulator gains links, the deflection gets reduced. From the graphical representation, the blue areas stand for the lowest parts of joint deflection, while the yellow areas represent the critical ones that must be avoided in accordance with the robot’s orientation (\({{\phi }_{1}}\), \({{\phi }_{2}}\)). Based on the numerical calculation, Table 1 presents the maximum and minimum deflection values on both parts, the translation part along the \(x, y, and z\)axes, and the rotation part along \({{\alpha }_{x}}\), \({{\alpha }_{y}}\), and \({{\alpha }_{z}}\). The derived results demonstrate the advantages of using the kinematic redundancy, of which the deflection has been decreased.

6 Comparative Study of MSA with VJM in Modeling SPM Stiffness

In this section, a comparison study is conducted to validate the proposed method in this paper with VJM. The robot’s physical and mechanical parameters were previously defined in Sect. 5. Axiomatically, the deformation has an impact on any mechanical structure; it does not exclusively affect its body, but also its links and joints. Accordingly, the virtual joint method (VJM) concerns the study of the deformations of the mechanical structure by considering virtual spring joints.

In the following section, the mathematical model using VJM is presented through the kineto-static of the \(ith\) leg and which can be given as follows:

$$\begin{aligned} \left[ \begin{matrix} S_{\theta }^{i} &{} J_{q}^{i} \\ J_{q}^{iT} &{} {{0}_{2\times 2}} \\ \end{matrix} \right] .\left[ \begin{matrix} {{f}_{i}} \\ \Delta {{q}_{i}} \\ \end{matrix} \right] =\left[ \begin{matrix} S_{0}^{i} \\ {{0}_{2\times 1}} \\ \end{matrix} \right] \end{aligned}$$
(47)

where \(S_{\theta }^{i}=J_{\theta }^{i}.{{(k_{\theta }^{i})}^{-1}}.J_{\theta }^{iT}\) stands for the compliance of the spring with the frame reference \(R_{0}\) on the mobile platform, where \(J_{q}^{iT}\) is the Jacobian matrix. Furthermore, \({{(k_{\theta }^{i})}^{-1}}\) describes the stiffness matrix of both the actuators and the virtual springs, which takes the following equation:

$$\begin{aligned} k_{\theta }^{i}=\left[ \begin{matrix} k_{act}^{i} &{} {{0}_{1\times 6}} &{} {{0}_{1\times 6}} \\ {{0}_{6\times 1}} &{} k_{L1}^{i} &{} {{0}_{2\times 2}} \\ {{0}_{6\times 1}} &{} {{0}_{6\times 6}} &{} k_{L2}^{i} \\ \end{matrix} \right] \end{aligned}$$
(48)

where \(k_{act}^{i}\) denotes the \(ith\) actuator stiffness, while \(k_{L1}^{i}\) and \(k_{L2}^{i}\) are the stiffness matrices of the proximal and distal link of the \(ith\) leg. The Cartesian matrix of the \(ith\) leg takes the following equation:

$$\begin{aligned} {{k}_{Li}^{i}}=\left[ \begin{matrix} S_{\theta }^{i} &{} J_{q}^{i} \\ J_{q}^{iT} &{} {{0}_{2\times 2}} \\ \end{matrix} \right] \end{aligned}$$
(49)

and

$$\begin{aligned} k_{L1}^{i}=k_{L2}^{i}=\left[ \begin{matrix} 4,{{96.10}^{5}} &{} -1,{{47.10}^{5}} &{} 6,{{97.10}^{2}} &{} -1,{{15.10}^{3}} &{} -{{2.10}^{3}} &{} 2,{{70.10}^{4}} \\ -1,{{47.10}^{5}} &{} 4,{{9.10}^{5}} &{} -2,{{32.10}^{3}} &{} 3,{{82.10}^{3}} &{} {{7.10}^{3}} &{} -8,{{05.10}^{3}} \\ 6,{{97.10}^{2}} &{} -2,{{32.10}^{3}} &{} 2,{{8.10}^{5}} &{} -6,{{2.10}^{3}} &{} -1,{{37.10}^{4}} &{} 38,07 \\ -1,{{15.10}^{3}} &{} 3,{{82.10}^{3}} &{} -6,{{2.10}^{3}} &{} {{4.10}^{4}} &{} 2,{{3.10}^{4}} &{} -62,76 \\ -{{2.10}^{3}} &{} {{7.10}^{3}} &{} -1,{{37.10}^{4}} &{} 2,{{3.10}^{4}} &{} {{4.10}^{4}} &{} -1,{{11.10}^{2}} \\ 2,{{70.10}^{4}} &{} -8,{{05.10}^{3}} &{} 38,07 &{} -62,76 &{} -1,{{11.10}^{2}} &{} 2,{{8.10}^{5}} \\ \end{matrix} \right] \end{aligned}$$
(50)

As a consequence, the global stiffness matrix of the SPM is defined as

$$\begin{aligned} {{k}_{Global(VJM)}}= & {} \sum \limits _{i=1}^{n}{{{k}_{i}}} \end{aligned}$$
(51)
$$\begin{aligned} {{k}_{_{Global(VJM)}}}= & {} {{10}^{2}}.\left[ \begin{matrix} 4,{{1.10}^{3}} &{} -3,{{96.10}^{2}} &{} -9,11 &{} 1,{{38.10}^{2}} &{} 1,{{84.10}^{2}} &{} -6,54 \\ -3,{{96.10}^{2}} &{} 4,{{45.10}^{3}} &{} 1,{{7.10}^{2}} &{} 1,{{29.10}^{2}} &{} {{2.10}^{2}} &{} 0 \\ -9,11 &{} 1,{{7.10}^{2}} &{} 6,{{11.10}^{3}} &{} -2,3 &{} 0 &{} 56,18 \\ 1,{{38.10}^{2}} &{} 1,{{29.10}^{2}} &{} -2,3 &{} 9,{{44.10}^{2}} &{} -35,49 &{} 0 \\ 1,{{84.10}^{2}} &{} {{2.10}^{2}} &{} 0 &{} -35,49 &{} 1,{{83.10}^{2}} &{} 0 \\ -6,54 &{} 0 &{} 56,18 &{} 0 &{} 0 &{} 56,48 \\ \end{matrix} \right] \end{aligned}$$
(52)

And the SPM deformation screw is found as (Wu et al. 2014)

$$\begin{aligned} {{S}_{\theta }}=\left[ \begin{matrix} \Delta {{\varphi }^{T}} &{} \Delta {{p}^{T}} \\ \end{matrix} \right] ={{k}^{-1}}.f \end{aligned}$$
(53)

where\(\Delta {\varphi }\) and \(\Delta {p}\) are the orientation and translation displacement, respectively, where \(f\) is a (6 \(\times\) 1) vector that represents the external wrenches.

Table 2 Max and Min translational deflection
Table 3 Max and Min rotational deflection

Remarkably, from Tables 1, 2, and 3, the obtained values from both methods show that the MSA technique provides quite similar results. Based on the simulated results using MSA, the robot’s behavior, namely the joints’ deflection, has acceptable values according to the simulation results. In this respect, MSA can be considered as a reliable method to model the complexity of the studied robot. It is noteworthy that the comparative study is mainly based on case 1 for \(i=3\). The relative error \((\%)\) between MSA and VJM methods can be mathematically represented as follows:

$$\begin{aligned} \varepsilon =\mid \frac{{{\delta }_{MSA}}-{{\delta }_{VJM}}}{{{\delta }_{VJM}}}\mid .100^{\%} \end{aligned}$$
(54)

noting that \({{\delta }_{p}}\) and \({{\delta }_{\varphi }}\) signify the translation and orientation displacement, respectively. The average relative error for \({{\delta }_{p}}\) is around \((1.48\%)\), and the average error for \({{\delta }_{\varphi }}\) is approximately \((3.75\%)\). As shown in Fig. 12, the obtained results from both VJM and MSA methods are considerably similar, which supports the proposed theory.

Fig. 12
figure 12

Comparison of the translation and rotation deflections

7 Conclusions

This paper investigates a coaxial spherical parallel manipulator (SPM) using the matrix structural analysis (MSA) method. The proposed numerical approach is mainly established based on Castigliano’s theorem. This theorem is adopted to derive the robot’s curved beams included in the stiffness matrix. The MSA technique offers a simple and real time-based method that can deal with multiple cases involving rigid and flexible body structures, passive and active joints, and rigid and elastic joints, as well as a variety of the robot’s kinematic chains, namely serial, parallel, and hybrid kinematic architectures. This paper provides an elaborate step-by-step mathematical calculation starting with the robot’s kinematics modeling and ending with the stiffness modeling, which paves the way to a thorough understanding of the studied robot. Additionally, kinematic redundancy is represented based on adding extra links to the uniform 3-RRR coaxial SPM. Interestingly, the obtained results show a higher stiffness matrix by increasing the robot’s redundant links. Moreover, joint deflection is represented according to an applied external loading (forces). It is remarkable that joint deflection in both components, translational and rotational parts, decreases when adding extra links, which proves the theory developed in this work. To validate the efficiency of the proposed method, MSA is purposefully compared with VJM.