*2.3. Validation*

In order to assess the validity of the identification method, the stiffness values of Table 2 were implemented in a dynamic model of the robot and the first natural frequencies of the robot were calculated in a configuration (validation configuration) different from the configurations used for identification (see Table 1 and Figure 12).

Then, the robot was modally tested in the validation configuration and the first natural frequencies were experimentally identified. Hammer excitation was applied on the end-effector along three orthogonal directions of the end-effector coordinate system. It is worth noticing that the validation configuration was chosen in order to obtain modes of vibration that involved the compliance of various joints simultaneously.

**Figure 12.** Robot configuration for validation.

The comparison between numerical and experimental values is shown in Table 3. The three testing conditions (with different directions of excitation) essentially lead to the identification of the same natural frequencies. These frequencies are rather close to the numerical ones, with a maximum error of about 3 Hz in the natural frequency of the third mode.


#### **Table 3.** Validation tests.

#### **3. Mathematical Model**

When a structure (like a robot) has a polygonal open shape with an end locked to a very stiff structure and an end loaded by a static or dynamic force, the deformation of the loaded end can be studied considering the motion of a rigid body fixed to the loaded end of the structure. The basic concepts of rigid body mechanics can be adopted for describing this motion.

Giulio Giuseppe Mozzi del Garbo was an Italian mathematician who published in 1763 the book "Discorso matematico sopra il rotolamento dei corpi" (Mathematic Discourse on the Roll of Bodies) in which he stated that a generic differential spatial rigid motion can be considered a helical motion around a line, which is called the Mozzi axis [27]. In other words, the rigid motion of a body is represented in every instant by rotation about and translation along the Mozzi axis, which is also known as the instantaneous screw axis. The direction of the Mozzi axis coincides with the instantaneous direction of the angular velocity vector. Afterwards, the ideas of Mozzi were developed by Cauchy in 1827, Poinsot in 1834, Chasles in 1878 [28]. Ball in 1900 developed the modern screw theory introducing the concepts of twist and wrench [29,30]. A twist is the combination of a screw with a parallel linear velocity related to the angular velocity by the pitch of the screw; a wrench is a force acting along the screw combined with a torque related to the force by the pitch of the screw.

In recent years, the interest in the screw theory increased due to the discovery of possible applications in the fields of multibody dynamics [31], vehicle dynamics [32–34], vibration control [35], and robotics. In robotics, the screw theory has been adopted for calculating Jacobians [18], for decomposing the stiffness matrix [36], and for finding its properties [37,38]: the twist-compliant axes and the wrench-compliant axes. A twist about a twist-compliant axis produces only a torque parallel to the rotation axis, whereas a wrench applied on a wrench-compliant axis produces a parallel linear deformation.

In the framework of this research, the concepts of screw theory will be used for a different purpose: the representation of the rotation and translation axis of the compliant motion of the end-effector caused by an external load. This information is very useful when the robot end-effector interacts with an object and the displacement caused by compliance may assist or counteract the performed operation. Sometimes the object is characterized by its own compliance, and in the near future, the same concepts will be adopted to represent the relative rotation and translation between the robot and the object.

In order to accomplish this specific task, the basic concepts of Mozzi or screw axis are sufficient. In Figure 13, a serial six-joint robot is represented. A fixed system of coordinates with origin *Oo* and axes *xo yo zo* is established. Joint rotations are fixed but compliance is allowed in the first three joints. Point *Q* is the center of the wrist. Since wrist joints are infinitely stiff, link 3, the wrist, the end-effector, and the tool grasped by the end-effector form a unique rigid body, which is used for Mozzi axis analysis. Point *Ot* is used for defining the external force on the tool, which causes robot arm deformation. It is worth noticing that if the compliance of some wrist joint were important, the rigid body would begin after the last compliant joint.

**Figure 13.** Kinematic model of the tested robot.

The linear velocity <sup>→</sup> *v <sup>P</sup>* of a point *P* belonging to the rigid body can be calculated using the equation of rigid body velocity:

$$
\overrightarrow{\boldsymbol{\upsilon}}\_{P} = \overrightarrow{\boldsymbol{\upsilon}}\_{Q} + \overrightarrow{\boldsymbol{\alpha}} \times \overrightarrow{\boldsymbol{QP}} \tag{4}
$$

where <sup>→</sup> *<sup>v</sup> <sup>Q</sup>* is the linear velocity of a reference point belonging to the rigid body (wrist center *<sup>Q</sup>*), <sup>→</sup> ω is the angular velocity vector, and <sup>→</sup> *QP* is the vector from *Q* to *P*.

The linear velocity of point *P* can be expressed as a translation along the Mozzi axis plus a rotation about the Mozzi axis according to this equation:

$$
\overrightarrow{\boldsymbol{\upsilon}}\_P = \overrightarrow{\boldsymbol{k}\boldsymbol{\phi}} + \overrightarrow{\boldsymbol{\omega}} \times \overrightarrow{\boldsymbol{MP}} \tag{5}
$$

where *k* is a scalar and *M* is a point on the Mozzi axis. If the two expressions of <sup>→</sup> *v <sup>P</sup>* are equated, the following result holds:

$$
\overrightarrow{\boldsymbol{\upsilon}}\_{Q} + \overrightarrow{\boldsymbol{\omega}} \times \overrightarrow{Q} \mathbf{M} = \; \overrightarrow{\boldsymbol{k}\boldsymbol{\omega}}\tag{6}
$$

Velocity <sup>→</sup> *<sup>v</sup> <sup>Q</sup>* in general has a component (<sup>→</sup> *<sup>v</sup> <sup>Q</sup>*) parallel to <sup>→</sup> ω and a component (<sup>→</sup> *v <sup>Q</sup>*⊥) perpendicular to <sup>→</sup> ω, whereas the vector product is always perpendicular to <sup>→</sup> ω. Hence Equation (6) splits into the two equations:

$$
\overrightarrow{\boldsymbol{v}}\_{Q\perp} + \overrightarrow{\boldsymbol{\omega}} \times \overrightarrow{Q\boldsymbol{M}} = \boldsymbol{0} \tag{7}
$$

$$
\overrightarrow{\boldsymbol{\upsilon}}\_{Q\parallel} = \,\overrightarrow{k\boldsymbol{\omega}}\,\tag{8}
$$

The parallel component <sup>→</sup> *v <sup>Q</sup>*, which coincides with the linear velocity along the Mozzi axis, can be calculated by means of the inner product:

$$
\stackrel{\rightarrow}{\vec{w}}\_{Q\parallel} = \stackrel{\rightarrow}{\vec{w}}\_{Q} \stackrel{\rightarrow}{\vec{w}}\_{Q\frac{|\vec{w}|}{|\vec{w}|}} \tag{9}
$$

where <sup>→</sup> ω <sup>|</sup>ω<sup>|</sup> is the unit vector of <sup>→</sup> ω. The perpendicular component (<sup>→</sup> *v <sup>Q</sup>*⊥) can be calculated by difference:

$$
\overrightarrow{\boldsymbol{v}}\_{Q\perp} = \overrightarrow{\boldsymbol{v}}\_{Q} - \overrightarrow{\boldsymbol{v}}\_{Q\parallel} \tag{10}
$$

Moreover, for the perpendicular component, this equation holds:

$$
\stackrel{\rightarrow}{a^{\omega}} \stackrel{\rightarrow}{v}\_{Q\perp} = 0\tag{11}
$$

The unknown of the system of Equations (7) and (11) is vector <sup>→</sup> QM, which defines the position of a point on the Mozzi axis. Since the angular velocity matrix is skew-symmetric [18], there are infinite solutions for <sup>→</sup> QM that belong to a line; this line is the Mozzi axis. The solution of the system of (7) and (11) can be found using vector algebra as shown in [18]:

$$
\overrightarrow{QM} = \frac{\overrightarrow{\stackrel{\rightarrow}{\alpha}} \times \overrightarrow{\stackrel{\rightarrow}{\upsilon}}\_{Q\perp}}{\alpha^2} + \mu \overrightarrow{\stackrel{\rightarrow}{\alpha}} \tag{12}
$$

where μ is an arbitrary scalar parameter. Therefore, the position of a point along the Mozzi axis with respect to origin *Oo* is given by:

$$
\overrightarrow{O\_o}\overrightarrow{M} = \overrightarrow{O\_o}\overrightarrow{Q} + \overrightarrow{QM} \tag{13}
$$

If all the vectors are projected on the fixed coordinate system, these scalar equations define the Mozzi axis:

$$\begin{pmatrix} O\_o M\_x \\ O\_o M\_y \\ O\_o M\_z \end{pmatrix} = \begin{pmatrix} O\_o Q\_x \\ O\_o Q\_y \\ O\_o Q\_z \end{pmatrix} + \begin{pmatrix} (\omega\_x \mu)/\left|\omega\right| - (\omega\_z \upsilon\_{Qy})/\alpha^2 + (\omega\_y \upsilon\_{Qz})/\alpha^2 \\ (\omega\_y \mu)/\left|\omega\right| + (\omega\_z \upsilon\_{Qx})/\alpha^2 - (\omega\_x \upsilon\_{Qz})/\alpha^2 \\ (\omega\_z \mu)/\left|\omega\right| - (\omega\_y \upsilon\_{Qx})/\alpha^2 + (\omega\_x \upsilon\_{Qy})/\alpha^2 \end{pmatrix} \tag{14}$$

When an interval of time *dt* is considered, Equation (14) can be written in terms of differential displacements (*dQx*, *dQy*, *dQz*) and rotations (*d*θ*x*, *d*θ*y*, *d*θ*z*):

$$\begin{Bmatrix} O\_o M\_x \\ O\_o M\_y \\ O\_o M\_z \end{Bmatrix} = \begin{Bmatrix} O\_o Q\_x \\ O\_o Q\_y \\ O\_o Q\_z \end{Bmatrix} + \begin{Bmatrix} (d\theta\_x \mu)/|d\theta| - (d\theta\_z dQ\_y)/d\theta^2 + (d\theta\_y dQ\_z)/d\theta^2 \\ (d\theta\_y \mu)/|d\theta| + (d\theta\_z dQ\_x)/d\theta^2 - (d\theta\_x dQ\_z)/d\theta^2 \\ (d\theta\_z \mu)/|d\theta| - (d\theta\_y dQ\_x)/d\theta^2 + (d\theta\_x dQ\_y)/d\theta^2 \end{Bmatrix} \tag{15}$$

When differential displacements (*dQx*, *dQy*, *dQz*) and rotations (*d*θ*x*, *d*θ*y*, *d*θ*z*) are calculated by means of Equation (1), Equation (15) can describe the Mozzi axis of a robot with a certain configuration and an assigned force vector {*F*}.

The representation of the compliance properties of the robot arm by means of the Mozzi axis has some advantages with respect to the representation based on the Cartesian stiffness matrix. First, the Mozzi axis gives a more intuitive and geometric interpretation of the phenomenon. Second, the Mozzi axis also suggests the origin of the compliance, since its proximity to a joint axis identifies this axis as the most compliant.

#### **4. Mozzi Axis of the Tested Robot**

To show the potentialities of the Mozzi axis approach, multiple simulations, in two different scenarios, A and B, were performed. Both A and B configurations were excited by grinding forces along *x*0, *y*0, and *z*<sup>0</sup> axes. The two configurations differed in the orientation of the grinding equipment. From a generic point of view, these configurations show how the Mozzi axis changes with a different position of the grinding forces with the same robot joint configuration. Finally, a real case machining scenario [5] was simulated (Figure 14).

**Figure 14.** Configuration A excited by a machining force <sup>→</sup> *F* applied on a plane parallel to *y*0-*z*<sup>0</sup> plane, two different points of view.

In Figures 15–17, the robot is excited by a machining force that lies in the vertical plane perpendicular to the axes of joints 2 and 3. The rotation vector of the end-effector is parallel to the axes of joints 2 and 3, therefore the Mozzi axis has the same direction and passes at a distance from the robot base that depends on the compliances of joints 2 and 3. No translation along the Mozzi axis takes place. It is worth noticing that, since in Figure 15 the force has a small lever arm with respect to joint 2, the motion of the end-effector is dominated by compliance of joint 3 and the Mozzi axis passes very close to the center of this joint. In Figures 16 and 17, the vertical force exerts moments about both joint 2 and 3 and the Mozzi axis crosses the robot at an intermediate point.

**Figure 15.** Configuration A with force <sup>→</sup> *F* applied parallel to *x*<sup>0</sup> axis.

**Figure 16.** Configuration A with force <sup>→</sup> *F* applied parallel to *z*<sup>0</sup> axis, bottom view.

**Figure 17.** Configuration B with force <sup>→</sup> *F* applied parallel to *z*<sup>0</sup> axis.

In Figures 18 and 19, the robot is excited by machining forces parallel to the *y*<sup>0</sup> axis. Since this axis is parallel to the joint 2 and 3 axes, the only joint that can comply to the machining force is joint 1, therefore the Mozzi axis is coincident with the axis of joint 1.

**Figure 18.** Configuration A with force <sup>→</sup> *F* applied parallel to *y*<sup>0</sup> axis.

**Figure 19.** Configuration B with force <sup>→</sup> *F* applied parallel to *y*<sup>0</sup> axis.

Figure 20 shows how the compliances of all the joints can combine together when excited by an eccentric force. Force <sup>→</sup> *F* is applied parallel to the *x*<sup>0</sup> axis on a plane perpendicular to the axes of joints 2 and 3, which does not intersect the axis of joint 1. Thus, it excites all the joints and the position of the Mozzi axis results from the combination of all joint compliances. The Mozzi axis is tilted with respect to plane *<sup>x</sup>*0–*y*0, and there is a displacement <sup>→</sup> *ds* along the axis as well.

**Figure 20.** Configuration B with force <sup>→</sup> *F* applied parallel to *x*<sup>0</sup> axis.

In Figure 14, a real scenario simulation is shown. Force <sup>→</sup> *F* lies on a plane parallel to the *y*0–*z*<sup>0</sup> plane and its direction is defined by the downmilling process described in [5]. In this case, the Mozzi axis has a location similar to the one in Figure 20: the main contribution to the end-effector movement is provided by the compliance of joints 2 and 3, but a small component of force <sup>→</sup> *F* along the *y*<sup>0</sup> axis results in a non-negligible compliance of joint 1. It is interesting to notice how the high lever arm with respect to joint 1 results in a significant compliance even with a small exciting force.

Another important aspect that can be highlighted by the seven figures is the direction of the Cartesian movement <sup>→</sup> *dOt* of the point of application of the force. This direction is perpendicular to the Mozzi axis when displacement <sup>→</sup> *ds* along the axis is null and a combination of both rotational and sliding displacements in the general case. Moreover, the direction is not related to the direction of force → *F*, but it depends on the compliance of the joints. The only relation that can be found between the two vectors is that this movement <sup>→</sup> *dOt* is placed within the semispace defined by force vector <sup>→</sup> *F*.
