# Estimating the Young modulus of cables material in cable-driven parallel robots

Jean-Pierre Merlet

► To cite this version:

Jean-Pierre Merlet. Estimating the Young modulus of cables material in cable-driven parallel robots. CableCon 2025 - 7th International Conference on Cable-Driven Parallel Robots, Chinese University of Hong-Kong, Jul 2025, Hong-Kong, China. 10.1007/978-3-031-94608-0_3. hal-05287169

HAL Id: hal-05287169

https://inria.hal.science/hal-05287169v1

Submitted on 28 Sep 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_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Estimating the Young modulus of cables material in cable-driven parallel robots

Jean-Pierre Merlet<sup>INRIA Sophia-Antipolis, France [0000-0002-0401-5424]</sup>

INRIA Sophia-Antipolis, France Jean-Pierre.Merlet@inria.fr
https://www-sop.inria.fr/members/Jean-Pierre.Merlet/merlet_eng.html

**Abstract.** Cable wear in cable-driven parallel robot (CDPR) is a major concern regarding the safety of end-users for assistance applications or for preventive maintenance in industrial applications. To estimate this wear we propose to calibrate the Young modulus of the material of each cable, that is affected by the wear, using an approach based on the partial measurements of the platform pose at specific calibration poses. These measurements may be used to identify the Young modulus either with a deterministic algorithm or with a neural network with 2 variants. The deterministic method is more accurate and robust with respect to uncertainties but is computer intensive while the neural network is less accurate and robust but is almost real time.

**Keywords:** cable-driven parallel robot · wear · calibration · neural networks

## 1 CDPR modeling

Cable-driven parallel robot (CDPR) are using cables going through a fixed point $A_i$ in space and ending at a point $B_i$ on the platform. A winching mechanism (either a rotary winch or one using linear actuators) allows one to modify the lengths of the cable. For a CDPR with at least 6 cables an appropriate adjustment of the cable lengths allows for the control of the 6 d.o.f of the platform. In this paper our objective is to estimate the Young modulus $E$ of the material of each cable with the underlying assumption that cable wear will lead to a decrease of $E$ so that preventive maintenance may be based on $E$ value (usually cables are made of several coils acting in parallel and therefore the cable stiffness will decrease if some coils break down because of the wear). Although calibration is a classical problem in robotics and for CDPR [17,1] it is focused on geometry calibration while a more general model optimization approach has been presented in [11]. Still calibrating the $E$ of the cable has never been addressed for CDPR to the best of the author knowledge. Few papers have addressed wear of synthetic cables: optical inspection methods have been proposed [13] while a fatigue model may be used [19] but these approaches are not adapted for CDPR.

Statics plays an essential role on the workspace of a CDPR because cable can only pull. Calculation of the cable tension is heavily dependent upon the cable model and several model have been proposed. The widely used *ideal cable* model
(no elasticity and no mass) is not appropriate for our objective as it does not take into account the physical properties of the cable material. Other models more connected to the material properties have been proposed [3,6,12,14,18,20] and we have adopted the cable model presented in the textbook of Irvine [4] that has been experimentally shown to be appropriate for CDPR [15]. This model assumes that the cable lies in a vertical plane with its extremities in A, B (figure 1). A planar reference frame A, x, z is defined with A(0, 0) and B(xb, zb)

<figure><img src="image_2.png" /><figcaption>Fig. 1. An Irvine cable</figcaption></figure>

and the cable is submitted at B to a force with $F_x, F_z$ horizontal and vertical components. The Irvine model relates $xb, zb$ to $F_x, F_z$ and to the cable length at rest $L_0$. We have:

$$x_b = F_x \left( \frac{L_0}{EA_0} + \frac{\sinh^{-1}\left(\frac{F_z}{F_x}\right) - \sinh^{-1}\left(\frac{-\mu g L_0 + F_z}{F_x}\right)}{\mu g} \right) \quad (1)$$

$$z_b = \frac{F_z L_0}{EA_0} - \frac{\mu g L_0^2}{2EA_0} + \frac{\sqrt{F_x^2 + F_z^2} - \sqrt{F_x^2 + (-\mu g L_0 + F_z)^2}}{\mu g} \quad (2)$$

where E is the Young modulus of the cable material (which characterizes its elasticity), μ the linear density of the material and $A_0$ the area of a cable cross-section.

## 1.1 Effects of the Young modulus

We will assume that the CDPR is controlled through the variation of the $L_0$ of its cables which are measured and that the only external force applied on the platform is gravity. For a six d.o.f. CDPR with n cables the direct geometrico-static model (DK) of the CDPR consists in the 2n Irvine equations and in the 6 mechanical equilibrium conditions for a total of 2n + 6 equations. The unknowns in these equations are the 6 pose parameters X and the 2n components of the forces applied at the $B_i$ and consequently the DK is always a square system. The DK problem may be solved either using interval analysis [8], homotopy [9] or by using neural networks [7]. Let us consider that we have defined a specific pose $X_t$ corresponding to a specific set $L_0^t$ of $L_0$ under the assumption that all
cables have identical Young modulus $E_b$. Let us assume that some cable(s) have a lower $E$ than $E_b$ and investigate the measurable effects of these changes:

- if the cable is under tension its real length will be larger from the one with $E_b$ and consequently the pose $\mathbf{X}_m$ will differ from $\mathbf{X}_t$

- the cable slope at a given position on the cable will be different from the one with $E_b$. This effect will be larger if the cable is under a low tension

To illustrate that measurements are possible we may refer to the 4-1 CDPR (4 cables attached at the same point on the platform) that we have developed for an artistic exhibition[10] with 3 lidars to measure the position of the platform (the lidars were measuring points on calibrated walls or on the ground allowing to obtain the position with an accuracy of about ± 2mm). At the same time accelerometers were attached along the cable at a point $M$ located at one meter from the $B_i$ point to measure the cable slope at this point with an accuracy better than 5 degrees.

## 1.2 Simulation

Let us assume that for a set of $L_0$s the platform is at a pose $\mathbf{X}_t$ when all the cable's $E$ are equal to $E_b$ ($\mathbf{X}_t$ may be determined by using the DK solvers). The question is: can we determine what will be the pose $\mathbf{X}_m$ if one or several cables have an $E$ different from $E_b$? This problem may easily be solved using homotopy. Let us denote by $E_i$ the $E$ of the cables that have a value lower than $E_b$ and define an homotopy path by $E = E_b + \lambda(E_i - E_b)$ where $\lambda$ is a parameter in the range [0,1]. If $\lambda = 0$ the DK has $\mathbf{X}_t$ as solution and we define now $\lambda = \epsilon$: if $\epsilon$ has a sufficiently small value it may be shown that the Newton scheme with $\mathbf{X}_t$ as initial guess will converge to a DK solution $\mathbf{X}_n$ close to $\mathbf{X}_t$. We may repeat the process with a $\lambda > \epsilon$ using $\mathbf{X}_n$ as initial guess. Hence the $\lambda$ is incrementally increased until it reaches 1 in which case we will have $\mathbf{X}_m = \mathbf{X}_n$. It may also be shown that being given a DK solution the slope $\alpha$ of the cable at $M$ (with curvilinear coordinate $s$) is given by equation (3) so that we are able to calculate the difference between the slopes for $\mathbf{X}_t$ and for $\mathbf{X}_m$.

$$ \tan \alpha = \frac{\left( \frac{F_z}{EA_0} + \frac{\mu g(s-L_0)}{EA_0} + \frac{1}{\sqrt{F_x^2+(F_z+\mu g(s-L_0))^2}} (F_z + \mu g(s-L_0)) \right)}{F_x \left( \frac{1}{EA_0} + \frac{1}{\sqrt{F_x^2+(F_z+\mu g(s-L_0))^2}} \right)} \quad (3) $$

For our trials we have considered the 8 cables CDPR CoGiRo developed at LIRMM [2,5,16] whose location of the $A_i$, $B_i$ is defined in table 1. Cables are assumed to have a 4mm diameter, $\mu=0.079$ kg/m and an $E = E_b = 0.1 \times 10^{12}$ N/m$^2$.

## 2 Sensitivity

Sensitivity analysis has as objective to measure the differences of the measurements between the states $\mathbf{X}_t$ and $\mathbf{X}_m$ when the Young modulus of cable(s)
<table><caption>**Table 1.** Coordinates in meters of the $A_i, B_i$ points of the considered CDPR</caption><thead><tr><th></th><th>A<sub>1</sub></th><th>A<sub>2</sub></th><th>A<sub>3</sub></th><th>A<sub>4</sub></th><th>A<sub>5</sub></th><th>A<sub>6</sub></th><th>A<sub>7</sub></th><th>A<sub>8</sub></th></tr></thead><tbody><tr><th>x</th><td>-7.17512</td><td>-7.31591</td><td>-7.30285</td><td>7.18206</td><td>-7.16098</td><td>7.32331</td><td>7.30156</td><td>7.16129</td></tr><tr><th>y</th><td>-5.24398</td><td>-5.10296</td><td>5.23598</td><td>5.3476</td><td>5.37281</td><td>5.20584</td><td>-5.13255</td><td>-5.26946</td></tr><tr><th>z</th><td>5.46246</td><td>5.47222</td><td>5.47615</td><td>5.4883</td><td>5.48539</td><td>5.49903</td><td>5.489</td><td>5.49707</td></tr></tbody><thead><tr><th></th><th>B<sub>1</sub></th><th>B<sub>2</sub></th><th>B<sub>3</sub></th><th>B<sub>4</sub></th><th>B<sub>5</sub></th><th>B<sub>6</sub></th><th>B<sub>7</sub></th><th>B<sub>8</sub></th></tr></thead><tbody><tr><th>x</th><td>0.50321</td><td>-0.50974</td><td>-0.50321</td><td>-0.50321</td><td>0.49607</td><td>0.49964</td><td>0.50209</td><td>-0.50454</td></tr><tr><th>y</th><td>-0.49283</td><td>0.35090</td><td>-0.2699</td><td>0.49283</td><td>0.35562</td><td>-0.34028</td><td>0.2749</td><td>-0.34629</td></tr><tr><th>z</th><td>0</td><td>0.99753</td><td>0</td><td>0</td><td>0.99954</td><td>0.99918</td><td>-0.00062</td><td>0.99752</td></tr></tbody></table>

change. We will focus on the position part of the X because the platform orientation is more difficult to measure accurately and because it will be seen that the sensitivity for orientation measurements is low.

Regarding the position we define as criteria the distance $\Delta d$ between the position at $X_t$ and $X_m$. To illustrate sensitivity we have chosen 2 solutions of the DK defined in table 2 for a platform mass of 100 kg. The cable tensions $\tau$ for these two poses are presented in table 3.

<table><caption>**Table 2.** The two poses used for calculating the sensitivity (x,y,z in meters). The orientation angles are pitch, yaw, roll $\phi_1, \phi_2, \phi_3$ in degrees and the center of the mobile frame is the center of mass G of the platform.</caption><thead><tr><th>solution</th><th>x</th><th>y</th><th>z</th><th>φ<sub>1</sub></th><th>φ<sub>2</sub></th><th>φ<sub>3</sub></th></tr></thead><tbody><tr><td>1</td><td>-3.001</td><td>-2.000</td><td>1.994</td><td>0.006</td><td>-0.012</td><td>-0.028</td></tr><tr><td>2</td><td>-2.719</td><td>-2.462</td><td>2.945</td><td>72.080</td><td>-156.506</td><td>-92.376</td></tr></tbody></table>

<table><caption>**Table 3.** Cable tensions in N for the two poses</caption><thead><tr><th>solution</th><th>τ<sub>1</sub></th><th>τ<sub>2</sub></th><th>τ<sub>3</sub></th><th>τ<sub>4</sub></th><th>τ<sub>5</sub></th><th>τ<sub>6</sub></th><th>τ<sub>7</sub></th><th>τ<sub>8</sub></th></tr></thead><tbody><tr><td>1</td><td>533.92</td><td>555.56</td><td>285.91</td><td>257.77</td><td>258.05</td><td>281.82</td><td>318.44</td><td>318.78</td></tr><tr><td>2</td><td>958.53</td><td>184.77</td><td>229.95</td><td>243.66</td><td>314.53</td><td>218.58</td><td>787.84</td><td>9.71</td></tr></tbody></table>

Sensitivity may be illustrated by changing the $E_i$ of a given cable while keeping the other E to $E_b$ and calculating the curve $\Delta d$ as function of $E_i$ expressed in percentage of $E_b$. These curves are presented in figure 2 for both solutions for a platform mass of 100 kg. It may be seen on the figure that solution 1 has good sensitivity for $E_1, E_7$: assuming a detection threshold of 2mm significant change in the position will occur starting at $0.4E_b$ (for cable 7). For solution 2 they will occur when $E_1, E_3$ are going below $0.6E_b$: for $E_1 = 0.1E_b$ the distance between $X_t$ and $X_m$ will be around 5 cm. Similar curves may be obtained for the orientation angles (which may be obtained from 6 lidars) but they show a much lower sensitivity than $\Delta d$ which therefore motivates our focus on the position.

Similar curves may be obtained for the slopes but they show that the slope is usually less sensitive to the decrease of the $E_i$ and thus in the sequel of this paper we will focus on the measurements by the lidars of the coordinates $x_G, y_G, z_G$ of
<figure><img src="image_3.png" /><figcaption>**Fig. 2.** The curves $\Delta d$ when one of the $E_i$ decreases ($E_i$ is expressed in percentage of $E_b$). On the left for solution 1 and on the right for solution 2 both for a platform mass of 100 kg. Plots start for an $E_i$ such that $\Delta d_i$ is at least 1 mm.</figcaption></figure>

the center of mass *G* of the platform. However measuring the slope has an interest for control at it allows for identifying slack cable(s) in a pose. Such slackness may become a problem when the mechanical equilibrium on the trajectory imposes that a previously slack cable has to support the platform: slope measurements are used to keep slack cable length close to its under tension length.

**3 Calibration poses**

As may be seen in the previous sections the $E_i$ that exhibit the largest $\Delta d$ are the one having also the largest tension according to table 3. This makes sense as the larger the tension, the larger the change in the cable length when $E_i$ decreases and consequently a larger difference between $\mathbf{X}_t$ and $\mathbf{X}_m$. Therefore it is natural to consider as good calibration poses the one exhibiting large tension in cables. The larger tension will be obtained when only one cable supports the charge i.e. the center of mass of the platform *G* lies along the vertical going through $A_i$. But such a pose is usually unreachable and a better choice is to have two cables under tension with *G* located in the vertical plane going through two of the $A_i$ (e.g. say $A_6, A_8$ that we will use as example) under the constraint that these $A_i$ are not close to each other. This tension constraint limits the possible calibration poses and we aim at using a minimal number of calibration poses, ideally belonging to the nominal trajectory for self-calibration with the additional purpose of simplifying the calibration algorithm as we will see that it not trivial. Note also that the set of calibration poses when the cables are brand new is determined by having roughly the same cable tension (and consequently the same change in cable length) for all cable pairs and may then evolve with the calibration result in order to keep the same cable length change for each cable in a pair.

We will use such a pose to calibrate $E_6, E_8$ and during the calibration process we will measure the coordinates $x_m^k, y_m^k, z_m^k$ of *G* at the pose. In this pose we have the 22 constraints of the DK and as unknowns the 16 $F_x, F_z$, the 3 orientation
angles and the 8 Young modulus (although 6 of them involve slack cables which play a minor role they are present in the constraints) for a total of 27 unknowns. If we have defined w calibration poses for $E_6, E_8$ we will have 22w constraints and 8 + 19w unknowns (we assume that there will be no change in the Young modulus during the calibration). To obtain these unknowns we need a system that is square or over-constrained so that we must have $3w \ge 8$: therefore the calibration of $E_6, E_8$ requires a minimum of 3 calibration poses and as we have 4 pairs of $E_i$ we will have a total of 12 calibration poses. We will denote by $\mathbf{H}$ the over-constrained system of 66 constraints with 65 unknowns that is obtained for the calibration of a pair of $E_i, E_j$.

# 4 The calibration problem

The identification of a pair of $E_i, E_j$ has some specificity:

- there is no need to obtain exact values for the Young modulus as we are looking only for trends to deal with the preventive maintenance problem

- having a coherent identification goes well over the estimation of the position of the platform as the set of unknowns covers the full state of the CDPR that must satisfy the geometric-static model

- there are uncertainties sources: on the measurement of the $x_m^k, y_m^k, z_m^k$, on the measurement of the $L_0$ and on the Young modulus of the slack cable

Hence we have to solve the following constrained optimization problem: find the $E_6, E_8$ and the other state variables (including the platform position $x_{G_k}^E, y_{G_k}^E, z_{G_k}^E$) that minimize

$$C = \sum_{k=1}^{k=3} (x_m^k - x_{G_k}^E)^2 + (y_m^k - y_{G_k}^E)^2 + (z_m^k - z_{G_k}^E)^2 \quad (4)$$

under the constraints

$$\mathbf{H}(E, F_x^k, F_z^k, x_{G_k}^E, y_{G_k}^E, x_{G_k}^E, \phi_1^k, \phi_2^k, \phi_3^k) = \mathbf{0} \quad (5)$$

Note that the problem may be somewhat simplified if we assume that the E of the slack cables have known values so that we have only 59 unknowns. Still, although we have an analytic form of the problem, classical available optimization packages (e.g in Maple) fail to provide a solution even if we provide them a starting point very close to the solution as they have difficulties to manage the constraints $\mathbf{H} = \mathbf{0}$. Consequently we will propose two ad-hoc numerical approaches to deal with this optimization problem.

## 4.1 Deterministic method

We have tried penalties method, stochastic optimization, interval analysis and genetic algorithm to solve the optimization problem but all of them fail either
because they are too computer intensive or because they cannot ensure the exact satisfaction of the constraints. Hence we will revert to a basic optimization approach, the gradient descent which is an iterative algorithm. We split the unknowns into 2 groups: the pair $E_6, E_8$ and $U = \{x_G, y_G, z_G, F_x, F_z, \phi_1, \phi_2, \phi_3\}$ for each calibration pose. At iteration $j$ we assume to have fixed values for $C = C_j$, for $E_6^j, E_8^j$ and $U = U_k^j$ for each calibration pose $k$. Using the Newton scheme with calibration pose $k$ with $E_6^j, E_8^j, U_k^j$ as initial guess we may determine the DK solution for pose $k$ in sequence for $E_6 = E_6^j + \epsilon$ and for $E_8 = E_8^j + \epsilon$ where $\epsilon$ has a small value. Completing this process for all 3 calibration poses allows us to determine new values of $C_\epsilon^6, C_\epsilon^8$ for $C$. The derivatives $c_6^j = \partial C/\partial E_6$ and $c_8^j = \partial C/\partial E_8$ are approximated respectively by $(C_\epsilon^6 - C_j)/\epsilon$ and $(C_\epsilon^8 - C_j)/\epsilon$. New values of $E_6, E_8$ at iteration $j+1$ are obtained with

$$E_{6,8}^{j+1} = E_{6,8}^{j} - \alpha c_{6,8}^{j} \quad (6)$$

where $\alpha$ is small positive step. We then calculate the value of the $U_k^{j+1}$ (and consequently of $C_{j+1}$) for each calibration pose by using the Newton scheme with $U_k^j$ as initial guess: with this approach we guarantee that at each iteration the constraints $H = 0$ are satisfied. If $C_{j+1}$ is not lower than $C_j$ we just decrease $\alpha$. The process stops when $|C_{j+1} - C_j|$ is lower than a given threshold.

We may have to deal with stationary points that may appear when one of the $E_6, E_8$, say $E_m$, reaches a small value: in such a case the position of the platform exhibits large changes that impose to reduce $\alpha$ and consequently only the derivative $c_m$ is significant while the other $c$ is very close to 0. Hence only $E_m$ will change and $c_m$ will have opposite sign between two iterations. To avoid this situation (detected by monitoring the sign of $c_m$ over a few iterations) we just substitute $c_m$ by its mean value over an even number of iterations.

## Simulation results

We will present the results for 3 cases: when $E_6, E_8$ have a value of 1, 30 and 50% of $E_b$. We will also consider possible noise sources:

- a random noise of $\pm 5$ mm on the measurements of $x_G, y_G, z_G$

- a random noise on the $E$ different from $E_6, E_8$ such that these $E$ lie in the range $[90,99]\%$ of $E_b$

- a random noise of $\pm 1$ cm for the measurements of the $L_0$

Figure 3 shows the evolution of $E_6, E_8$ (initiated with $E_b$) as function of the iteration number of the gradient descent algorithm. Table 4 summarizes the errors on the estimation of $E_6, E_8$ for the different cases. It may be seen in the table that as soon as the $E_6, E_8$ are equal or below 50% of $E_b$ we get a reasonable estimation of their values. Noises, especially on the $L_0$ measurements, increase the errors but the trend is still well estimated. There is a possibility to reduce the influence of the errors on the $L_0$ by using the repeatability of the CDPR: the $L_0$ for the calibration poses are calculated with the inverse kinematics but the position $X_t$ reached with these $L_0$ will not exactly be the desired one. An
<figure><img src="image_4.png" /><figcaption>**Fig. 3.** The real $E_6, E_8$ have a value of 1% of $E_b$. The gradient descent has been initiated with $E_6 = E_8 = E_b$ and the figure shows the evolution of $E_6, E_8$ (as % of $E_b$) according to the iteration number</figcaption></figure>

<table><caption>**Table 4.** Absolute value of the identification errors on the $E_6, E_8$ expressed in % of $E_b$. Column **no**: no noise, **ΔX**: error on the measurement of the position, **ΔE**: noise on $E_{123457}$, **ΔL<sub>0</sub>**: noise on the $L_0$</caption><thead><tr><th></th><th>1% no</th><th>ΔX</th><th>ΔE</th><th>ΔL<sub>0</sub></th><th>30% no</th><th>ΔX</th><th>ΔE</th><th>ΔL<sub>0</sub></th><th>50% no</th><th>ΔX, E</th><th>ΔL<sub>0</sub></th></tr></thead><tbody><tr><th>ΔE<sub>6</sub></th><td>0.000173</td><td>0.00105</td><td>0.00213</td><td>0.0023</td><td>0.0065</td><td>0.75</td><td>0.72</td><td>2.82</td><td>2.87</td><td>8.35</td><td>0.47</td></tr><tr><th>ΔE<sub>8</sub></th><td>0.00019</td><td>0.00065</td><td>0.0006</td><td>0.013</td><td>0.0024</td><td>0.26</td><td>0.17</td><td>10.86</td><td>0.29</td><td>4.71</td><td>21.78</td></tr></tbody></table>

optimization process may be used to find the $L_0$ that minimize the difference between $X_m$ and $X_t$. Note also that the calibration poses have to be updated from time to time: indeed they have been designed to manage variation around known values for the $E$'s but as wear appears these values will change.

The main drawback of the gradient descent is the computation time. Implemented in Maple it takes between 10 and 30 minutes to calculate the estimation of a pair of $E$ i.e. around 1 hour to manage the 4 pairs and if written in C we may expect a computation of around 6 minutes. We may also start the calculation for a pair of $E$ while the robot is moving toward the calibration poses for another pair but still the calculation will not be real-time.

## 4.2 Neural networks

### MLP and learning set

In this section we are considering the use of Multi-Layer Perceptron (MLP) neural networks for solving the calibration problem, each MLP being devoted to a given pair of $E$ (we will use $E_6, E_8$) and possibly to a range for them. The MLP will take as input the 9 measured position coordinates of $G$ at the three calibration poses and will output a prediction for the values of $E_6, E_8$.

A MLP is a supervised neural network that therefore requires a learning set. For creating this set we start from the state $U_k$ of the CDPR at each calibration pose $k$, assuming that all the $E$ are equal to $E_b$. We then choose random values
$E_6^r, E_8^r$ for $E_6, E_8$ in the range [1,30]% of $E_b$ and we define an homotopy path for $E_6, E_8$ as

$$E_6 = E_b + \lambda(E_6^r - E_b) \quad E_8 = E_b + \lambda(E_8^r - E_b) \quad (7)$$

where the $E$ are defined in % of $E_b$. For a small $\lambda$ we use the $U_k$ of each calibration pose as initial guess for a Newton scheme that will calculate the new $U_k$ (that includes $x_G, y_G, z_G$) for the new $E_6, E_8$ and then the $\lambda$ is increased by a small amount. We store $E_6, E_8, x_G, y_G, z_G$ in the learning set as soon as soon as either $\lambda$ reaches a value of 0.1 or if the difference between the last $\lambda$ for which we have stored a sample and the current $\lambda$ is greater than a fixed threshold, provided that the $E_6, E_8$ are significantly different from the one that are present in the learning set. The process is repeated until either the homotopy stops because the Newton scheme has failed or because $\lambda$ has reached 1. If the number of samples in the learning set is too small (typically lower than 3000) we select new random values for $E_6^r, E_8^r$ and repeat the process.

## Training the MLP

A MLP is defined by a set of parameters: its number of hidden layers, the number of neurons in each layer and the activation function that is used for each neuron. Being given a MLP the training consists in finding the neurons weights and biases that minimize a statistical indicator, called the *loss*, that measures the average error between the exact $E_6, E_8$ provided in the learning set and the MLP predictions over all samples of the learning set.

There is no general rule for determining the MLP parameters that lead to a minimal value for the loss. However in our case the training time is on average low so that we have adopted a brute force approach that consists in testing all MLPs with a number of hidden layers between 1 and 20, having 10 to 200 neurons (with a step size of 10) and any activation function in a set of 5 classical activation functions. In our case the best MLP with a final loss of 0.024715 has 4 hidden layers, 200 neurons per layer and uses the CEU activation function.

We may then test the quality of the MLP predictions over the samples of the learning set. Figure 4 shows the absolute value of the difference between the prediction for $E_6, E_6$ and their exact values with no noise. Note that a check on various verification sets have shown that the MLP is not overfitted.

We have considered the case without noise and then with random noise on the measurements of the coordinates of $G$, on the $E$ different from $E_6, E_8$ and on the $L_0$ and table 5 summarizes the results.

As a general rule the maximal error are much larger than with the gradient descent algorithm but largely sufficient for our objective. Sensitivity of the predictions with respect to the values of $E_{123457}$ is low and, as for the gradient descent algorithm, the errors on the $L_0$ induce relatively large errors in the prediction that are however still acceptable.

Compared to the gradient descent the big advantage of the MLP is that getting the prediction is very fast (typically around 0.0006 seconds, which is
<figure><img src="image_5.png" /><figcaption>**Fig. 4.** Absolute value of the differences between the prediction for $E_6$, $E_6$ and their exact values with no noise for the samples of the learning set.</figcaption></figure>

<table><caption>**Table 5.** Absolute values of the differences between the $E_6$, $E_8$ predictions and their exact values, expressed in % of $E_6$. Column **no**: no noise, **ΔX**: error on the measurement of the position, **ΔE**: noise on $E_{123457}$, **ΔL$_0$**: noise on the $L_0$</caption><thead><tr><th></th><th>no</th><th>ΔX</th><th>ΔE</th><th>ΔL<sub>0</sub></th></tr></thead><tbody><tr><td>Mean ΔE<sub>6</sub></td><td>0.0183</td><td>0.735</td><td>0.0554</td><td>1.377</td></tr><tr><td>Max ΔE<sub>6</sub></td><td>0.1759</td><td>6.595</td><td>0.294</td><td>10.533</td></tr><tr><td>Mean ΔE<sub>8</sub></td><td>0.0157</td><td>0.289</td><td>0.035</td><td>0.9765</td></tr><tr><td>Max ΔE<sub>8</sub></td><td>0.1535</td><td>3.265</td><td>0.1626</td><td>7.2</td></tr></tbody></table>

real-time). A drawback is that the predicted $E_6$, $E_8$ are not physically coherent with the kineto-static model: being given the predicted $E_6$, $E_8$ and the $L_0$ none of the DK solutions will have $x_G$, $y_G$, $z_G$ that are coherent with their measurements.

We will now propose an approach to correct this incoherence. First an homotopy moving ($E_b$, $E_b$) to the predicted ($E_6^p$, $E_8^p$) is performed on the kinetico-static model to obtain the $X_p$ and the CDPR state $U^p$ for ($E_6^p$, $E_8^p$). A second homotopy will lead $X_p$ to the measured $X_m$: this involves setting 3 unknowns of the DK so that we may consider that 3 $E$ are now free: we choose $E_6$, $E_8$ and in turn one of the other $E$, $E_k$ (therefore we perform 6 homotopies). This is done for the 3 calibration poses so that we end up with 18 estimations $E_6^e$, $E_8^e$, $E_k^e$ for the $E_6$, $E_8$, $E_k$. But as $E_6$, $E_8$ have the same values for the three calibration poses we have to make a choice among the estimations. For that purpose we perform for each estimation an homotopy starting with $E_6 = E_8 = E_k = E_b$ toward $E_6^e$, $E_8^e$, $E_k^e$ that allows to get a position $X_f^k$ of the platform for each calibration pose $k$. We then select as final estimation of $E_6$, $E_8$ the $E_6^e$, $E_8^e$ that leads to the minimum of $\sum_{k=1}^{k=3} ||X_f^kX_m^k||$.

This strategy leads to very good results. For example we have considered a sample of the learning set with $E_6 = 4\%$, $E_8 = 27\%$ and have run the process with no noise, noise $\Delta X$ and noise $\Delta L_0$ and table 6 summarizes the results.

It may be seen that the results are even better than the one obtained by the gradient descent method but the drawback is that the computation time for correcting the predictions is relatively large (between 8 and 14 minutes) because of the multiple homotopies that have to be run.
<table><caption>**Table 6.** Absolute values of the differences between the $E_6$, $E_8$ corrected predictions and their exact values 4 and 27, expressed in % of $E_b$.</caption><thead><tr><th></th><th>no</th><th>ΔX</th><th>ΔL<sub>0</sub></th></tr></thead><tbody><tr><td>ΔE<sub>6</sub></td><td>10<sup>-8</sup></td><td>0.044</td><td>0.219</td></tr><tr><td>ΔE<sub>8</sub></td><td>10<sup>-8</sup></td><td>0.0309</td><td>0.074</td></tr></tbody></table>

We have also considered taking in account the orientation of the platform. As mentioned previously the orientation angles present a low sensitivity with respect to changes of the *E* but another approach may be considered. We will assume that the coordinates of three non colinear $B_i$ points may be measured (e.g. with 3 lidars for each of them) for each calibration poses (note that as the orientation angles may be deduced from the $B_i$ locations only 2 calibration poses are required). We may then design a MLP that takes as input the 9w coordinates of the 3 $B_i$ points for each w calibration poses and outputs the $E_6$, $E_8$. Creating a learning set and training the MLP will be done by using the same method than for the previous MLP. Although the hardware is more sophisticated we may save calibration time by having only 2 calibration poses. Preliminary simulation tests have shown that this approach is promising and is worth investigating.

## 5 Conclusion

Calibration of the Young modulus *E* of CDPR material has not been addressed in the literature to the best of our knowledge. We propose to use the measurements of the CDPR position in specific poses and have developed two numerical methods using these measurements to provide estimation of the *E*: one is deterministic and the other one is based on neural networks with two variants. They have been shown in simulation to provide good estimation even in presence of uncertainties. They differ by the quality of the *E* estimation and by the computation time. Simulation are based on the Irvine cable model but may be extended to other models as soon as they are at least C1. This approach will have to be confirmed experimentally but this require specific apparatus that are not available to us and will be a lengthy process.

**Acknowledgments.** This work has been partly supported by grant ANR-23-IACL-0001. The author has no competing interests.

## References

1. Borgstrom, P., et al.: NIMS-PL: A cable-driven robot with self-calibration capabilities. IEEE Trans. on Robotics 25(5), 1005–1015 (2009)

2. El-Ghazali, G., Gouttefarde, M., Creuze, V.: Adaptive terminal sliding mode control of redundantly actuated cable-driven parallel manipulator:CoGiRo. In: 2nd Int. Conf. on cable-driven parallel robots (CableCon). pp. 3–16. Duisburg (August, 24-27, 2014)
3. Ghoreishi, S., et al.: Analytical modeling of synthetic fiber rope. part II: a linear elastic model for 1+6 fibrous structure. Int. J. of Solids and Structures pp. 2943–2966 (2007)

4. Irvine, H.M.: Cable Structures. MIT Press (1981)

5. Lamaury, J., Gouttefarde, M.: Control of a large redundantly actuated cable-suspended parallel robot. In: IEEE Int. Conf. on Robotics and Automation. Karl-sruhe (May, 6-10, 2013)

6. Lambert, C., Nahon, M.: Study of a multitethered aerostat system: experimental observations and model validation. Journal of Aircraft **43**(4) (2006)

7. Merlet, J.P.: Mixing neural networks, continuation and symbolic computation to solve parametric systems of non linear equations. Neural Networks (2023)

8. Merlet, J.P.: The forward kinematics of cable-driven parallel robots with sagging cables. In: 2nd Int. Conf. on cable-driven parallel robots (CableCon). pp. 3–16. Duisburg (August, 24-27, 2014), http://www-sop.inria.fr/coprin/PDF/merlet_cablecon2014.pdf

9. Merlet, J.P.: A generic numerical continuation scheme for solving the direct kinematics of cable-driven parallel robot with deformable cables. In: IEEE Int. Conf. on Intelligent Robots and Systems (IROS). Daejeon (October, 9-14, 2016), http://www-sop.inria.fr/hephaistos/PDF/merlet_iros2016.pdf

10. Merlet, J.P.: The new exhibition Blind Machines, a large 3d printing machine. In: IEEE Int. Conf. on Robotics and Automation. London (May 29- June 2, 2023)

11. Miermeister, P.: Model selection and parameter optimization for cable-driven parallel robots. Ph.D. thesis, ISW, Stuttgart (2021)

12. Miermeister, P., et al.: An elastic cable model for cable-driven parallel robots including hysteresis effect. In: 2nd Int. Conf. on cable-driven parallel robots (CableCon). pp. 17–28. Duisburg (August, 24-27, 2014)

13. O'Hear, N.: Optical scanning apparatus for ropes nondestructive test monitoring system. In: Oceans 2003. vol. 3, pp. 1335–1341 (2003)

14. Piao, J., et al.: Open-loop position control of a polymer cable-driven parallel robot via a viscoelastic cable model for high payload workspaces. Advances in Mechanical Engineering **9**(12) (2017)

15. Riehl, N., et al.: Effects of non-negligible cable mass on the static behavior of large workspace cable-driven parallel mechanisms. In: IEEE Int. Conf. on Robotics and Automation. pp. 2193–2198. Kobe (May, 14-16, 2009)

16. Riehl, N., et al.: On the static workspace of large dimension cable-suspended robots with non negligible cable mass. In: 34th Annual Mechanisms and Robotics Conference. Montréal (August, 15-18, 2010)

17. Alexandre dit Sandretto, J., Trombettoni, G., Daney, D.: Confirmation of hypothesis on cable properties for cable-driven robots. In: 4th European Conf. on Mechanism Science (Eucomes). pp. 85–94. Santander (September, 19-21, 2012)

18. Sergiienko, N., Cazzolato, B., Ding, B., Arjomandi, M.: An optimal arrangement of mooring lines for the three-tether submerged point-absorbing wave energy converter. Renewable Energy **93**, 27–37 (2016)

19. Sloan, F.: Predictive damage parameter for fiber ropes in cbos fatigue. In: OCEANS 2018. pp. 1–5 (2018)

20. Wu, W., Cao, X.: Mechanics model and its equation of wire rope based on elastic thin rod theory. International Journal of Solids and Structures **102-103**, 21 – 29 (2016)