# The new exhibition Blind machines, a large 3D printing machine

J-P Merlet, Y Papegay

► To cite this version:

J-P Merlet, Y Papegay. The new exhibition Blind machines, a large 3D printing machine. ICRA 2023 - International Conference on Robotics and Automation, May 2023, Londres (Grande Bretagne), United Kingdom. 10.1109/ICRA48891.2023.10160478. hal-04253690

HAL Id: hal-04253690

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

Submitted on 23 Oct 2023

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 CC BY 4.0 - Attribution - International License
# The new exhibition *Blind machines*, a large 3D printing machine

J-P. Merlet<fnref n="1" />, Y. Papegay<fnref n="1" />

*Abstract*— This paper presents the further developments and preliminary results of a large 3D printing machine based on a 3 d.o.f cable-driven parallel robot (CDPR) that is used for an artistic exhibition. The printing material is a powder constituted of glass micro-beads that is deposited on a fixed trajectory so that the resulting structure collapses with time.

A first exhibition has been held during the summer of 2019 and another one was scheduled to take place during ICRA 2020, that was canceled because of the Covid. The current exhibition has started on 07/09/2022 and will end on 10/14/2019. We describe in this paper the improvements of the current prototype, both on hardware and software, compared to the 2019 and 2020 versions. Between 7/9/2022 and 16/10/2022 the CDPR has run for 126 hours and has traveled on a total distance of 9km. During the period 142 layers have been deposited, representing a mass of 2.56 tons of glass powder.

*Index terms:* cable-driven parallel robot, kinematics, art, AI

<figure><img src="image_2.png" /><figcaption>Fig. 1. The experiment place</figcaption></figure>

## I. INTRODUCTION

In March 2018 Y. Papegay, a member of the HEPHAISTOS team, get in touch with the artist Anne-Valérie Gasc, which is a professor at ENSA-M (École Nationale Supérieure d'Architecture de Marseille). She is leading since 2014 a large project called *Prince's tears: vitrifications*. One of her purpose was to deposit several layers of glass powder (density: 1.5kg/l) along a fixed 3D trajectory defined by a curve in the *x-y* plane that has to be followed at various altitudes. The HEPHAISTOS team is developing modular cable-driven parallel robot (CDPR) that moves a load by coiling/uncoiling cables whose ends are connected both to the ground and to the load. CDPR has already been used for large scale 3D printing [1], [2], [3] while parallel robots are routinely used for small 3D printer [4].

In April 2019 she was invited to present an exhibition at the art center *les Tanneries* located at Amilly, 100 km south of Paris. The machine was to be exhibited in July and August 2019 in a large place, whose central part was 22 meters of length, 8 meters of width for a height of 5.3 meters. We agree to move one prototype in Amilly because it was interesting for us to deploy a CDPR over a large time period with the purpose of collecting a large amount of data on the CDPR behavior. A followup of this machine was supposed to be exhibited during ICRA 2020 which was finally held virtually because of the Covid. In 2021 Anne-Valérie received another invitation for an exhibition at the Espace de l'Art Concret, close to Nice, between 7/9/2022 and 10/14/2022 and we agree to deploy a new version of our CDPR for this exhibition in a place that is about 10 meters in length and 5 meter in width (figure 1). For depositing

the powder the CDPR moves a drum filled with up to about 50 kg of powder. As only translations are required for this project we have configured a 3 d.o.f., 4-cables suspended CDPR where the 4 cables are connected at the same point B on the top of the drum so that the drum is free to oscillate.

The *x-y* trajectory was not part of artistic work and Anne-Valérie let us determine 200 random trajectories with the only constraint that they should have at least two auto-intersection points and then she makes a final choice of three of them. The first trajectory is presented in figure 2 and has a length of about 28 meters. The artist asks us also that the CDPR has a velocity of 3cm/s with an absolute accuracy that should be better than 5 cm.

<figure><img src="image_3.png" /><figcaption>Fig. 2. The trajectory (dimension: cm).</figcaption></figure>

<footnote n="1">¹HEPHAISTOS project, Inria Sophia-Antipolis, France
Jean-Pierre.Merlet/ Yves.Papegay@inria.fr,</footnote>
Usually measurements on CDPR focus on the estimation of the cable lengths. Force sensors for estimating the cable tensions are also mentioned although to the best of our knowledge there has never been any in-depth analysis of the reliability of these measurements. The use of angular sensor to measure the cable direction is mentioned [5], [6] although our own work has shown that a mechanical system must be avoided as it leads to large errors for slack cable(s). Surprisingly there has been very few works for measuring other data [7], [8]. An originality of our CDPR is that it relies extensively on new measurements. We will present our motivation for using this approach and will present some preliminary results on their influence on the CDPR performance.

## II. THE CDPR

### A. The hardware

The drum (figure 3) is equipped with a fit-pc computer, a 24 Ah battery, a servomotor to manage the vanne at the bottom of the drum, 3-axis accelerometer/gyrometer, 2 (1) horizontal (vertical) planar lidars, one distance sensor measuring the distance between the bottom of the vanne and the ground and 4 accelerometers placed on the cables at a known short distance from B. We use low cost winches

<figure><img src="image_4.png" /><figcaption>Fig. 3. The drum</figcaption></figure>

used for four-wheeled vehicle actuated by Parvalux PBL60-118 motors (maximal speed 4000 rpm, nominal torque 0.32 Nm) that are velocity controlled using a 18 Khz Parvalux PBLCB60-118-24 motor controller. Incremental encoders measure the rotation of the motors. The reduction ratio between the motors and the winches is 4/459 and the cable is not guided on the drum for the sake of simplicity so that we have a variable number of cable layers on the drum. We are using 3mm Dyneema cable (Young modulus $100e^9 N/m^2$, linear density $6.8e^{-3}$ kg/m) and the winch drum can store up to 250 meters of cable on several layers. The winches are on the ground and are fixed on a wall. We denote by $A_0$ the

point on the winch drum that is located at the middle of the drum and is the closest to the wall.

The cable moves vertically from the winch to a pulley that is fixed on the ceiling. The pulley is a Harken flip-flop pulley that can freely rotate around a vertical axis. We denote by $A$ the point of the rotation axis that is in the same horizontal plane than the pulley rotation axis. The CDPR is controlled

<figure><img src="image_5.png" /><figcaption>Fig. 4. The winch and the pulley</figcaption></figure>

by a Linux PC that communicates with the fit-pc of the drum through a dedicated wifi and a message passing scheme.

### B. Calibration

The kinematics models that will be presented in the next section require to determine the location of the $A, A_0$ points. As seen in figure 1 the workspace is surrounded by 3 vertical walls denoted NORTH, EAST and WEST (there is a SOUTH wall but it cannot be used as it is behind the public zone). The use of the lidars explained in section III-A also requires to know the equations of these walls in the reference frame. For this calibration we use a Leica TS02 theodolite that is approximately placed in the middle of the workspace at a known height. Optical markers are disposed on the winch drum (2) and on the pulley supporting frame (2) at specific locations so that we can deduce the positions of the $A, A_0$ points from the markers positions. Two markers are also disposed on each vertical wall for determining their equations. Thus the theodolite measurements allows one to determine the locations of the $A, A_0$ and the plane equations in the theodolite reference frame. We then rotate this frame
around the vertical so that the WEST wall define the y axis of the reference frame while the x axis is perpendicular to the y axis in direction of the EAST wall. Therefore we obtain the necessary geometrical information in about 10 minutes with an accuracy of about 1mm.

### C. Kinematics

Although the cable deformation due to the material elasticity is very low because of the moderate drum mass we have decided not to use the ideal cable model (no elasticity, no mass) but a planar model derived from Irvine textbook [9] for reasons that will be given later on. We consider a planar cable with Young modulus E and linear density $\mu$ attached at a fixed point D with coordinates (0,0) while its other extremity is located at B($x_b, z_b$). The cable is submitted at B to a force whose horizontal and vertical components are denoted by $F_x, F_z$ and the cable length at rest is $L_0$. The Irvine model provides the relationships between the coordinates $x(s), z(s)$ of a point located on the cable at curvilinear abscissa s:

$$x(s) = \frac{1}{\mu g} F_x \left( \arcsin h \left( \frac{F_z + \mu g (s - L_0)}{F_x} \right) \right) - \arcsin h \left( \frac{-\mu g L_0 + F_z}{F_x} \right) \quad (1)$$

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

Hence we have $x_b = x(L_0), y_b = z(L_0)$. If $\beta_j$ denotes the angle of the cable j plane with the x reference axis and M the load mass the static equilibrium imposes

$$\sum_{j=1}^{j=4} F_x^j \cos \beta_j = 0 \quad \sum_{j=1}^{j=4} F_x^j \sin \beta_j = 0 \quad \sum_{j=1}^{j=4} F_z^j = Mg \quad (3)$$

We have also to deal with the pulley (radius= 3.75cm) as the contact point U of the cable on the pulley will depend upon the location of B [10], [11]. We will denote by $\alpha_i$ the angle between $CU_i$ and the horizontal, where C is the pulley center. Note that the $U_i$ should be such that $CU_i$ is perpendicular to the cable direction at $U_i$.

Consider now the inverse kinematic problem (IK) where the coordinates of B are known and the cable lengths $L_0$ have to be determined. With the coordinates of B we can determine the angles $\beta_j$ and the location of the pulley centers $C_j$ while $x(s), y(s)$ are functions of $\alpha_j$. Hence the unknowns are the 4 $\alpha_j$ and the 12 $F_x^j, F_z^j, L_0^j$. In terms of equations we have the 8 Irvine equations, the 3 equilibrium conditions and the 4 perpendicularity conditions at $U_i$ so that we have an under-determined system. However this is theoretical: indeed in practice it is impossible to control the cable lengths with an infinite accuracy so that we will usually have only 3 cables under tension while one will be slack. If we neglect the slack cable the IK has 12 unknowns for 12 constraints and therefore has a finite number of solutions. Solving this IK is difficult [12] but still doable. Therefore we solve the IK for each possible cable triplets and eliminates the solutions such that the length of the remaining cable is not compatible with the slackness assumption. In general this leads to multiple solutions so that solving the IK does not allow to determine which cable is currently slack.

Consider now the forward kinematics (FK) where the cable length $L_0$ are known and the position of B has to

be determined. The unknowns are the $8 \alpha_i, \beta_i$, the $8 F_x^j, F_z^j$ and the 3 pose parameters. We have the same 15 equations than for the IK but we have 4 additional constraints that relate $U_i, B$ to the tangent of $\beta_j$. Consequently the FK is square and has usually multiple solutions but solving the FK is even more difficult than the IK requiring a computing time of hours [13] although we have made progress with AI [14]. Note however that both IK and FK may be solved in real-time during control because a guess of the solution is available [15], [16]. Furthermore here again we cannot determine which cable is slack just by looking at the different solutions.

## III. DETERMINING THE STATE OF THE CDPR

To move the CDPR along the trajectory we have a velocity control scheme that uses an estimation of the location of B to determine a velocity vector V that allows B to remain on the trajectory. For that purpose we will use the inverse jacobian matrix $J^{-1}(x_b, y_b, z_b, L_0)$ of the CDPR. If $T_i$ denotes the unit vector of that is tangent to cable i at point B, then $J^{-1}$ is the $4 \times 3$ matrix whose columns are the $T_i$. Note that for given $x_b, y_b, z_b$ there usually is several $J^{-1}$ matrices according to which cable is slack but as cable slackness will be determined we are able to select the one corresponding to the current CDPR state. This matrix is used to get the velocity of the cable length $\dot{L}_0$ using the formula $\dot{L}_0 = J^{-1}V$ that is used the control the motors velocities. Hence our control strategy requires to determine $x_b, y_b, z_b$, which cable is slack and an estimation of the cable lengths $L_0$. The usual control methods use a $L_0$ estimation deduced from the motor encoders and then the pose is obtained by solving the FK. But this approach is not reliable because the drum radius changes according to the unknown number of layers and does not take into account the slackness of the cables. Hence we are using a different approach that allows one to determine the pose of the drum with lidars independently of the $L_0$s, determine which cable is slack (with accelerometers) and improve the estimation of the $L_0$s that is based on the motor encoders.

### A. The role of the lidars

On the drum we have two horizontal planar lidars denoted NORTH and SOUTH. We are using RPLIDAR A1M8 lidars having a measuring range between 0.15m and 12 m, an accuracy of about 2mm, an angular resolution of 0.5 degree and they are able to perform a 360 degree scan in about one second. Although the drum may rotate around the z axis this rotation is limited. Therefore the NORTH lidar is able to measure points on the NORTH, EAST and WEST walls while the SOUTH lidar measures points only on the EAST and WEST walls. Measurement points on the drum are excluded so that we get about 400 point measurements per scan. When starting the system we perform 3 scans to get around 1200 measurements. They are clustered by using a criteria based on proximity between successive measurements and alignment between 3 successive measurements. First we use the NORTH lidar clusters to determine which cluster may
correspond to the NORTH wall. The lidars are supposed to operate in a horizontal plane but the angle between the lidar frame and the reference frame is not known although it is within a known limited range G. For each cluster we first fit the cluster points with a line in the lidar frame and then determine the angle of a rotation around the vertical axis so that the line is parallel to the NORTH wall. If this angle lie within G, then we have identified the NORTH wall.

With this rotation angle and the known relative position of B with respect to the lidar center we are able to obtain a constraint on $x_b, y_b$ that is written as $a_N x_b + b_N y_b + c_N = 0$ (where $a_N$ is small and $b_N$ close to 1) and is called a *C-type constraint*. We proceed in the same way for identifying the WEST and EAST wall in the clusters so that for each corresponding cluster we get a constraint $u_N x_b + v_N y_b + w_N = 0$ (where $v_N$ is small and $u_N$ close to 1), called a *D-type constraint*. For normalizing purpose we set $b_N = u_N = 1$ in the constraint equations. We then proceed in the same way for the SOUTH lidar measurement that provide only D-type constraints. We characterize the quality of each identified line by the variance $V$ of the distances between the measured points and the line. Note that if we have a large $z$-rotation angle of the drum and being given the workspace size there may be errors in the process: a cluster may be recognized as an EAST wall although it corresponds to a WEST wall and vice-versa. We then consider each pair of type C and type D constraint and solve these constraints in $x_b, y_b$ ending up in a list that is ranked using the variances $V$ of the two involved lines. The variation on $x_b$ in this list is typically $\pm 3$ cm while for $y_b$ is $\pm 2$ mm. This list is submitted to the operator that has to measure the correct position of B using a laser distance meter. The accuracy of the pose determination is typically $\pm 2$ mm. Note that in the process we obtain the rotation angle of the drum around the $z$ axis. Figure 5 shows this rotation angle on a trajectory.

<figure><img src="image_6.png" /><figcaption>Fig. 5. Drum rotation angle around the z axis during a trajectory (degree versus time).</figcaption></figure>

The same method may be used when the CDPR is moving but for speeding up the determination of the $x_b, y_b$ we store the scan data and calculate $x_b, y_b$ after each scan (i.e. every second) using the data of the 3 most recent scans. As the drum is oscillating during the motion we use also the drum accelerometer data to estimate the orientation of the drum

(figure 6) to correct the scan measurements.

<figure><img src="image_7.png" /><figcaption>Fig. 6. Angle between the drum axis and the vertical during a trajectory (degree versus time).</figcaption></figure>

Because of the uncertainties on the measurements of the drum rotation we estimate that the position of B is obtained with an accuracy of $\pm 2$cm.

The vertical lidar has multiple roles:

* to build a 3D model of the structure after each layer: during a trajectory we store a full scan every 2 seconds but this imposes that the lidar should be high enough to have a full view of the structure

* to measure the height of B: this height is necessary for the control. For that purpose we select the scan data S whose angle with the drum axis lies in the range [-20,20] degrees to ensure we measure points on the ground. We use the drum rotation angle provided by the accelerometer to correct the points coordinates so that their $z$ values correspond to the real point altitude. We then select the 5 points that have the lowest altitude and we fit a line through these points that should be close to the horizontal. The constant term of the line equation will provide the height of the lidar center in the reference frame to which we add the known vertical distance from the center to B

* the artist also requires that B should change its height according to the height of the structure underneath the drum. Hence we consider all the measurements of S to obtain a *fictive height* whose difference with B nominal height will be used to regulate the height of B. As the lidar is not on the drum axis there is a small delay in the drum motion but this has not caused any problem

The lidars provide a pretty accurate estimation of the location of B but the control also require to estimate the $L_0$ for managing the slack cables.

## B. Using the cable accelerometers

As seen previously the location of B does not allow to determine the $L_0$ unless we know which cable is slack. With the Irvine equations we are able to determine the angle $\gamma$ between the horizontal and the tangent of the cable at any point on the cable. With the cable accelerometers we are able to measure the $\gamma$ angle $\gamma_m$ angle at a specific point. For a measured position of B we are able to calculate the $\gamma$ angle $\gamma_t$ at the specific cable point for a taught cable.
The difference $\gamma_t - \gamma_m$ allows one to determine which cable is slack (which allow us to solve the IK) but also characterize the slackness amount. On a trajectory, we are able to determine which cables are under tension or slack at any time. Figure 7 shows the $\gamma_t$ and $\gamma_m$ angles for 2 cables during a trajectory. As the difference between $\gamma_t$ and $\gamma_m$ for

<figure><img src="image_8.png" /><figcaption>Fig. 7. The angles $\gamma_t$ and $\gamma_m$ in degree as function of time during a trajectory for cables 2 and 4</figcaption></figure>

cable 2 is always small this cable is always under tension while for cable 4 it is under tension for only 30% of the time (75% for cable 1 and 52% for cable 3). By looking at the IK results over all trajectories we may quantify how much stress has been put on each cable which an important point for maintenance. We also note that the accelerometer measurement is the sum of a low frequency signal (which denotes a change in $\gamma$ due to the drum motion) and a higher frequency signal that denotes the cable vibration [17]. We are wondering if the analysis of the high frequency signal over time may provide us information on eventual modification of the Young modulus of the cable material which may indicate a wear of the cable which is quite important for preventive maintenance. As the vibration data may be influenced by environmental variables we have also recorded the room temperature and relative humidity for each trajectory.

There is another role for these sensors. Although we cannot avoid to have a slack cable we want to limit the amount of slackness because on the trajectory a slack cable may have to become a leading cable that will support the drum. Hence we aim at having the length of the slack cable remaining close to its taught length. For that purpose we add a term which is proportional to $\gamma_t - \gamma_m$ to the slack cable velocity calculated with $J^{-1}V$. We may also have calculated directly the cable length $L_0^m$ from the measured $\gamma$ angle, the taught cable length $L_0^t$ and have used $L_0^m - L_0^t$ to regulate the slackness. The drawback is that this approach relies on the

Young modulus of the cable material that may change over time. Furthermore we have analyzed the difference $\gamma_m - \gamma_t$ as a function of the difference $dL_0 = L_0^t - L_0^m$ for various cable length. Figure 8 shows a typical example for a cable of 250cm and a sensor at 20 cm from B. It may be seen that

<figure><img src="image_9.png" /><figcaption>Fig. 8. The angular difference $\gamma_t - \gamma_m$ as a function of $dL_0 = L_0^t - L_0^m$.</figcaption></figure>

$\gamma_t - \gamma_m$ is very sensitive to $dL_0$ especially at the beginning of the slackness phase: we get a difference of 12.45 degrees for a length difference of 1 cm. Hence using directly the angle difference is more effective than using $dL_0$. We may have also considered using the cable tensions (assuming that they can be reliably measured) but it appears that we will need a very accurate measurement to assess the amount of cable slackness. For example we have considered the pose (0,-100,100)cm and have assumed that cable 4 is slack with an excess of cable length compared to the taught case between 1 and 100 cm for a load of 40 kg. The cable 4 tension varies between 0.22N and 2.43N while the maximum tension for the other cables is 369 N. The sensitivity of the sensor (expressed in term of full-scale percentage) that will be required to measure a 2cm variation between the length of the cable and its taught length ranges from 1e-4 to 0.36% which is well below the sensitivity of available force sensors. Hence force sensor cannot be used to assess reliably the amount of cable slackness.

To check the validity of the proposed cable slackness management strategy we have examined the regularity of the coiling on the winch drums after two months use. As cable 4 is the less solicited cable during a trajectory we may expect that it should be the one presenting the most irregular coiling and this is indeed the case as shown in figure 9. Still although the coiling is indeed irregular it is not importantly so meaning that our slackness control strategy is effective and that the data provided by the cable sensors are reliable.

### C. Using the motor encoders

As mentioned previously the lidars provide an estimation of the current state of the CDPR including an estimation of the cable length if the cable accelerometers measurements are taken into account. But the sampling time of the lidar measurements lies in the range [0.5,1] seconds while we are aiming at a control sampling time of 10ms. In between two lidar measurements we will use the motor encoders data to
<figure><img src="image_10.png" /><figcaption>Fig. 9. The cable 4 coiling over a two months period.</figcaption></figure>

update the CDPR state starting with the estimation of the $L_0$. However for using the winch drum rotation to update the $L_0$ we need the drum radius $r$ which changes with the number of cable layer on the drum and with the coiling process. We may have used a lookup table that will have provided $r$ for given $L_0$ range by assuming a perfect coiling but we have chosen another approach to determine the current drum radius that is based on the lidar successive measurements. Let us consider two successive state estimations $\mathcal{E}_j, \mathcal{E}_{j+1}$ provided by the lidars and the corresponding drum rotation angles $\theta_j^k, \theta_{j+1}^k$ for cable $k$ provided by the encoder. These estimations include the cable lengths $L_{0k}^j, L_{0k}^{j+1}$ and we calculate the mean value of $r_k$ during the time period as $|(L_{0k}^{j+1} - L_{0k}^j)/(2\pi(\theta_{j+1}^k - \theta_j^k)|$. This mean value will be used to update the cable length between the estimations $\mathcal{E}_{j+1}$ and $\mathcal{E}_{j+2}$ using the encoder angle. More generally $r_k$ is updated at each new state estimation, i.e every second. With this approach we get rid of possible irregularity in the coiling process. Having obtained new values for the $L_0$ based on the encoder data we run a real-time FK (mean computation time: 0.3 ms) that uses a certified Newton scheme and provide a new state estimation at each encoder event. In summary combining the determination of the pose with the lidars with the management of the cable slackness with the cable sensors allows to drastically reduce the influence of the coiling process together with changes in the cable material properties. Chart 10 summarizes how the cable length velocities $\dot{L}_0$ (that is used for control) is calculated from the sensors data. The part enclosed in the dashed lines regions is executed at a 10ms sampling rate while the lidar information is processed at a 0.5-1s sampling rate.

## IV. CONCLUSION AND PRELIMINARY ANALYSIS

Although the exhibition is not yet completed and the log files have not yet been fully analyzed we already presented some results that will be completed in this section. On 8/29/2022 we have exhausted our powder reserve (1.7 tons) and the resulting structure is presented in figure 11.

It may be noted that the trajectory split the plane in several connected components: the 3 smallest one are completely covered by the powder. The maximal height of the structure is 18 cm at the place on the right bottom part of the trajectory where we have almost a triple auto-intersection point. At the place that the CDPR reaches only once during a trajectory

<figure><img src="image_11.png" /><figcaption>Fig. 10. This chart explains how to get the cable length velocities $\dot{L}_0$ according to the sensor data.</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Fig. 11. The structure after the deposit of 1.7 tons of powder.</figcaption></figure>

we have en height of 9cm for a width of 22 cm. This is perfectly coherent with the prediction of granular mechanics that indicates that the angle between the horizontal and the slope of the structure should be 22 degrees and hence the width of the structure for a given height $h$ should be $2.5h$.

On 16/10/2022 the system has run for 126h, the CDPR has traveled a distance of almost 9km and has deposited 146 layers and 2.56 tons of powder. A light barrier has been installed between the public zone and the CDPR workspace so that the CDPR stops whenever people intrudes the workspace: this barrier has been activated 24 times. It is quite difficult to estimate the absolute positioning accuracy of a moving platform but according to the lidars data the mean distance between B and the trajectory was -0.026 cm with a variance of 0.0774 cm and a maximum of 4.82 cm, the maximal error occurring at the right bottom part of the trajectory. Part of this error may be explained by the window on the EAST wall that is 5cm behind the wall plane. The absolute accuracy has been measured with a theodolite in static poses with a maximal error of 1.5mm. The mean value of the CDPR velocity was 3.0168 cm/s (for a desired value of 3cm/s) with a variance of 0.02667. An improvement of the system will be to actuate the drum rotation around its z axis and use the rotation angle provided by the lidars so that the drum direction remains fixed thereby improving the accuracy of the state estimation while reducing its computation time. Various picture and a movie are provided in the supplementary material.

**Acknowledgment:** this work has been partly supported by ANR with grants ANR-18-CE10-0004 and ANR-19-P3IA-0002
REFERENCES

[1] E. Barnett and C. Gosselin, "Large-scale 3d printing with a cable-suspended robot," *Additive Manufacturing*, vol. 7, pp. 27–44, July 2015.

[2] J.-B. Izard et al., "Large-scale 3d printing with cable-driven parallel robots," *Construction Robotics*, vol. 1, no. 1, pp. 69–76, 2017.

[3] S. Qian, K. Bao, B. Zi, and N. Wang, "Kinematic calibration of a cable-driven parallel robot for 3D printing," *Sensors*, 2018.

[4] G. Carabin et al., "An energy-efficient approach for 3d printing with a linear Delta robot equipped with optimal springs," *Robotics and Computer-Integrated Manufacturing*, vol. 67, 2021.

[5] A. Fortin-Côté, P. Cardou, and A. Campeau-Lecours, "Improving cable driven parallel robot accuracy through angular position sensors," in *IEEE Int. Conf. on Intelligent Robots and Systems (IROS)*, Daejeon, October, 9-14, 2016, pp. 4350–4355.

[6] X. Garant et al., "Improving the forward kinematics of cable-driven parallel robots through cable angle sensors," in *3rd Int. Conf. on cable-driven parallel robots (CableCon)*, Québec, 2017.

[7] M. Korayem et al., "A novel method for recording the position and orientation of the end effector of a spatial cable-suspended robot and using for closed-loop control," *The International Journal of Advanced Manufacturing Technology*, vol. 72, pp. 739–755, 2014.

[8] M. Nabipour et al., "Visual servoing in a cable robot using Microsoft Kinect v2 sensor," in *4th International Conference on Robotics and Mechatronics*, Teheran, October, 26-28, 2016.

[9] H. M. Irvine, *Cable Structures*. MIT Press, 1981.

[10] A. Pott, "Influence of pulley kinematics on cable-driven parallel robots," in *ARK, Innsbruck*, June, 25-28, 2012, pp. 197–204.

[11] E. Picard et al., "Pulleys and force sensors influence on payload estimation of cable-driven parallel robots," in *IEEE Int. Conf. on Intelligent Robots and Systems (IROS)*, Madrid, October, 1-5, 2018.

[12] J.-P. Merlet, "A new generic approach for the inverse kinematics of cable-driven parallel robot with 6 deformable cables," in *ARK, Grasse*, June, 27-30, 2016. [Online]. Available:

[13] ——, "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. [Online]. Available:

[14] J.-P. Merlet and R. Tissot, "A panorama of methods for dealing with sagging cables in cable-driven parallel robots," in *ARK, Bilbao*, June, 26-30, 2022. [Online]. Available:

[15] A. Pott, "An algorithm for real-time forward kinematics of cable-driven parallel robots," in *ARK, Piran*, June 28- July 1, 2010, pp. 529–538.

[16] J.-P. Merlet, "On the real-time calculation of the forward kinematics of suspended cable-driven parallel robots," in *14th IFTOMM World Congress on the Theory of Machines and Mechanisms*, Taipei, October, 27-30, 2015. [Online]. Available:

[17] C. Schenck et al., "Modeling and analysis of cable vibrations for a cable-driven parallel robot," in *IEEE Int. Conf. on Information and Automation*, Ningho, 2016.