# A method for analyzing the kinematic influence of a robot on the WAAM process

Antoine Baccomo, Hélène Chanal, Emmanuel Duc, Maxime Limousin

<figure><img src="image_1.png" /></figure>

## To cite this version:

Antoine Baccomo, Hélène Chanal, Emmanuel Duc, Maxime Limousin. A method for analyzing the kinematic influence of a robot on the WAAM process. International Journal of Advanced Manufacturing Technology, 2025, 10.1007/s00170-025-15057-1. hal-04915144

HAL Id: hal-04915144

https://uca.hal.science/hal-04915144v1

Submitted on 27 Jan 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A method for analyzing the kinematic influence of a robot on the WAAM process

Antoine Baccomo¹, Hélène Chanal¹*, Emmanuel Duc¹, Maxime Limousin²

¹* Université Clermont Auvergne, CNRS, Clermont Auvergne INP, Institut Pascal, F-63000, Clermont-Ferrand, , France.

², Univ. Grenoble Alpes, CNRS, Grenoble INP, G-SCOP, , Grenoble, F-38000, , France.

*Corresponding author(s). E-mail(s): helene.chanal@sigma-clermont.fr;

Contributing authors: antoine.baccomo@sigma-clermont.fr;

emmanuel.duc@sigma-clermont.fr;

## Abstract

This article propose a method to analyze the kinematic behavior of a robotic cell during a tool path following. This methodology is applied to a WAAM robotic cell to study the manufacturing of single-wall, tubing-type parts with a robotic WAAM process. Initial feedback shows deposit defects. The objective of the study is to identify the impact of the robot behavior on the observed defects on the manufactured part and to propose a test protocol to validate the consistency of the robot kinematic behavior with the requirements of the WAAM process. Thus, the main problem lies in measuring and estimating the deposition feed rate of the torch relative to the part. To accomplish this, it is necessary to first establish the geometric model of the robot before determining its kinematic model. This model enables the calculation of the torch speed in the part reference frame based on the measurement of the robot axis angular speeds. Analyses reveal variations in the torch feed rate that correlate with the defects observed in the manufactured part. This work is completed by a theoretical analysis allowing conclusions on the capacity of the manufacturing cell to follow a program deposition speed. Finally, the proposed studies lead to develop a protocol for testing the kinematic behavior of a robotic cell for WAAM processes.

**Keywords:** Robotic additive manufacturing, WAAM, tool path, kinematic model, qualification test
<figure><img src="image_3.png" /><figcaption>Fig. 1: Studied part</figcaption></figure>

# 1 Context

Additive manufacturing processes provide an alternative to traditional methods for manufacturing preforms. It consists of creating an object layer by layer. Various types of additive manufacturing processes exist. In this article, we focus on Wire Arc Additive Manufacturing (WAAM), which belongs to the Direct Energy Deposition family of additive manufacturing processes. Typically, a robot equipped with a torch is employed to deposit layers of metal for manufacturing a part.

One benefit of using a robot is the ability to follow a multi-axis tool-path, i.e to control the position of the Tool Control Point (TCP) and the tool axis orientation. Thus, complex geometry can be manufactured with 3D layers and a variable tool axis orientation, which ensures to avoid the need for support structures [1].

The work proposed in this article comes from the analysis of the observed defects of a WAAM manufactured part called "tulip" (Figure 1a). The tulip part is a single wall complex tube constructed by single-pass stacking. Visually defects appear throughout the wall (Figure 1b). We can observe thinning of the wall in certain places and excess material in others.

Several works illustrate defects that appear on the manufactured part from a process viewpoint [2–4]. Indeed, WAAM is based on a welding source that allows the fusion of the filler wire (Figure 2). First of all, studies should be conducted to find the manufacturing parameters (torch feed rate, wire feed rate, current,...) that allow to deposit layers of metal one onto an other, in order to create a wall [5]. Moreover, this process generates a heat load on the part. This quantity of heat can cause distortions in the part during the manufacturing and/or post-processing, or even lead to a collapse of the part if the deposited material is not sufficiently solid during the deposition of the next layer [6–9]. Although it is possible to reduce the heat input by stopping the deposition, stopping and starting the deposition are the most critical phases, increasing the risks of inclusions, sinkholes and shape defects of the bead [10, 11]. It is therefore preferable to reduce the heat input during deposition, which
<figure><img src="image_4.png" /><figcaption>Fig. 2: WAAM [6] and CMT [13] process</figcaption></figure>

is why the use of the Cold Metal Transfer (CMT) deposition process is recommended to carry out WAAM [12] (Figure 2b).

WAAM coupled with CMT allows a certain flexibility in the orientation of the tool regarding the part, which does not compromise the quality of the part [13, 14]. However, this process requires a tool feed rate speed along the tool path consistent with the material exit speed to ensure the local deposition of the desired material quantity.

The tool path of the torch is imposed by a robot. In the field of machining or composite deposition processes, research on the development of tool path calculation methods adapted to the kinematic behavior of machines and robots has already been carried out [15, 16]. Indeed, regarding the kinematic capacity of machine active joints, the attempted velocity can not be reached all over a tool path [17]. However, only a few works illustrate the problematic consistency between the kinematic capacity of a robot and kinematic requirements of WAAM and layer tool path [18]. Thus, in this article, a procedure aimed at identifying defects linked to the kinematic behavior of the robot is proposed. This procedure can be used to identify the impact of the robot kinematic behavior in relation to other defect-generating phenomena such as welding current or welding voltage, for example [19]. Indeed, different parameters of the robot can have an impact on its kinematic behavior. For example, Viola shows that just turning on the CMT could change the instantaneous speed [20]. The digital chain of a robot is complex [21]. So to validate the setting, we propose in this article a kinematic test to validate the kinematic ability of a robotic cell for additive manufacturing process requirement. Note that in this article we analyze the deposit defect as a variation in thickness of the deposit layer. We focus on geometric defects rather than porosity or metallurgical defects. The contribution of this article is to propose a methodology for comparing the actual kinematic behavior of a robot with the one it should have to follow a deposit path with constant speed. Thus we have propose a method for calculating the velocity vector at each point of the path given in the program, then we have coupled it with the robot's kinematic model.
In the first time, the different steps of the procedure is introduced. Next, it is illustrated on a particular WAAM robotic cell. Then the robotic cell used in this work is presented. Finally we analyze the kinematic behavior of a given WAAM robotic cell during the manufacturing of the "tulip" part. This study allows us to identify the impact of the robot on the observed part defects.

## 2 Definition of a protocol for testing the kinematic behaviour of a robot for WAAM

The studies proposed in this article can be utilized to establish a testing protocol for analyzing the kinematic behavior of a WAAM robot.

This testing protocol is composed of the following steps:

* Identification of the maximum kinematic capacities of each axis, i.e. maximum velocity and acceleration

* Development of the direct kinematic model

* Computation of the theoretical angular axis velocities and acceleration for a chosen program and deposition feed rate

* Comparison between the theoretical angular axis positions and velocities, the measured ones and the kinematic axis capabilities

This testing protocol can be used for validate the capability of a robotic cell as well as to assist in setting up of the printing process (such as workpiece position, robot axis redundancy management, setting of the numerical controller parameters...). In the following sections, this protocol is applied to a WAAM robotic cell for the manufacturing of a single-wall, tubing-type part.

## 3 The robotic cell for WAAM application

WAAM relies on a system that controls the torch motion. Indeed, to manufacture the intended part, the torch should follow a tool path at a programmed speed.

The large dimensions of the manufactured components can require a work space of several meters. Thus, generally for WAAM, a multi-axis serial robot is used [22]. These robots have the particularity of having a large work space and a certain agility regarding the orientation of the torch. These characteristics allows for controlling the tool orientation during multi-axis printing. In addition, a rotary table can be added to the robotic arm. This rotary table improves the work space size by adding two redundant axes. It also makes it possible to control the orientation of the torch with regard to gravity. The 8 axis configuration is usually used for WAAM application. This allows part with overhang surfaces without the need of supports by tilting the part. Note that our study part is realized with large wall overhang.

The experimental data used in this article were collected from a WAAM robotic cell that is located in the GINOVA workshop of S.mart Dauphiné Savoie (Figure 3). This cell comprises a TPS CMT 4000 Advanced welding station, a Yaskawa 6-axis MA1440 robot associated with a DX200 controller, a 2-axis MT250 S2D rotatory table and a plate heated with ceramic resistance (Figure 3). The robot combined with the
<figure><img src="image_5.png" /><figcaption>Fig. 3: WAAM Robotic cell presentation</figcaption></figure>

rotary table make this cell a 8-axis machine. The manufacturer of this cell chose to manage the redundancy to guarantee the nearly vertical orientation of the torch axis and motion of the TCP in the plane perpendicular to the first rotation axis of the table.

To control the machining of the part, it is needed to control the torch feed rate. Traditionally, directly measuring the torch feed rate relative to the machining part is not possible. Therefore, evaluating the torch feed rate is accomplished using the measurement of the speeds of each robot motorized joint. Thus, it is necessary to establish the direct kinematic model of the studied robot and to determine the kinematic capacities of the manufacturing cell.

# 4 Kinematic capacities of the robotic cell axes

This study focuses on the determination of kinematics capacities of each axis of the WAAM robotic cell. Evaluating whether the TCP can follow a given tool path at a specific velocity requires assessing the maximum velocity and acceleration abilities of each axis. The maximum velocity of each axis can be found in the technical documentation of the robot (Table 1).

To determine the maximum angular accelerations of each axis, an experiment is carried out on the robotic cell.

These tests involve setting the robot in motion axis by axis, and measuring angular speeds using an Xsens MTi-300 inertial sensor (Figure 4). The sensor is fixed on the robot and the rotary table as shown in Figure 5a and Figure 5b. The inertial sensor measures the angular speed around its x, y, and z axes. The sensor acquisition frequency is set to 400Hz.

Each axis is independently moved back and forth with a constant angular speed set to 5, 10, 15% of the maximum axis speed.

The shape of the angular velocity measure is similar for each axis. Thus, we choose to explain the methodology for extracting the acceleration only on one measurement
<table><caption>**Table 1:** Maximum angular speed of the 6-axis robot and the rotary table</caption><thead><tr><th></th><th>Maximum angle speed (deg/s)</th></tr></thead><tbody><tr><td>Axis 1</td><td>230</td></tr><tr><td>Axis 2</td><td>200</td></tr><tr><td>Axis 3</td><td>230</td></tr><tr><td>Axis 4</td><td>430</td></tr><tr><td>Axis 5</td><td>430</td></tr><tr><td>Axis 6</td><td>630</td></tr><tr><td>Axis 7</td><td>151.2</td></tr><tr><td>Axis 8</td><td>96.6</td></tr></tbody></table>

<figure><img src="image_6.png" /><figcaption>**Fig. 4:** Inertial sensor Xsens MTi-300</figcaption></figure>

curve, i.e. one axis motion with one angular speed. The obtained curve, for the axis 2 at 10% of the maximum speed, is depicted in Figure 6.

Firstly, we validate that the angular speed is indeed 5, 10 and 15% of the maximum speed given on the technical document. In the Figure 6a, we can observe that in constant speed stage, the speed is 20 deg/s which indeed corresponds to 10% of the maximum angular speed of axis 2.

To determine the angular acceleration capabilities, the analyzed regions correspond to area where there is a significant variation in angular velocity (similar to the one highlighted in the red circle in Figure 6a and zoomed in Figure 6b).

In Figure 6b, the constant jerk acceleration phase is depicted in orange, and the constant acceleration phase is shown in blue. The acceleration is then determined by approximating of the blue points with a straight line with a minimum $R^2$ of 0.98 (Figure 6b). This determination is carried out for each acceleration and deceleration phase of the measured curve. The maximum angle acceleration is deduced by averaging all the determined acceleration values. It worth noting that we do not observe a significant influence of the gravity load for all axis.

Note that the curves for axis 6 of the 6-axis robot do not display any accurate area (Figure 7). Therefore, it is only possible to approximate the acceleration with a maximum $R^2$ of 0.65 (red line in Figure 7). However, it is mentioned in the technical documentation that the motor driving axis 6 is the same as that driving axis 5. Thus, for the following analysis, we assume that axes 5 and 6 have consistent acceleration
<figure><img src="image_7.png" /><figcaption>Fig. 5: Localization of the inertial sensor on the robotic cell</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 6: Acceleration determination</figcaption></figure>

capacities relative to the ratio of their velocity capacities. This assumption gives the same result as our previous linear approximation.

The different determined accelerations of each axis is compiled in Table 2. It can be observed that each acceleration value increases linearly as a function of the maximum speed percentage. Therefore, it is reasonable to extrapolate that the speed percentage is applied to acceleration. Note an inconsistent value with regard to this hypothesis for axis 4 at 5%.

Now that the accelerations have been determined, the study will now focus on determining the kinematic model of the cell.
<figure><img src="image_9.png" /><figcaption>Fig. 7: Measured angular speeds of axis 6</figcaption></figure>

<table><caption>Table 2: Angular acceleration of each axis</caption><thead><tr><th rowspan="2"></th><th colspan="3">Acceleration (deg/s<sup>2</sup>)</th></tr><tr><th>5%</th><th>10%</th><th>15%</th></tr></thead><tbody><tr><th>Axis 1</th><td>65.088</td><td>134.51</td><td>209.78</td></tr><tr><th>Axis 2</th><td>57.438</td><td>122.74</td><td>179.3</td></tr><tr><th>Axis 3</th><td>72.476</td><td>140.68</td><td>216.09</td></tr><tr><th>Axis 4</th><td>147.02</td><td>227.28</td><td>342.4</td></tr><tr><th>Axis 5</th><td>133.78</td><td>282.16</td><td>408.5</td></tr><tr><th>Axis 6</th><td>196.00</td><td>413.40</td><td>598.50</td></tr><tr><th>Axis 7</th><td>31.037</td><td>60.868</td><td>91.602</td></tr><tr><th>Axis 8</th><td>25.593</td><td>47.715</td><td>69.1</td></tr></tbody></table>

## 5 Robotic cell kinematic model

The robot is programmed by defining the desired torch feed rate (in our case, 60 cm/min [23]) and a list of TCP positions along with torch axis orientations in the program coordinate system, with x, y and z the position and $r_x, r_y, r_z$ the orientation of the TCP, and $q_7, q_8$ the orientation of the rotary table (Figure 8).

As the robotic cell is an 8-axis cell, a redundancy management is needed. It is done by imposing the joint coordinate of the rotary table axis (Eq 1, Eq 2).

$$q_7 = r_y \qquad (1)$$

$$q_8 = -r_z \text{ modulo } 360^{\circ} \qquad (2)$$

The numerical control then computes the tool path of the 6-axis robot. Finally the robotic cell is set into motion according to the behavior of the control law. Thus, the planning of the torch tool path and the robot motion control influence the torch feed rate, and consequently, the wire deposition process.

A kinematic model needs to be defined to analyze the actual kinematic behavior of the robot. The objective of the model is to predict the deposition feed rate regarding the robot active joint angle speeds. Therefore, initial work needs to be undertaken to establish the robot direct geometric model implemented in the numerical controller.

In the following sections, the geometric model of the robotic cell will be presented.
<figure><img src="image_10.png" /><figcaption>Fig. 8: Program of the first 4 points of the "tulip"</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Fig. 9: Illustration of the Denavit-Hartenberg formalism for a simple open structure [25]</figcaption></figure>

## 5.1 Geometric model of the WAAM robotic cell

The studied WAAM robotic cell is composed of two systems: a 6-axis robot and a rotary table (Figure 3). This work begins with the determination of the geometric model of the 6-axis robot before integrating the rotary table.

### 5.1.1 6-axis robot geometric model

There are several formalisms for geometrically modeling robots [24–26]. The Denavit-Hartenberg formalism is commonly encountered in the industrial world and is the one that guided this work [27].

Firstly, coordinate systems must be defined. They are fixed on each part of the robot following certain rules.

A simple open structure is composed of n+1 bodies noted $C_0, \dots, C_n$ and n joints (Figure 9). The body $C_0$ designates the base of the robot and the body $C_n$ the body
<figure><img src="image_12.png" /><figcaption>Fig. 10: DH model of the robotic arm</figcaption></figure>

<table><caption>**Table 3:** Denavit-Hartenberg parameters of the 6-axis robot</caption><thead><tr><th>j</th><th>σ<sub>j</sub></th><th>α<sub>j</sub></th><th>d<sub>j</sub></th><th>θ<sub>j</sub></th><th>r<sub>j</sub></th></tr></thead><tbody><tr><td>1</td><td>0</td><td>0</td><td>0</td><td>θ<sub>1</sub> = q<sub>1</sub></td><td>r<sub>1</sub></td></tr><tr><td>2</td><td>0</td><td>π/2</td><td>d<sub>2</sub></td><td>θ<sub>2</sub> = π/2 + q<sub>2</sub></td><td>0</td></tr><tr><td>3</td><td>0</td><td>0</td><td>d<sub>3</sub></td><td>θ<sub>3</sub> = q<sub>3</sub></td><td>0</td></tr><tr><td>4</td><td>0</td><td>π/2</td><td>d<sub>4</sub></td><td>θ<sub>4</sub> = q<sub>4</sub></td><td>r<sub>4</sub></td></tr><tr><td>5</td><td>0</td><td>-π/2</td><td>0</td><td>θ<sub>5</sub> = q<sub>5</sub></td><td>0</td></tr><tr><td>6</td><td>0</td><td>-π/2</td><td>0</td><td>θ<sub>6</sub> = -q<sub>6</sub></td><td>r<sub>6</sub></td></tr></tbody></table>

which carries the end-effector, in our case the torch. The joint $j$ connects the body $C_j$ to the body $C_{j-1}$. The coordinate system $R_j$ is attached to the body $C_j$. The transition from the coordinate system $R_{j-1}$ to the coordinate system $R_j$ is a function of four geometric parameters, $α_j$, $d_j$, $d_j$ and $r_j$ (Figure 9) [25].

Regarding the 6-axis robot (Figure 10), the angular position of axis $i$ is denoted $q_i$. The DH parameters of the 6-axis robot are provided in Table 3 regarding the initial configuration of the robot.

After defining the DH parameters for the 6-axis robot, the modeling of the rotary table should be carried out. The rotary table consists of two nominally perpendicular 1 degree-of-freedom rotation joint (Figure 11). The positions of these axes are denoted $q_7$ and $q_8$.

The coordinate system $R_0$ represents the base coordinate system of the robot. The coordinate system $R_r(O_r, x_r, y_r, z_r)$ is the reference frame of the rotary table. A coordinate system is associated with each part of the table following the DH formalism. The DH parameters of the rotary table are provided in Table 4.
<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /><figcaption>Fig. 11: DH model of the rotary table</figcaption></figure>

<table><caption>**Table 4:** Denavit-Hartenberg parameters of the rotary table</caption><thead><tr><th>j</th><th>σ<sub>j</sub></th><th>α<sub>j</sub></th><th>d<sub>j</sub></th><th>θ<sub>j</sub></th><th>r<sub>j</sub></th></tr></thead><tbody><tr><td>7</td><td>0</td><td>π/2</td><td>0</td><td>θ<sub>7</sub> = q<sub>7</sub></td><td>0</td></tr><tr><td>8</td><td>0</td><td>-π/2</td><td>0</td><td>θ<sub>8</sub> = q<sub>8</sub></td><td>r<sub>8</sub></td></tr></tbody></table>

From the DH parameters, the geometric model of the complete robotic cell is defined by writing the homogeneous transformation matrices between the coordinate system $R_{j-1}$ and $R_j$.

An homogeneous transformation matrix, denoted $^6T_e$, is defined to take into account that the TCP is located at the end of the torch (Eq 3). The position of the TCP with respect to the origin of axis 6 are implemented in the robot numerical controller, and can thus be extracted. Here, the coordinates of the TCP in $R_6$ are $J_{xtorch} = 8.916$ mm, $J_{ytorch} = 0.348$ mm, $J_{ztorch} = 508.163$ mm.

$$ ^6T_e = \begin{bmatrix} 1 & 0 & 0 & J_{xtorch} \\ 0 & 1 & 0 & J_{ytorch} \\ 0 & 0 & 1 & J_{ztorch} \\ 0 & 0 & 0 & 1 \end{bmatrix} \qquad (3) $$

An other homogeneous transformation operator, denoted $^0T_r$, is introduced to define the offset between the center of the base coordinate system of the 6-axis robot $O_0$ and the center of the base coordinate system of the table $O_r$ (Eq 4). $x_r, y_r$ and $z_r$ are the coordinates of $O_r$ in frame $R_0$.

$$ ^0T_r = \begin{bmatrix} 1 & 0 & 0 & x_r \\ 0 & 1 & 0 & y_r \\ 0 & 0 & 1 & z_r \\ 0 & 0 & 0 & 1 \end{bmatrix} \qquad (4) $$

A final homogeneous transformation operator, denoted $^8T_p$, is defined to incorporate the offset between the workpiece coordinate system $R_p$ and the axis 8 coordinate system $R_8$ (Eq 5).
$$ {}^{8}\mathbf{T}_{p} = \begin{bmatrix} I_{x} & I_{y} & I_{z} & x_{p} \\ J_{x} & J_{y} & J_{z} & y_{p} \\ K_{x} & K_{y} & K_{z} & z_{p} \\ 0 & 0 & 0 & 1 \end{bmatrix} \qquad (5) $$

where $I_x, J_x$ and $K_x$ are the coordinates of axis $\mathbf{x}_p$ in frame $\mathcal{R}_8$. The same notations are used for the coordinates of axis $\mathbf{y}_p$ and $\mathbf{z}_p$. $x_p, y_p$, and $z_p$ are the coordinates of the $\mathcal{R}_p$ origin in frame $\mathcal{R}_8$.

These parameters depend on the setup of the robotic cell and can be extracted from the numerical controller (Eq 6, Eq 7 and Eq 8) except for $(x_p, y_p, z_p)$ which can not be extracted directly in our case.

$$ \mathbf{x}_p = \begin{bmatrix} I_x \\ J_x \\ K_x \end{bmatrix} = \begin{bmatrix} 0.99999 \\ -0.00013 \\ 0.00015 \end{bmatrix} \qquad (6) $$

$$ \mathbf{y}_p = \begin{bmatrix} I_y \\ J_y \\ K_y \end{bmatrix} = \begin{bmatrix} 0.00013 \\ 0.99999 \\ 0.00008 \end{bmatrix} \qquad (7) $$

$$ \mathbf{z}_p = \begin{bmatrix} I_z \\ J_z \\ K_z \end{bmatrix} = \begin{bmatrix} -0.00014 \\ 0.00008 \\ 0.99999 \end{bmatrix} \qquad (8) $$

The direct geometric model of the robotic cell, which enables the determination of the torch position in the workpiece reference frame, $\mathcal{R}_p$, is thus obtained from Eq 9.

$$ \mathbf{U} = {}^{p}\mathbf{T}_{e} = {}^{p}\mathbf{T}_{8} {}^{8}\mathbf{T}_{7} {}^{7}\mathbf{T}_{r} {}^{r}\mathbf{T}_{0} {}^{0}\mathbf{T}_{1} {}^{1}\mathbf{T}_{2} {}^{2}\mathbf{T}_{3} {}^{3}\mathbf{T}_{4} {}^{4}\mathbf{T}_{5} {}^{5}\mathbf{T}_{6} {}^{6}\mathbf{T}_{e} \qquad (9) $$

### 5.1.2 Parameters identification

The finalization of the geometric model implemented in the numerical controller involves identifying the geometric parameters values. An experimentation is conducted following a two steps procedure. Firstly, by considering the pose of the torch in the robot's reference coordinate system $\mathcal{R}_0$ and then in the workpiece reference coordinate system $\mathcal{R}_p$. The coordinates of the torch used are provided by the numerical controller. The objective is to replicate the same geometric model as used in the numerical controller. Each axis is set in motion independently, as in the "Circle Point Analysis" (CPA) strategy [28].

These tests showed that the DH parameter values of the 6-axis robot and the rotary table implemented in the numerical controller are the nominal values (Table 5).

These tests ensure to determine the parameters of the homogeneous transformation operators between $\mathcal{R}_0$ and $\mathcal{R}_r$, and between $\mathcal{R}_8$ and $\mathcal{R}_p$, allowing to position the 6-axis robot relative to the rotary table (Table 6).

After, the identification process, the errors between measured points and computed ones are in average 0.011 mm with a maximum value of 0.030 mm.

The obtained geometric model serves as the foundation for the kinematic model of the robotic cell.
<table><caption>**Table 5:** Geometric parameters of the robot and the rotary table</caption><thead><tr><td>Identified parameter</td><td>Nominal value in mm</td></tr></thead><tbody><tr><td>r<sub>1</sub></td><td>0</td></tr><tr><td>d<sub>2</sub></td><td>155</td></tr><tr><td>d<sub>3</sub></td><td>614</td></tr><tr><td>d<sub>4</sub></td><td>200</td></tr><tr><td>r<sub>4</sub></td><td>640</td></tr><tr><td>r<sub>6</sub></td><td>100</td></tr><tr><td>r<sub>8</sub></td><td>230</td></tr><tr><td>d<sub>8</sub></td><td>0</td></tr></tbody></table>

<table><caption>**Table 6:** Geometrical parameters</caption><thead><tr><td>Identified parameter</td><td>Identified value in mm</td></tr></thead><tbody><tr><td>x<sub>r</sub></td><td>997.581</td></tr><tr><td>y<sub>r</sub></td><td>-9.434</td></tr><tr><td>z<sub>r</sub></td><td>-583.737</td></tr><tr><td>x<sub>p</sub></td><td>0.137</td></tr><tr><td>y<sub>p</sub></td><td>0.044</td></tr><tr><td>z<sub>p</sub></td><td>45.953</td></tr></tbody></table>

Now, the challenge is to estimate the deposition speed during the manufacturing of the "tulip" part in order to analyze the impact of the robot kinematic behavior on the defects produced.

## 5.2 Kinematic model of the manufacturing cell

For the studied robotic cell, only the motor speed of each actuated joint can be measured using the numerical controller. Thus a model that allows to compute the deposition speed based on the motor angle speed is needed. As the motor is linked to the axis with a gear box, it is therefore necessary to determine the reduction ratio between the motors and the axis before implementing the direct kinematic model. The direct kinematic model allows us to calculate the speed of the TCP.

### 5.2.1 Determination of reduction ratios

The information regarding the reduction ratios is an input of the programming robot software, we fund setup files that define these ratios for the Yaskawa 6-axis MA1440 robot. As for the rotary table, this information is specified in the technical documentation.

To validate these ratios, an experiment is conducted in the WAAM robotic cell using an inertial measurement unit (MTI-200) placed at the end-effector or on the table (Figure 5). The numerical controller has the ability to record the angular speed of each motor for a maximum of 50 seconds with a step of 4 ms.

Thus, to determine the reduction ratios, the angle speed of the motor and the angle speed of the axis are compared during the stabilized speed stage for separate movements of each axis (Table 7). In the following, we choose to keep the reduction
<table><caption>**Table 7:** Theoretical and measure reduction ratios of the WAAM robotic cell</caption><thead><tr><th></th><th>Motor angular speed<br>in tr/min</th><th>axis angular speed<br>in deg/s</th><th>measurement<br>reduction ratio</th><th>theoretical<br>reduction ratio</th></tr></thead><tbody><tr><td>Axis 1</td><td>241.318</td><td>11.3</td><td>128.133</td><td>126.154</td></tr><tr><td>Axis 2</td><td>190.1757</td><td>10.124</td><td>112.697</td><td>114.285</td></tr><tr><td>Axis 3</td><td>237.156</td><td>11.429</td><td>124.502</td><td>124.000</td></tr><tr><td>Axis 4</td><td>304.876</td><td>21.281</td><td>85.957</td><td>85.250</td></tr><tr><td>Axis 5</td><td>616.220</td><td>42.872</td><td>86.240</td><td>86.154</td></tr><tr><td>Axis 6</td><td>209.231</td><td>31.284</td><td>40.128</td><td>39.969</td></tr><tr><td>Axis 7</td><td>100</td><td>5.135</td><td>116.845</td><td>119</td></tr><tr><td>Axis 8</td><td>100</td><td>4</td><td>150</td><td>153</td></tr></tbody></table>

ratios at the theoretical values. Indeed, these values should be the ones used in the numerical controller and are not affected by the measurement accuracy.

These reduction ratios ensure the determination of the angle speed of each robot axis relative to the angle speed of the motors. The implementation of the direct kinematic model of the WAAM robotic cell should now be completed to compute the speed along the deposition tool path.

### 5.2.2 Direct kinematic model of the WAAM robotic cell

The direct kinematic model ensures the computation of the end-effector velocity in the workpiece frame regarding the angular speed of the actuated axes. This model is obtained by differentiating the direct geometric model given by matrix **U** in Eq. 9. Matrix **U** is a 4x4 matrix composed of a 3x3 rotation matrix, denoted **Rot** between the end-effector frame $\mathcal{R}_e$ and the workpiece frame $\mathcal{R}_p$, and of a vector composed of the TCP coordinates in $\mathcal{R}_p$, denoted $(x, y, z)$ (Eq. 10).

$$ \mathbf{U} = \begin{pmatrix} & x \\ \mathbf{Rot} & y \\ & z \\ 0 & 0 & 0 & 1 \end{pmatrix} \qquad (10) $$

Eq. 11 provides the generic formulation of the direct kinematic model [25].

$$ \dot{\mathbf{X}} = \sum_{i} \frac{d\mathbf{U}}{dq_i} \dot{q}_i \qquad (11) $$

where $\dot{\mathbf{X}}$ is a matrix that enables the computation of the torch velocity in the workpiece frame $\mathcal{R}_p$ (Eq. 12).

$$ \dot{\mathbf{X}} = \begin{pmatrix} & \dot{x} \\ \frac{d\mathbf{Rot}}{dt} & \dot{y} \\ & \dot{z} \\ 0 & 0 & 0 & 1 \end{pmatrix} \qquad (12) $$

Finally, the feed rate of the torch TCP along the deposition tool path is computed according to Eq. 13.

$$ \| \vec{\mathbf{V}}_{TCP/piece} \| = \sqrt{\dot{x}^2 + \dot{y}^2 + \dot{z}^2} \qquad (13) $$
<figure><img src="image_15.png" /><figcaption>Fig. 12: Angle speed of each axis during the manufacturing of the "tulip"</figcaption></figure>

It is now possible to determine the deposition feed rate during the manufacturing of the "tulip" part relative to the angle speed of the motor.

### 5.2.3 Application to the "tulip" part

To determine the deposition feed rate during the manufacturing of the "tulip" part, the angular speeds of the motors were recorded for a portion of the "tulip" part tool path, corresponding to an acquisition duration of 36 seconds (Figure 12).

The inverse kinematic model introduced previously is then used to compute the deposition feed rate from the measured angular speed (Figure 13). The colors of the two curves represent the same amplitude of the deposition feed rate. In Figure 13a, we can observe that the deposition feed rate is not constant. An analysis of the curve reveals a non-expected kinematic behavior. Usually slowdown is observed in portions of the tool path where the curvature radius is small [17]. In this case, slowdowns appear in straight line (in red in Figure 13b), while velocity peaks up to 300 cm/min occur during direction change (in blue and pink in Figure 13b).

If the manufactured defect on the "tulip" part in Figure 1b is compared to the deposition feed rate in Figure 13b, the defect is consistent with the feed rate value. Specifically, there is wall enlargement in the area where the torch slows down, and thinning of the wall where the torch reaches higher speeds. This initial test allows us
<figure><img src="image_16.png" /><figcaption>**Fig. 13:** TCP feed rate along the tool path. The color in (a) and (b) represents the same velocity</figcaption></figure>

<figure><img src="image_17.png" /><figcaption>**Fig. 14:** Simulated position of the TCP for the "tulip" part tool path following</figcaption></figure>

to conclude that indeed, the kinematic behavior of the robotic cell used for WAAM has an impact on the defects of the manufactured part.

Moreover, integrating the deposition feed rate ensures the simulation of the defect positions on the TCP caused by the numerical controller (Figure 14). We observed a maximum deviation up to 0.6 mm along z-axis in the area of abrupt changes in tool path direction.

To enhance the kinematic analysis of the WAAM robotic cell in order to know if the robot is able to do the path at the set speed, we implement an additional studies. The study involves computing the attempted kinematic load of each actuated axis to maintain a constant feed rate throughout the deposition tool path.
# 6 Computation of kinematic of each axis for a constant deposition feed rate

The computation of the kinematic load for each axis requires the definition of the inverse kinematic model. The aim of this study is to compute the theoretical kinematic load of each axis for a constant deposition feed rate for the "tulip" part tool path.

Several steps are necessary for this calculation:

* Computation of the TCP speed vector for each point of the "tulip" part program in the workpiece frame $R_p$

* Computation of the angular velocity of the torch in $R_p$ for each point of the "tulip" part program

* Computation of the torch acceleration behavior to follow the "tulip" part tool path at the program feed rate

* Computation of the kinematic load (angular velocity and acceleration) of each axis based on the redundancy management strategy selected by the robotic cell integrator

Each step is detailed in the following subsections.

## 6.1 Computation of the torch velocity in the workpiece frame

The tool path followed by the torch is described chronologically in a program that lists the coordinates of the different crossing points in the workpiece frame $R_p$ as well as the torch orientation at these points. These points are denoted $A_i$, and their coordinates in $R_p$ are $(x_{Ai}, y_{Ai}, z_{Ai})$. The orientation of the torch frame $R_e$ in $R_p$ is defined according to Euler angles (Yaw-Pitch-Row), denoted as $(r_{xi}, r_{yi}, r_{zi})$. The desired feed rate of the torch TCP along the deposition tool path is denoted as $V_f$.

To compute the kinematic load of the torch to maintain a constant velocity $V_f$ along the "tulip" part tool path, we opt to calculate the displacement and angular velocity vectors at each point $A_i$ of the program using circular interpolation. This strategy should enable us to propose an analytical calculation method that can be used in other studies to optimize the kinematic axis load while considering redundancy management.

Thus, we do the assumption that a circle of radius $R_i$ and centre $O_i$ passes through three consecutive points of the program, $A_{i-1}$, $A_i$ and $A_{i+1}$ (Figure 15). The velocity vector at point $A_i$, denoted $V_{Ai}$, is along the tangent to the circle and has a magnitude of $V_f$. Given the coordinates of $A_{i-1}$, $A_i$ and $A_{i+1}$ in the workpiece reference frame, denoted $\mathbf{a}_{i-1}$, $\mathbf{a}_i$, $\mathbf{a}_{i+1}$, the challenge is to find the coordinates $\mathbf{o}_i$ of the circle centre point $O_i$ in the workpiece frame in order to deduce the orientation of the vector $V_{Ai}$.

Let $M_{i-1}$ and $M_i$ be the midpoints of the points $A_{i-1}$ and $A_i$, and $A_i$ and $A_{i+1}$, respectively (Figure 15). Let $\mathbf{v}'_i$ and $\mathbf{v}_i$ be the direction unit vectors of the lines passing through $A_i$, $A_{i-1}$ and $A_i$ and $A_{i+1}$, respectively. The point $O_i$ is the intersection point between the line passing through $M_{i-1}$ and perpendicular to $\mathbf{v}'_i$ and the line passing through $M_i$ and perpendicular to $\mathbf{v}_i$. A geometric calculation should now be used to compute the position of this point.

Let $\mathbf{w}_i$ be the vector normal to the plane containing the 3 points $A_{i-1}$, $A_i$ and $A_{i+1}$. $\mathbf{w}_i$ can be computed using the Eq 15.
<figure><img src="image_18.png" /><figcaption>Fig. 15: Illustration of the method for calculating the velocity at a point A_i of the program</figcaption></figure>

$$ \mathbf{w}_i = - \frac{\mathbf{v}_i \times \mathbf{v}_i'}{\|\mathbf{v}_i \times \mathbf{v}_i'\|} \qquad (14) $$

The coordinates of the vector from O_i to M_i in the workpiece coordinate system, denoted om_i, are defined such that:

$$ \mathbf{om}_i = -\lambda_i \mathbf{u}_i \quad \text{and} \quad \mathbf{u}_i = \mathbf{v}_i \times \mathbf{w}_i \qquad (15) $$

Thus, using Eq 16, the value of λ_i is known and enables the calculation of the coordinates o_i of the point O_i in the workpiece reference frame (Eq 17).

$$ \lambda_i = \frac{(\mathbf{m}_{i-1} - \mathbf{m}_i) \cdot \mathbf{v}_i'}{\mathbf{u}_i \cdot \mathbf{v}_i'} \qquad (16) $$

$$ \mathbf{o}_i = \frac{\mathbf{a}_i + \mathbf{a}_{i+1}}{2} + \lambda_i \mathbf{u}_i \qquad (17) $$

The radius of the circle is then equal to:

$$ R_i = \|\mathbf{a}_i - \mathbf{o}_i\| \qquad (18) $$

Finally,

$$ \mathbf{V}_{Ai} = \frac{V_f}{R_i}(\mathbf{a}_i - \mathbf{o}_i) \times \mathbf{w}_i \qquad (19) $$

Once the desired speed of the torch TCP has been calculated, the angular speed of the torch frame R_c in the workpiece frame R_p must be determined. The formalism used to control the rotation of the robot is Euler angles (Figure 16b). The angular speed Ω_i is then expressed according to Eq 20. The challenge is therefore to calculate the values r'_x, r'_y and r'_z which ensure the change of orientation of the torch frame in coherence with the speed of point A_i, V_Ai.

$$ \Omega_i = \dot{r}_{xi}\mathbf{x}_{ei} + \dot{r}_{yi}\mathbf{y}_{i} + \dot{r}_{zi}\mathbf{z}_{p} \qquad (20) $$

Two other points on the torch, B_i and C_i, are then considered (Figure 16a). The coordinates of these points in the workpiece coordinate system R_p are given as b_i and
<figure><img src="image_19.png" /><figcaption>Fig. 16: Definition of the rotation parameters between the workpiece frame and the torch frame</figcaption></figure>

$c_i$. Point $B_i$ is chosen such that $\mathbf{b}_i - \mathbf{a}_i = dz_{ei}$ and point $C_i$, $\mathbf{c}_i - \mathbf{a}_i = dx_{ei}$. The value of $d$ is arbitrarily chosen to be 100 mm.

To calculate the rotation speed of the torch reference frame $\mathcal{R}_e$, we need to compute the displacement velocity $\mathbf{V}_{Bi}$ and $\mathbf{V}_{Ci}$ of points $B_i$ and $C_i$.

The direction unit vectors $\mathbf{v}_{bi}$ and $\mathbf{v}_{ci}$ of $\mathbf{V}_{Bi}$ and $\mathbf{V}_{Ci}$ are calculated as before with a circular interpolation of the trajectory followed by the points $B_i$ and $C_i$ (Eq 21).

$$ \mathbf{v}_{bi} = \frac{1}{R_{bi}}(\mathbf{b}_i - \mathbf{o}_{bi}) \times \mathbf{w}_{bi} \quad \text{and} \quad \mathbf{v}_{ci} = \frac{1}{R_{ci}}(\mathbf{c}_i - \mathbf{o}_{ci}) \times \mathbf{w}_{ci} \quad (21) $$

where $R_{bi}$ and $R_{ci}$ are the radii of the circles passing through points $B_{i-1}$, $B_i$ and $B_{i+1}$ and points $C_{i-1}$, $C_i$ and $C_{i+1}$, $\mathbf{o}_{bi}$ and $\mathbf{o}_{ci}$ are the centres of these circles, and $\mathbf{w}_{bi}$ and $\mathbf{w}_{ci}$ are the normals of the plane containing the circles.

The velocity magnitudes at $B_i$ and $C_i$ are then calculated using the equiprojectivity property of the velocities (Eq 22).

$$ \mathbf{V}_{Bi} = \frac{\mathbf{V}_{Ai} \cdot (\mathbf{b}_i - \mathbf{a}_i)}{\mathbf{v}_{bi} \cdot (\mathbf{b}_i - \mathbf{a}_i)} \mathbf{v}_{bi} \quad \text{et} \quad \mathbf{V}_{Ci} = \frac{\mathbf{V}_{Ai} \cdot (\mathbf{c}_i - \mathbf{a}_i)}{\mathbf{v}_{ci} \cdot (\mathbf{c}_i - \mathbf{a}_i)} \mathbf{v}_{ci} \quad (22) $$

The rotation speed is then calculated using the moment propriety (Eq 23).

$$ \mathbf{V}_{Ai} - \mathbf{V}_{Bi} = dz_{ei} \times \mathbf{\Omega}_i \quad \text{and} \quad \mathbf{V}_{Ai} - \mathbf{V}_{Ci} = dx_{ei} \times \mathbf{\Omega}_i \quad (23) $$

The coordinates of $\mathbf{\Omega}_i$ are thus deduced in the torch reference frame $\mathcal{R}_e$:

$$ \left\{ \begin{aligned} \mathbf{\Omega}_i \cdot \mathbf{x}_{ei} &= \frac{(\mathbf{V}_{Ai} - \mathbf{V}_{Bi}) \cdot \mathbf{y}_{ei}}{d} \\ \mathbf{\Omega}_i \cdot \mathbf{y}_{ei} &= -\frac{(\mathbf{V}_{Ai} - \mathbf{V}_{Bi}) \cdot \mathbf{x}_{ei}}{d} \\ \mathbf{\Omega}_i \cdot \mathbf{z}_{ei} &= -\frac{(\mathbf{V}_{Ai} - \mathbf{V}_{Ci}) \cdot \mathbf{y}_{ei}}{d} \end{aligned} \right. \quad (24) $$
We can therefore deduce that:

$$ \left\{ \begin{aligned} \dot{r}_{xi} &= \frac{\Omega_i \cdot \mathbf{x}'_i}{\cos(r_{yi})} \\ \dot{r}_{yi} &= \Omega_i \cdot \mathbf{y}'_i \\ \dot{r}_{zi} &= \frac{\Omega_i \cdot \mathbf{z}''_i}{\cos(r_{yi})} \end{aligned} \right. \qquad (25) $$

Calculating the displacement speed of the torch is the first step in determining the kinematic loads of the robot axes. The acceleration loads on the torch required to follow the trajectory at a given speed should now be computed.

## 6.2 Computation of the torch acceleration in the workpiece frame

The acceleration load on the torch is determined by differentiating the velocities calculated above. The challenge is to determine the acceleration of point $A_i$, denoted $\Gamma_{Ai}$, and the quantities $\ddot{r}_{xi}$, $\ddot{r}_{yi}$ and $\ddot{r}_{zi}$.

In a generic way, $\Gamma_{Ai}$ is obtained directly by differentiating $V_{Ai}$ (Eq 26).

$$ \Gamma_{Ai} = \left( \frac{dV_{Ai}}{dt} \right)_{R_p} = \left( \frac{dV_{Ai}}{dt} \right)_{R_{ei}} + \Omega_i \times V_{Ai} \qquad (26) $$

where $(\frac{dV_{Ai}}{dt})_{R_p}$ is the derivative of $V_{Ai}$ considering the workpiece frame $R_p$ as fixed and $(\frac{dV_{Ai}}{dt})_{R_{ei}}$ is the derivative of $V_{Ai}$ considering the torch frame $R_e$ at point $A_i$ as fixed.

The term $(\frac{dV_{Ai}}{dt})_{R_{ei}}$ is approximated by:

$$ \left( \frac{dV_{Ai}}{dt} \right)_{R_{ei}} = \frac{V_{Ai+1}^2 - V_{Ai}^2}{2R_i \theta_i} \qquad (27) $$

where $\theta_i$ is the angle between the line passing through $O_i$ and $A_i$ and the line passing through $O_i$ and $A_{i+1}$, so $\cos \theta_i = \frac{(\mathbf{a}_i - \mathbf{o}_i) \cdot (\mathbf{a}_{i+1} - \mathbf{o}_i)}{R_i^2}$. Note that in the case of point $A_i$, $V_{Ai+1}^2 = V_{Ai}^2$, thus $\Gamma_{Ai} = \Omega_i \times V_{Ai}$.

This same approach is used to compute $\Gamma_{Bi}$ and $\Gamma_{Ci}$.

For the calculation of the second order differentiation of the rotation parameters, the Eq 24 is differenciated (Eq 28).

$$ \left\{ \begin{aligned} \left( \frac{d\Omega_i}{dt} \right)_{R_p} \cdot \mathbf{x}_{ei} &= \frac{(\Gamma_{Ai} - \Gamma_{Bi}) \cdot \mathbf{y}_{ei} + (V_{Ai} - V_{Bi}) \cdot (\Omega_i \times \mathbf{y}_{ei})}{d} \\ \left( \frac{d\Omega_i}{dt} \right)_{R_p} \cdot \mathbf{y}_{ei} &= - \frac{(\Gamma_{Ai} - \Gamma_{Bi}) \cdot \mathbf{x}_{ei} + (V_{Ai} - V_{Bi}) \cdot (\Omega_i \times \mathbf{x}_{ei})}{d} \\ \left( \frac{d\Omega_i}{dt} \right)_{R_p} \cdot \mathbf{z}_{ei} &= - \frac{(\Gamma_{Ai} - \Gamma_{Ci}) \cdot \mathbf{y}_{ei} + (V_{Ai} - V_{Ci}) \cdot (\Omega_i \times \mathbf{y}_{ei})}{d} \end{aligned} \right. \qquad (28) $$

We can therefore deduce that:

$$ \left\{ \begin{aligned} \ddot{r}_{xi} &= \frac{1}{\cos(r_{yi})} \left( \left( \frac{d\Omega_i}{dt} \right)_{R_p} \cdot \mathbf{x}'_i - \dot{r}_{xi}(\Omega_i \times \mathbf{x}_{ei}) \cdot \mathbf{x}'_i + \dot{r}_{yi}\dot{r}_{zi} \right) \\ \ddot{r}_{yi} &= \left( \frac{d\Omega_i}{dt} \right)_{R_p} \cdot \mathbf{y}'_i \\ \ddot{r}_{zi} &= \frac{1}{\cos(r_{yi})} \left( \left( \frac{d\Omega_i}{dt} \right)_{R_p} \cdot \mathbf{z}''_i - \dot{r}_{xi}(\Omega_i \times \mathbf{x}_{ei}) \cdot \mathbf{z}''_i + \dot{r}_{yi}\dot{r}_{zi}\mathbf{x}'_i \cdot \mathbf{z}''_i \right) \end{aligned} \right. \qquad (29) $$
<figure><img src="image_20.png" /><figcaption>Fig. 17: plot of measured and simulated joint velocity for each axis</figcaption></figure>

Based on the previous calculation, the kinematic loads on the torch, required to ensure that the deposit trajectory can be followed at a constant speed, are determined. This data can now be used to calculate the kinematic load on the robot axes using the inverse kinematic model.

## 6.3 Computation of the inverse kinematic model of the robot

The inverse kinematic model is computed by using the direct kinematic model and by considering the robot redundancy management strategy. In the case of the robot cell studied, the redundancy management strategy, defined by the manufacturer, consists of considering $q_7 = r_y$ and $q_8 = -r_z$. This choice allows the robot TCP to move in the $(x, z)$ plane. An angle between the torch and the vertical may appear depending on the value of $r_x$.

Thus, $\dot{q}_7 = \dot{r}_y$ and $\dot{q}_8 = -\dot{r}_z$. The load on the other axes can be computed for each point of the program. The calculation of the time needed to go from one point of the program to another is done by the approximation of Eq 30.

$$ \Delta t_i = \frac{R_i \theta_i}{\|\mathbf{V}_{Ai}\|} \qquad (30) $$

Figure 17 shows the comparison of the kinematic loads of the 8 robot axes calculated to maintain a constant feed rate of 60 cm/min with angular axis velocity measurement curves. Note that the calculated initial angular axis velocities are not zero in our case. The maximum angular velocities required to achieve a torch feed speed of 60 cm/min are lower than the maximum speeds reachable by the robot axes.
<figure><img src="image_21.png" /><figcaption>Fig. 18: Simulated joint acceleration for each robot axis</figcaption></figure>

Concerning acceleration, Figure 18 shows the acceleration load on each axis required to achieve a torch feed speed of 60 cm/min. We can see that the maximum acceleration on each axis is still less than their maximum capacities (Table 2).

# 7 Results analysis

Analysis of Figure 17 shows a significant difference between the measured and simulated joint speeds for axes 1 to 6, i.e. the axes of the 6-axis robot. For the rotary table axes, the two curves are close. This difference in speed partly explains why the actual speed, at which the "tulip" part tool path is followed, is not the program speed (Figure 13).

In terms of joint position, the comparison between the joint positions estimated using the measurements or the model shows good consistency (Figure 19). The error between the two estimations is less than 0.5 deg and homogeneous on all axes (6-axis robot and rotary table) (Figure 20).

As shown in Table 2 in Section 4, the velocity and acceleration capacities are sufficient to follow the tool path with a feed rate of 60 cm/min without exceeding the maximum limits of velocity and acceleration for each axis. This difference in error between kinematic and positional behaviour can be explained by the nature of the simple PID control scheme classically used for a robotic cell [29]. Indeed, this scheme is derived from the initial use of robots to control robot position for pick and place operations.
<figure><img src="image_22.png" /><figcaption>Fig. 19: measured and simulated joint position of each axis</figcaption></figure>

<figure><img src="image_23.png" /><figcaption>Fig. 20: difference between measured and simulated joint position of each axis</figcaption></figure>

Thus, it appears that to produce a part with the quality expected in WAAM, the implementation of the robotic cell must be adapted to the necessary position and speed requirements.
# 8 Conclusion

In conclusion, the determination of the direct kinematic model of the robot enables to calculate the speed of the TCP relative to the part. This revealed that speed peaks can exceeded the program deposition feed rate by a factor of 5. These speed peaks are unusual compared to machine kinematic behavior observed in classical milling machining, where it is typical to observe a speed decrease before a direction change. Furthermore, the definition of the inverse kinematic model, allows for the computation of the attempted kinematic load for each axis for a program deposition feed rate. Determining the kinematic capacity of each axis of the robot validates its capacity to follow the desired trajectory at the programmed speed. Finally, this study leads to the development of a test protocol aimed at determining the ability of a robot to follow a trajectory at a program speed and assisting in the setup of the printing process and the robotic cell. This protocol will now be tested on other robotic cells with the idea to develop a standard protocol to test the kinematic behavior of a robotic cell for tasks that require an accurate control of the tool path following speed.

# Acknowledgement

The work presented in this article is financed by the Région Auvergne Rhône Alpes as part of the CraFT project.

# Funding

The work presented in this article is financed by the Région Auvergne Rhône Alpes as part of the CraFT project.

# Conflicts of interest

All other authors have no conflicts of interest.

# Authors' contributions

All authors contributed to the study.

Material preparation, data collection and analysis were performed by Baccomo and Chanal.

Limousin, Baccomo and Chanal carried out the kinematic measurements.

The first draft of the manuscript was written by Baccomo and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.

# References

[1] Chalvin, M., Campocasso, S., Hugel, V., Baizeau, T.: Layer-by-layer generation of optimized joint trajectory for multi-axis robotized additive manufacturing of
parts of revolution. Robotics and Computer-Integrated Manufacturing **65**, 101960
(2020)

[2] Thewlis, G., Milner, D.: Inclusion formation in arc welding. Weld. J **56**, 281–288 (1977)

[3] Gu, J., Cong, B., Ding, J., Williams, S.W., Zhai, Y.: Wire+ arc additive manufacturing of aluminum. In: 2014 International Solid Freeform Fabrication Symposium (2014). University of Texas at Austin

[4] Gu, J., Ding, J., Williams, S.W., Gu, H., Ma, P., Zhai, Y.: The effect of inter-layer cold working and post-deposition heat treatment on porosity in additively manufactured aluminum alloys. Journal of materials processing technology **230**, 26–34 (2016)

[5] Dinovitzer, M., Chen, X., Laliberte, J., Huang, X., Frei, H.: Effect of wire and arc additive manufacturing (waam) process parameters on bead geometry and microstructure. Additive Manufacturing **26**, 138–146 (2019)

[6] Ding, D., Pan, Z., Cuiuri, D., Li, H.: Wire-feed additive manufacturing of metal components: technologies, developments and future interests. The International Journal of Advanced Manufacturing Technology **81**(1), 465–481 (2015)

[7] Urbanic, R., Hedrick, R., Burford, C.: A process planning framework and virtual representation for bead-based additive manufacturing processes. The International Journal of Advanced Manufacturing Technology **90**, 361–376 (2017)

[8] Yu, J., Lin, X., Ma, L., Wang, J., Fu, X., Chen, J., Huang, W.: Influence of laser deposition patterns on part distortion, interior quality and mechanical properties by laser solid forming (lsf). Materials Science and Engineering: A **528**(3), 1094–1104 (2011)

[9] Spencer, J., Dickens, P., Wykes, C.: Rapid prototyping of metal parts by three-dimensional welding. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture **212**(3), 175–182 (1998)

[10] Ocelík, V., Eekma, M., Hemmati, I., De Hosson, J.T.M.: Elimination of start/stop defects in laser cladding. Surface and Coatings Technology **206**(8-9), 2403–2409 (2012)

[11] Yilmaz, O., Ugla, A.A.: Development of a cold wire-feed additive layer manufacturing system using shaped metal deposition method. Journal of Mechanical Science and Technology **31**, 1611–1620 (2017)

[12] Selvi, S., Vishvaksenan, A., Rajasekar, E.: Cold metal transfer (cmt) technology-an overview. Defence technology **14**(1), 28–44 (2018)
[13] Fronius: Cold Metal Transfer : The Technology. CMT technology, ??? (2014)

[14] Jin, W., Zhang, C., Jin, S., Tian, Y., Wellmann, D., Liu, W.: Wire arc additive manufacturing of stainless steels: a review. Applied sciences **10**(5), 1563 (2020)

[15] Castagnetti, C., Duc, E., Ray, P.: The domain of admissible orientation concept: a new method for five-axis tool path optimisation. Computer-Aided Design **40**(9), 938–950 (2008)

[16] Debout, P., Chanal, H., Duc, E.: Tool path smoothing of a redundant machine: Application to automated fiber placement. Computer-Aided Design **43**(2), 122–132 (2011)

[17] Pateloup, V., Chanal, H., Duc, E., Ray, P.: Hsm-adapted tool path calculation for pocketing. Machining science and technology **10**(2), 181–196 (2006)

[18] Bandari, Y.K., Charrett, T.O., Michel, F., Ding, J., Williams, S.W., Tatum, R.P.: Compensation strategies for robotic motion errors for additive manufacturing (am) (2016)

[19] Novelino, A.L.B., Carvalho, G.C.d., Ziberov, M.: Influence of waam-cmt deposition parameters on wall geometry. Advances in Industrial and Manufacturing Engineering **5**, 100105 (2022)

[20] Viola, R.D.S., Balandraud, X., Poulhaon, F., Michaud, P., Duc, E.: Complex interaction between cmt equipment and robot controllers during the waam process: consequences for toolpath accuracy. The International Journal of Advanced Manufacturing Technology **127**(11-12), 5611–5631 (2023)

[21] Pritschow, G., Garber, T., Eppler, C.: Influence of the dynamic stiffness on the accuracy of PKM.Development Methods and Application Experience of Parallel Kinematics. Tagungsband zum 3rd Chemnitz Parallel Kinematics Seminar. Chemnitz, 23.-25. April 2002 (2002)

[22] Williams, S.W., Martina, F., Addison, A.C., Ding, J., Pardal, G., Colegrove, P.: Wire+ arc additive manufacturing. Materials science and technology **32**(7), 641–647 (2016)

[23] Adebayo, A., Mehnen, J., Tonnellier, X.: Limiting travel speed in additive layer manufacturing (2012)

[24] Sheth, P.N., Uicker Jr, J.: A generalized symbolic notation for mechanisms (1971)

[25] Khalil, W., Dombre, E.: Modeling Identification and Control of Robots. CRC Press, Great Britain (2002)

[26] Craig, J.J.: Introduction to Robotics: Mechanics and Control. Pearson Education, Upper Saddle River (2005)
[27] Denavit, J., Hartenberg, R.S.: A kinematic notation for lower-pair mechanisms based on matrices (1955)

[28] Cho, Y., Do, H.M., Cheong, J.: Screw based kinematic calibration method for robot manipulators with joint compliance using circular point analysis. Robotics and Computer-Integrated Manufacturing **60**, 63–76 (2019)

[29] Sciavicco, L., Siciliano, B.: Modelling and Control of Robot Manipulators. Springer, London (2012)