# Positioning of a cable-driven parallel robot at better than 250 µm using multilateration and photogrammetric measurement systems

Joffray Guillory, Jean-Pierre Wallerand, Daniel Truong, Ben Sargeant, Charles Richards, Stuart Robson, Asier García Berdote, Pablo Puerto, Pierre-Elie Hervé, Marc Gouttefarde

► To cite this version:

Joffray Guillory, Jean-Pierre Wallerand, Daniel Truong, Ben Sargeant, Charles Richards, et al. Positioning of a cable-driven parallel robot at better than 250 µm using multilateration and photogrammetric measurement systems. Precision Engineering, 2026, 97, pp.1087-1108. 10.1016/j.precisioneng.2025.11.020. lirmm-05419284

HAL Id: lirmm-05419284

https://hal-lirmm.ccsd.cnrs.fr/lirmm-05419284v1

Submitted on 16 Dec 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
# Positioning of a cable-driven parallel robot at better than 250 µm using multilateration and photogrammetric measurement systems

Joffray Guillory¹, Jean-Pierre Wallerand¹, Daniel Truong¹, Ben Sargeant², Charles Richards², Stuart Robson², Asier García Berdote³, Pablo Puerto³, Pierre-Elie Hervé⁴, Marc Gouttefarde⁵

1. Conservatoire National des Arts et Métiers (Cnam), Laboratoire commun de métrologie LNE-Cnam (LCM), Paris, France.

2. University College London (UCL), Department of Civil, Environmental and Geomatic Engineering, London, United Kingdom.

3. IDEKO - Basque Research and Technology Alliance (BRTA), Design and Precision Engineering, Elgoibar, Spain.

4. Tecnalia - Basque Research and Technology Alliance (BRTA), Montpellier, France.

5. LIRMM, Univ. Montpellier, CNRS, Montpellier, France.

## Abstract

Improving the positioning accuracy of cable-driven parallel robots (CDPRs) is crucial for industrial applications. These robots, operating in large volumes and handling heavy loads, have an accuracy limited by several factors, such as variations in ambient temperature or changes of the load being transported, which affect the mechanical structure of the robot or the tensions in the cables. For instance, CoGiRo is a CDPR of dimensions of 11 m × 15 m × 6 m able to move a platform weighing up to 500 kg. Its resolution is a few tens of micrometres, but its positioning, estimated from the winch encoders, lacks accuracy. To accurately place the CoGiRo mobile platform in the desired position and orientation, this paper proposes to use multilateration and photogrammetric measurement systems in a collaborative way. Photogrammetry continuously measured the poses of the mobile platform with worst-case coordinate uncertainties in the depth direction moving away from the cameras, with 0.2 mm being typical for all lines of sight, dropping to 0.5 mm where lines of sight were blocked by occlusion. The photogrammetric system reported poses at 2 Hz to the multilateration system, enabling it to align its stations on the distant targets and measure static poses of the platform with an estimated uncertainty typically less than 70 µm for the position coordinates and less than 110 µrad for the orientation angles. Multilateration measurements were then used by CoGiRo to reduce its positioning errors to less than 250 µm. The technique was validated using a practical assembly of two square-shaped metallic parts equipped with 10 independent capacitive distance sensors that allowed us to demonstrate part alignment to better than 250 µm.

## 1. Problematic and proposed solution

When industrial applications involving large volume and/or large objects need to be automated, the use of cable-driven parallel robots (CDPRs) is relevant as they can carry large payloads and operate in workspaces of up to tens of meters or more. CDPRs are composed of several cables that connect a mobile platform to a fixed structure, often a metallic one. The robot end effector is mounted on the mobile platform and the cables are usually wound onto motorized winch drums after passing over guide pulleys, which allow the lengths of the cables, and therefore the position and orientation of the mobile platform, to be controlled. These winches must be synchronised to ensure accurate trajectories.

Let us consider a CDPR actuated by *m* cables and with an end-effector having *n* = 6 degrees of freedom. Many CDPRs are redundantly actuated (i.e. *m* > *n*), typically with eight cables (e.g. CoGiRo [1]), and often in an over-constrained configuration (e.g. IPAnema [2]). Other solutions exist such as the CDPR used for the Five-hundred-meter Aperture Spherical radio Telescope (FAST), which moves a mobile platform (including a radio signal reception equipment) above a dish reflector using only 6 cables [3, 4]. This system is insufficiently constrained (i.e. *m* ≤ *n*) and partially stabilized by the force of gravity. Stabilization can also be provided by a force opposed to gravity, as in the 3D printer in [5] where a spring is mounted on a rail system so that it is always in the vertical direction, or as in the radio telescope in [6] where the buoyancy of a helium-filled aerostat is used to tension 3 cables.

CDPRs are applied to various fields where it is necessary to control the position and orientation of an end-effector, such as 3D-printing [5, 7], nuclear fusion reactor assembly and maintenance [8], large-scale radio telescope [3, 4], camera control for recording live events (CDPR of the size of a football field) [9], and some other fields [10]. CDPRs can also generate large force vectors on their end-effector, for example, to simulate low-gravity environments on Earth as in [11], or to help in the development of weight-shift control aircrafts as in [12].

Among these robots, CoGiRo [1], shown in Fig. 1 has been developed jointly by LIRMM and Tecnalia. It is intended for industrial applications. Its dimensions are 11 m × 15 m on the ground and 6 m high, and its mobile platform is driven by 8 steel cables, extending from the fixed structure to the mobile platform from the top of this volume. This platform has an empty weight of 92 kg, while CoGiRo can support a total weight of 500 kg. In the configuration shown in Fig. 2, the platform was equipped with additional accessories and weighted approximately 119 kg. Indeed, it can be equipped with tools for manufacturing or sensors for inspection tasks. It might be used to move a heavy load from one position to another, to paint an aircraft, to drill holes on large structures, etc. In practice, performing such tasks automatically is challenging since CDPRs are often very resolute but lack accuracy. Indeed, the pose of the platform for given motor commands can change according to the load and platform weight, as the latter modifies the tensions in the cables, and by extension their lengths due to their elasticity and sagging (influence of the cable mass). Long-term effects such as cable elongation (also known as cable creep) are also of significance. In addition, the pose can also change over time with the room temperature as this causes the metallic structure, to which the platform is attached, to move and deform (thermal
expansion). Finally, unlike rigid limbs, the cables only apply pulling forces to the platform, which can also impact the positioning accuracy of the robot when some cables are slack.

<figure><img src="image_2.png" /><figcaption>**Fig. 1:** Photograph of the 6-DoF CDPR CoGiRo developed by LIRMM and Tecnalia. The 8 CDPR cables have been numbered and coloured to make them visible.</figcaption></figure>

The main contribution of this article is a significant improvement of the CoGiRo positioning accuracy by means of multilateration and photogrammetric measurements. CoGiRo's resolution is a few tens of micrometres. However, provided that a careful calibration of CoGiRo's home pose and kinematic parameters was carried out, e.g. by means of direct measurements with a laser tracker of the cable attachment points on the mobile platform and of the cable output positions on the fixed structure, and that cable sagging and elongations due to elasticity are compensated for by the CDPR winch controller, errors of several millimetres or more on the mobile platform positioning are still made when this positioning is based on estimations from the CDPR winch encoder measurements [1]. In this paper, we will demonstrate that these errors can be reduced to less than 250 µm with multilateration and photogrammetric external measurements. Such a value opens new applications for this type of robot, for example in aeronautics, where tolerances for aircraft wing assembly are 300 µm [13]. Table I compares the positioning accuracy of CoGiRo to that of other similar CDPRs, most of them having a 6-DoF (Degrees-of-Freedom) platform controlled by 8 cables. This table was presented in the previous work [14], but has been updated in this paper. It shows that the 'estimated accuracy' to 'largest dimension' ratio of CoGiRo is, to our knowledge, the best achieved so far.

In many cases, the forward kinematics (FK), that maps the cable lengths (usually determined by winch encoders) to the platform pose, is used to estimate the latter. The geometry of the robot and the parameters of each of its components, i.e. the motor-winch system, the home pose, the cable and pulley parameters, are known thanks to 3D CAD models, manufacturer data or specific calibration procedures. A calibration procedure based on poses measured with an external measurement system can improve the accuracy of the CDPRs. Less commonly, some CDPRs use measurements from external systems to provide feedback to the motorised winches. This is known as closed-loop operation, and the external measurements may relate to CDPR poses [14, 15] or cable lengths [16]. Literature also shows the addition of sensors on the platform, such as a camera [17] or a laser-based absolute distance meter [18].

CDPRs are often equipped with force sensors. By considering the forces acting on the cables, it is possible to determine whether they are under high tension or sagging. Optimising cable tension distribution to achieve a given static or dynamic equilibrium at the CDPR mobile platform results in a higher accuracy.

The results presented in Table I should be interpreted with caution and rather be considered as orders of magnitude. Authors generally define accuracy as the difference between the desired pose and the poses obtained over a certain number of repetitions (i.e. the platform returns to the same pose several times), and this for different poses. As for the repeatability, it is defined as the variation around the average of poses obtained repeatedly. However, the metrics used are not always clearly stated, and expressed in different ways according to the authors, making comparison difficult. The error can be expressed in terms of coordinates or Euclidean distances, for example, some authors use the mean of the absolute errors in all Cartesian directions [19], the mean [20, 21] or root-mean-squared (RMS) distance [22] between the requested position and the attained positions, the distance between a requested position and the average repeatedly attained positions [18, 23, 24] (as recommended by ISO 9283 standard [25]). The tested poses are ideally measured using an instrument with a much smaller uncertainty than the characterised CDPR, such as a laser tracker. In addition, some authors characterise CDPR for measurements of static poses, others are interested in the long-term stability of these poses [15], while others evaluate the performance of the poses when the platform is in motion (dynamic behaviour along a trajectory).

As for the CoGiRo accuracy that applies to this paper, and reported in Table I, it is defined as the maximum error that we are aiming for, i.e. a distance of less than 250 µm between the desired and achieved positions, for a mobile platform at rest, in static equilibrium. In practice, as verified in the work presented in this paper, the actual positioning uncertainty obtained is much smaller. In metrology [26], the uncertainty is given for a confidence level, defined by a coverage factor
$k$, which will be equal to 1 in the following. At $k=1$, 68% of measurements fall within an interval centred on the expected value and twice as wide as the uncertainty.

To improve the CoGiRo positioning accuracy at the desired level, the use of an external coordinate measurement system is a relevant solution. Indeed, it is a direct measurement that does not depend on a kinematic model of the robot and does not need to consider the non-linear and complex behaviour of the cables or other mechanical elements such as the CDPR fixed structure. For coordinate measurements in large volumes with sub-millimetre uncertainties, there is a wide range of commercially available instruments, as well as some in development. To mention just a few: laser trackers, which have a volumetric accuracy, expressed as a maximum permissible error, of 10 µm + 5 µm / m [34], indoor global positioning systems (iGPS), which have uncertainties of between 85 µm and 500 µm at $k=1$ [35, 36, 37], multilateration systems based on self-tracking laser interferometers or absolute distance meters (ADM using amplitude-modulated continuous-wave or frequency scanning interferometry), which have demonstrated uncertainties of a few tens of micrometres for typical distances of up to 10 m [38, 39, 40, 41]. Lastly, state-of-the-art commercial photogrammetric systems working in an off-line mode with a single camera taking many images from different positions of a static object have uncertainties of the order of 4 µm + 4 µm / m of the size of the object (0.044 mm on a 10 m object) [42], but more suited to our situation are on-line systems employing two or more cameras taking synchronised image sets, which more typically achieve uncertainties of the order of 0.1 mm on 2 m to 10 m objects [43, 28]. The lower capability of on-line systems is due to the lower number of cameras available, which limits the number and geometry of the lines of sight capturing the object motion, and the reliance on prior camera internal geometry calibration since images from a single viewpoint made with the same camera are insufficient for accurate camera lens and sensor systematic error estimation [44, 45].
<table><caption>**Table I:** Comparison of performance with relevant previous works. For more details on the meaning of the performance values, please refer to the literature references. The last column of the table indicates the ratio of 'estimated accuracy' to 'largest dimension'.</caption><thead><tr><th>Ref.</th><th>CDPR</th><th>No. of cables / DoF / force sensors</th><th>Dimension</th><th>Platform mass and load</th><th>Positioning</th><th>Performances</th><th>Ratio</th></tr></thead><tbody><tr><td>This paper</td><td>CoGiRo</td><td>8/6/0</td><td>15 m × 11 m × 6 m</td><td>~140 kg</td><td>Correction using multilateration and photogrammetric coordinate measurement systems</td><td>Positioning errors lower than 250 µm, in static.</td><td>&lt; 0.0016%</td></tr><tr><td>[14]</td><td>CoGiRo</td><td>8/6/8</td><td>15 m × 11 m × 6 m</td><td>210 kg</td><td>Closed-loop operation based on 3 cameras for platform poses + 8 cameras for cable directions</td><td>Errors in coordinates less than 10 mm and in Euler angles less than 0.5°, in static.</td><td>&lt; 0.067%</td></tr><tr><td>[1]</td><td>CoGiRo</td><td>8/6/0</td><td>15 m × 11 m × 6 m</td><td>210 kg</td><td>FK w/ winch encoders</td><td>Errors in mean distance of 20.2 mm, in static (max error of 39.6 mm).</td><td>0.26%</td></tr><tr><td>[15]</td><td>Multi-tethered aerostat system</td><td>4/3/4</td><td>Base radius 365 m, height 330 m</td><td>18 kg</td><td>Closed-loop operation based on differential GPS</td><td>Errors over 1–2 hours in RMS coordinates, up to 100 mm (along z-axis).</td><td>0.014%</td></tr><tr><td>[2]</td><td rowspan="2">IPAnema 3</td><td rowspan="2">8/6/8</td><td>16.3 m × 11.3 m × 3.8 m</td><td rowspan="2">up to 300 kg</td><td rowspan="2">FK w/ winch encoders</td><td rowspan="2">Errors of 40.4 mm and repeatability of 5.2 mm.</td><td rowspan="2">0.25%</td></tr><tr><td>[23]</td><td>16.25 × 11.30 × 3.79 m</td></tr><tr><td>[16]</td><td>IPAnema 3</td><td>8/6/8</td><td>7 m × 4 m × 3 m</td><td>up to 300 kg</td><td>Absolute distance meters measuring the cable lengths</td><td>Cable lengths: Std. Dev. of 0.9 mm and &lt; 6 mm. Positioning: not provided.</td><td>-</td></tr><tr><td>[19]</td><td>IPAnema 2</td><td>8/6/8</td><td>7 m × 4 m × 3 m</td><td>n/a</td><td>FK w/ winch encoders</td><td>Errors of 34 mm, in static.</td><td>0.49%</td></tr><tr><td>[22]</td><td>Prototype for large-scale telescope</td><td>10/6/10</td><td>50 m × 50 m × 12 m</td><td>450 kg</td><td>Closed-loop operation based on 3 total stations and 1 laser tracker</td><td>Errors in RMS distance of 1 mm and in RMS angle of 2 mrad, in dynamic.</td><td>0.002%</td></tr><tr><td>[27]</td><td>5-m scaled model of FAST</td><td>6/6/0</td><td>Base radius 2.5 m, height 2.5 m</td><td>20 kg</td><td>Algorithm based on elastic catenary cable model, and using winch encoders</td><td>Errors less than 100 mm in all the directions, in dynamic.</td><td>&lt; 2%</td></tr><tr><td>[28]</td><td>INCA 6D</td><td>8/6/8</td><td>Cube of 3 m side</td><td>n/a</td><td>Close-loop operation based on an external vision system (6 cameras)</td><td>Errors less than 1 mm and 1°, in dynamic.</td><td>&lt; 0.033%</td></tr><tr><td>[17]</td><td>Marionet Assist</td><td>4/3/0</td><td>4 m × 3 m × 3 m</td><td>n/a</td><td>Close-loop operation based on 1 camera</td><td>Errors of less than 10 mm in all the directions, in static.</td><td>&lt; 0.25%</td></tr><tr><td>[20]</td><td>Planar CDPR</td><td>4/3/4</td><td>4.5 m × 4.5 m</td><td>14 kg</td><td>Close-loop operation based on 1 camera</td><td>Errors (mean distance) of 8.8 mm, in dynamic.</td><td>0.20%</td></tr><tr><td>[29]</td><td>Planar CDPR</td><td>2/2/0</td><td>1.5 m × 1.5 m</td><td>115 g</td><td>FK w/ winch encoders and cable angle sensors</td><td>Errors of 12.5 mm in RMS and up to 35 mm, in static.</td><td>0.83%</td></tr><tr><td>[30]</td><td>Planar CDPR</td><td>12/2/12</td><td>3 m × 1 m</td><td>14.5 kg</td><td>Inertial measurement unit</td><td>n/a</td><td>n/a</td></tr><tr><td>[31]</td><td>ICaSbot</td><td>6/6/6</td><td>Triangle of 1.0 – 1.2 m side, height of 1.2 m</td><td>1.1 kg</td><td>Close-loop operation based on 3 laser distance meters (altitude z + orientation) and 1 camera (position x,y)</td><td>Errors in coordinates of about 10 mm, in dynamic.</td><td>0.83%</td></tr><tr><td>[32]</td><td>KNTU</td><td>4/3/4</td><td>2.2 m × 2.1 m</td><td>2.5 kg</td><td>Close-loop operation based on 1 camera</td><td>Errors less than 45 mm and 30 mrad, in dynamic.</td><td>&lt; 1.9 %</td></tr><tr><td>[21]</td><td rowspan="2">Cable Robot Simulator</td><td rowspan="2">8/6/8</td><td>10.5 m × 14.0 m × 7.3 m</td><td rowspan="2">500 kg</td><td rowspan="2">FK w/ winch encoders calibrated using poses measured by a multi-camera vision system</td><td rowspan="2">Errors of 10 mm and 0.4 ° (characterised 1.5 months after calibration), in static.</td><td rowspan="2">0.071%</td></tr><tr><td>[33]</td><td>1.1 m × 0.8 m × 0.9 m</td></tr><tr><td>[18]</td><td>MINI Cable Robot</td><td>8/6/8</td><td>4.6 m × 0.9 m × 2.8 m</td><td>n/a</td><td>FK w/ winch encoders + 1 absolute distance meter</td><td>ISO 9283: 1.3 mm and Std. Dev. of 0.2 mm, in dynamic.</td><td>0.12%</td></tr><tr><td>[24]</td><td>PACE prototype</td><td>8/6/8</td><td>4.6 m × 0.9 m × 2.8 m</td><td>n/a</td><td>FK w/ winch encoders</td><td>Deviation over 5 days of less than 8 mm and 0.4 °, in static and dynamic. Repeatability of 1.2 mm and 0.06°. Position errors of 14 mm and 0.6 °.</td><td>0.30%</td></tr></tbody></table>
In this paper, several measurement systems were used in a collaborative manner. To obtain the lowest possible uncertainty, the multilateration-based coordinate measurement system developed by Cnam was used. This system measures the distances between different stations and optical retroreflectors, i.e. targets, to determine their positions. In [39], it was shown that the uncertainties in the measured target positions could be lower than those provided by a laser tracker: they ranged from 10 µm to 20 µm for targets located in a volume of 10 m × 6 m × 3 m. However, this multilateration system is a prototype that only measures static targets. In this paper, it measures the CDPR mobile platform when it is at rest, in a static equilibrium. In addition, the different stations cannot track the distant targets and must therefore be oriented towards them manually by an operator. To move towards an automatic aiming system, the multilateration system was assisted by the UCL multi-camera photogrammetric system. The latter can track the trajectories of multiple targets at a rate of 100 Hz and, depending on image network geometry, provide their position to the order of 0.5 mm over object dimensions of 5 m. Finally, a single-camera portable photogrammetric system from IDEKO, called VSET, measured all the photogrammetric targets set up in the workshop and on the mobile platform at the start of the measurement campaign. These data provided a coordinate reference for the UCL multi-camera photogrammetric system. The use of multilateration and photogrammetry to determine the CDPR mobile platform poses can be complementary, as each technology has its own advantages. Multilateration, based on laser distance measurements, offers direct traceability to the SI meter (the International System of Units) and high accuracy, while photogrammetry allows many targets to be measured simultaneously, at high speed. The combined implementation of these two techniques is another contribution of this paper which, to our knowledge, has no equivalent in the literature. However, this article will only explore the feasibility of this approach, without exploiting its full potential.

Several technical issues were addressed to demonstrate that the positioning errors of a large CDPR could be less than 250 µm. First, to make the CDPR and the three aforementioned measurement systems work simultaneously, the transformation matrices between their different coordinate frames must be determined. This enables to switch from one coordinate system to another. In addition, communication protocols were set up between the different systems so that, for example, the UCL photogrammetric system could transmit to the multilateration system the positions and uncertainties of the targets to be measured, or the multilateration system could transmit to the robot its actual position and orientation. These first two points ensure good inter-operation between the instruments. Next, the uncertainties in the distances measured by multilateration must be properly estimated and propagated to the uncertainties in the measured target positions. In this article, the propagation of uncertainties had to be completed until the uncertainties of the platform poses were obtained to ensure that they were sufficiently low for our objective of positioning the CDPR mobile platform to better than 250 µm. Finally, we had to set up a tangible example demonstrating the new performance of CoGiRo when assisted by external measurement systems.

<figure><img src="image_3.png" /><figcaption>**Fig. 2:** The mobile platform with its end-effector and the optical targets $M_1$ to $M_4$ used by the Cnam multilateration system. A zoom of one of these targets is shown on the top right. This photograph also shows the multilateration station $H_D$.</figcaption></figure>

The remainder of this article is structured as follows. Section 2 presents an overview of the external coordinate measurement systems. Then, in Section 3, the procedure followed during the 4-day measurement campaign is detailed to show how the different systems worked together and how they expressed their results in the same coordinate frame. Section 4 analyses the results obtained by multilateration to estimate the uncertainties in the measured distances and the determined poses, with the aim of verifying whether our objective of positioning the CDPR mobile platform to better than 250 µm can be achieved. Section 5 presents a scenario created to demonstrate the actual improvement in the mobile platform positioning. In Section 6, a comparison between target positions measured by the multilateration and photogrammetric systems is presented. Finally, Section 7 concludes this paper.
## 2. CDPR CoGiRo and external coordinate measurement systems

### a. CDPR CoGiRo

LIRMM and Tecnalia built the robot CoGiRo as a demonstrator of a 6-DoF large-dimension CDPR driven by 8 cables. Contrary to most redundantly actuated CDPRs, i.e. CDPR driven by more cables than their number of mobile platform DoFs, it is a cable-suspended robot, i.e. all its cable drawing points are located above its workspace, gravity being used to keep the cables tensed (a crane-like configuration). Such a cable-suspended configuration is relevant in many applications since no cable clutters the lower part of the workspace. The mobile platform of CoGiRo can move in a significant part of the volume occupied by its supporting structure thanks to an efficient cable layout, which is the result of the cable configuration selection methodology presented in [46]. The CoGiRo prototype can carry a payload of more than 300 kg over its entire workspace, and 500 kg near the center of its workspace. CoGiRo has been used in various projects for demonstrations of large-dimension robotic applications<fnref n="1" />.

As shown in Fig. 1, the supporting structure is made of aluminium and has overall dimensions of 11 m × 15 m × 6 m (width × length × height). Each of the 8 winches of CoGiRo consists essentially of a three-phase synchronous motor, a timing belt, and a drum that collects the steel cable of diameter 4 mm. The motor drives the drum by way of the timing belt in order to wind or unwind the cable, thereby modifying the “effective” length of the cable. Each cable is routed from the winch drum to the mobile platform by means of a pulley located near the top of the supporting structure. This pulley can swivel and its rotation axis is vertical and coincident with the cable segment located between the pulley and the drum. The point where the cable enters the swiveling pulley from the winch drum is fixed in space. When calibrating the kinematic parameters of CoGiRo, the coordinates of this point in a fixed coordinate frame are obtained by directly measuring the 3D location of the swiveling pulley with a laser tracker. The cube-shaped mobile platform of the CDPR is made of steel. Each cable is connected to the mobile platform by means of a swiveling hoist ring which acts as a universal joint (cardan joint) between the cable and the mobile platform. The cable “attachment point” on the mobile platform is considered to correspond to the center of rotation of this universal joint. The coordinate vectors of the attachment points in a local coordinate frame fixed to the cube-shaped platform can be obtained from the CAD model of the platform and/or from measurements with a laser tracker of the positions of targets fixed to the platform.

In addition to the cable point calibration mentioned above, a careful determination of CoGiRo’s home pose, compensation for cable sagging and elongations, and a kinematic modeling of the swiveling pulleys, enable the CoGiRo mobile platform to be positioned with uncertainties of a few millimetres by means of a synchronised control of the CDPR winches [1]. The latter is notably based on estimations of the mobile platform pose (position and orientation) from the winch encoder measurements. Vision-based control of CoGiRo, with external measurements made by several cameras (i.e. measurements made by sensors other than those embedded in the CDPR), yielded similar positioning uncertainties [14]. Previous experiments have shown that CoGiRo, and more generally CDPRs, lack accuracy but are resolute: very small drum rotations can be made, resulting in very small cable length variations and linear and/or angular displacements of the mobile platform. Therefore, by means of sufficiently accurate external measurement systems, the positioning of the CoGiRo mobile platform can be accurate. In fact, an original contribution of this article is a significant improvement of the CoGiRo positioning accuracy using multilateration and photogrammetric coordinate measurement systems, showing that CoGiRo has a high resolution of a few tens of micrometres and positioning errors reduced to less than 250 µm.

### b. Cnam multilateration system

The Cnam multilateration system measures distances from four stations, called measurement heads, to multiple targets, as shown in the example in Fig. 3 for one target. This system is based on an absolute distance metre (ADM) developed in-house, which achieves distance measurements with an uncertainty of about 5 µm at $k=1$, assuming the speed of light in the air was determined accurately. It uses only one ADM, which is connected via optical fibres and a 1×4 optical switch to the different heads. This means that only static targets can be measured: the 4 distances to a given target are measured sequentially, one after the other, with a measurement time of 10 s per head. In practice, this time is even longer with durations between 70 s to 120 s per measurement because the heads also need time to align their laser beam on the distant target. The targets are optical retroreflectors, and, for this campaign, we used glass spheres of refractive index $n_{glass}$ equal to 2 and of diameter 14 mm. Such a target is visible from all directions.

The ADM and the four heads used in this measurement campaign are improved versions of our previous developments [39, 47]. The ADM offers similar performance to its predecessor. It was compared with an interferometer and demonstrated an uncertainty of 4.0 µm ($k=1$) for displacement measurements up to 14.5 m with a glass sphere as the target. The measurement heads now use piezoelectric motors for improved angular resolution. The design of the gimbal mechanism is also different, since it is based on a rotating mirror, rather than having all the beam-source components (i.e. optical fibre and collimation system) mounted on the gimbal. Lastly, as shown in the zoom in Fig. 3, each head is equipped with a glass sphere which can be used as a target for the other measurement heads. It is positioned along the standing axis

<footnote n="1">¹ see the following links: https://www.youtube.com/watch?v=NHCXvCGlw-0 - https://www.youtube.com/watch?v=g0_OqK-ZWdU</footnote>
of the head, approximately 30 mm below the invariant point of rotation of the gimbal mechanism. This allows us to determine the distances between the different measurement heads, and to see how these evolve over time. This can be used to check the mechanical stability of the multilateration system.

<figure><img src="image_4.png" /><figcaption>Fig. 3: Photograph of the multilateration system describing the measurement of a glass sphere, with the optical paths in red. A zoom on the design of head $H_A$ is also shown.</figcaption></figure>

Multilateration is a technique for determining the positions of targets using distance observations only. The positions of the heads are unknown, as are those of the $n$ targets to be measured. This leads to $(4+n) \times 3$ unknown coordinates, for $4 \times n$ observations. To solve this problem, we first set a Cartesian frame with, for example, one of the heads located at the origin (with all three coordinates set to zeros), a second one along the $x$ axis (with the $y$- and $z$- coordinates set to zero), and a third one in the $xOy$ plane (with the $z$-coordinate set to zero), which reduces the number of unknowns by 6. Then, we opt for a number of targets to be measured that is higher than 6. In this way, we have more observations than unknowns, and the coordinates of the heads and targets can be determined. This is known as multilateration with self-calibration [48].

It is worth noting that, once the unknowns have been determined, the Cartesian frame can be changed. In this study, the Cartesian multilateration frame is directly transformed into the local frame of head $H_A$. The origin is defined as the position of Head $H_A$, and the three Cartesian axes are constructed based on its polar measurements, i.e. its angular encoders.

$$4 \times n \text{ observations} \geq (4 + n) \times 3 - 6 \text{ unknowns} \Rightarrow n \geq 6 \quad (1)$$

Multilateration is also a technique for determining the positions and orientations of rigid objects (i.e. its pose), such as the various rigid bodies of a robot. If one target is sufficient to determine a position, three targets set up on a rigid body are needed to additionally determine its orientation in space. In practice, the use of more targets is recommended, for redundancy, but also in case of beam occlusions from all the heads for one of the targets. A specific algorithm is applied to determine the poses of a rigid object. First, the set of targets installed on the rigid body is measured by multilateration with self-calibration. The rigid body is thus defined, i.e. the positions of these targets relative to each other are determined. They are denoted $M_j(\text{pose } 1)$ in equation (2). Then, when the rigid body is repositioned, its new position and orientation (pose $m$) are estimated by least-squares minimization of the following cost function:

$$\begin{aligned} \text{cost function} &= \sum_{i,j} (d_{i,j}^2 - \|H_i - M_j(\text{pose } m)\|^2)^2 \\ &= \sum_{i,j} (d_{i,j}^2 - \|H_i - R \times M_j(\text{pose } 1) - t\|^2)^2 \end{aligned} \quad (2)$$

where $H_i$ are vectors of head coordinates, with $i$ an integer ranging from 1 to 4, and where $M_j$ are vectors of target coordinates, with $j$ an integer ranging from 1 to $n$. The new unknown orientation and position of the rigid body are represented by the rotation matrix $R$ and the translation vector $t$, respectively. There are 6 unknown values: 3 Euler angles $\alpha, \beta$, and $\gamma$ for yaw, roll and pitch (ZYX convention), which defines the rotation matrix $R$, and 3 translation components along $x$, $y$- and $z$-axes, which defines the translation vector $t$. To refine the determination of each pose, weights were added to the cost function in formula (2) to take into account the uncertainties estimated on the target positions $H_k$ and $M_k$ by the multilateration algorithm with self-calibration. To do this, we applied the weighted least-squares method proposed in [49]. Finally, the unknown values of the cost function in formula (2), i.e. pose $m$, can be determined once at least 3 targets had been measured and a total of 6 observations (i.e. 6 head-to-target distances) had been acquired. This approach is known as 6-DoF multilateration (also known as Rigid Body Localization in the literature [50, 51]).

### c. UCL multi-camera photogrammetric system

Before the multilateration system can make a measurement, the heads must be pointed at the different targets, which requires a certain knowledge of the target positions, to the order of 0.5 mm. In order to determine the target positions on the mobile platform whilst in motion, a photogrammetric 6-DoF tracking system developed by UCL and based on the VMSCapture software was used [52]. The system flexibly supports multiple types and numbers of cameras enabling camera constellations and their optical lines of sight to be optimised to meet the spatial and temporal requirements of the application. In this case, an initial photogrammetric network design demonstrated that four low-cost off-the-shelf
industrial cameras and lenses would be sufficient to track coded retroreflective targets on the CDPR mobile platform to the level needed to point each multilateration head.

The VMSCapture system uses circular retroreflective targets, illuminated by ring lights fitted to each of the cameras as shown in Fig. 4. Flat target plates with unique clusters of 8 retroreflective markers in known arrangement form coded targets that are attached to the CDPR mobile platform, allowing the system to automatically and uniquely identify each target in each image and triangulate them using bundle adjustment [53].

To reduce the susceptibility of the system to vibration and movement of the cameras, the cameras are not assumed to be in stable positions; instead, coded target plates are placed around the measurement volume and used to resect the camera pose in every image captured. These targets will hereafter be referred to as the reference targets. The locations of these reference targets must be measured before tracking of the targets installed on the CDPR mobile platform can begin.

As a further complication, the $n_{glass}=2$ spheres measured by the Cnam multilateration system are not reliably tracked by photogrammetry because sphere surface reflections of light from the green photogrammetric ring lights are view dependant and dominate the internal sphere reflections, thereby introducing biases. A solution is to reference both the photogrammetry and multilateration targets on the CDPR mobile platform so that they can be tracked as a rigid body: estimates of the multilateration target coordinates can therefore be calculated from a 6-DoF transformation from the measured photogrammetric targets.

<figure><img src="image_5.png" /><figcaption>**Fig. 4:** Photographs of a VMS tracking camera (left) and the CDPR mobile platform showing the coded retroreflective targets (right).</figcaption></figure>

In order to ensure that all images captured are of the platform in the same position and orientation, a hardware trigger system is used to synchronise image capture. Images are sent to the processing computer by dedicated USB connections which enable data rates of up to 5 Gbit/s per camera. For each set of synchronised images, the photogrammetric system finds all target image centres, identifies coded targets, estimates camera poses using the reference targets (resection step), then solves for the locations of all the targets using least-squares triangulation based on the prior camera pose estimates (intersection step). For a more optimal solution, a bundle adjustment then processes this data to simultaneously estimate all camera poses and target positions on the mobile platform based on the coordinates of the reference targets. This method allows the cameras to be moved during acquisition, provided reference targets remain measurable and identifiable in the field of view. Estimated coordinates of the glass spheres mounted on the mobile platform are transferred via Ethernet to the multilateration system which can then use these coordinates to point its measurement heads at each glass sphere in turn.

## d. IDEKO VSET photogrammetric system

The VSET system, a portable single-camera photogrammetric system developed by IDEKO [54, 55], was used to reference the UCL multi-camera system. The VSET system is an advanced metrology solution designed for precision measurement and quality control in manufacturing environments [56]. Manufactured by Soraluce, this system integrates innovative photogrammetric techniques to enhance accuracy and efficiency in large-volume metrology, making it adaptable to various industrial applications including aerospace, automotive, and heavy machinery sectors. Furthermore, it is designed to withstand harsh industrial conditions and with a user-friendly interface which ensures that operators can perform measurements and analyses with minimal training.

The VSET system includes a Nikon D500 camera, a Nikon AF Nikkor 24 mm F/2.8D prime lens, a Nissin MF18 flashlight, six carbon-fiber scale bars, non-coded and coded targets, and a computer. Coded targets are used to reference distances and keep the scale of the measurement field. These targets are divided into three groups: cross-points, extremes of the scale bars, and 57 igloo-shaped structures each covered by 14 coded markers.
Measurements start from the cross-point to reference the distances of the coded targets from the coordinate system origin (defined by six coded targets attached to the cross-point). Then, scale bars provide length references, with their distances calibrated using a Zeiss Accura coordinate-measuring machine (CMM). The igloo-shaped coded target structures aid in matching pictures and computing camera positions, which is crucial for supporting image-matching quality and overall measurement accuracy. Retroreflective targets on hemispherical balls are used for comparison with Spherically Mounted Retroreflectors (SMR), and for re-calibrating VSET scales taking as external distances measured by another system such as the multilateration system.

### 3. Application to CoGiRo CDPR

#### a. Overview of the setup and interactions between the systems

To significantly improve the positioning accuracy of the CDPR CoGiRo presented in Section 2.a, photogrammetric and multilateration systems were used in a collaborative way. The VSET single-camera photogrammetric system was used to reference the UCL multi-camera photogrammetric system. The UCL photogrammetric system provided the target positions used by the Cnam multilateration system to within 0.5 mm. Finally, the multilateration system was used to determine the mobile platform position and orientation errors made by CoGiRo and communicate them to its control software for correction. Table II summarises the interactions between these different systems, which are detailed in the subsequent sub-sections. Some of these interactions (lines 2 to 4 of the table) correspond to the calibration of the photogrammetric systems and were carried out offline via the exchange of text files. The remaining interactions (lines 5 to 7) correspond to the measurement and correction of the CDPR mobile platform by the multilateration system and were accomplished via Ethernet connections based on the TCP/IP protocol. These online interactions only occurred when the CDPR mobile platform had reached a static pose that was maintained for several minutes. Note that the CDPR was able to maintain poses of the mobile platform in a very stable manner over long periods of time (i.e. at rest, in a static equilibrium). Consequently, fine synchronisation between the systems was not required. For example, the multilateration system accessed the coarse coordinates of the targets to be measured from a web server hosted on the computer of the UCL photogrammetric system, each time a measurement head had to aim at a target. The data on this server was updated every 0.5 seconds, ensuring updates fast enough for static poses.

<table><caption>**Table II:** Summary of data exchanges from the different systems. Column 1 shows which system requested the data. Column 2 indicates the type of information and where it comes from. Column 3 shows how this information is used by the system in column 1.</caption><thead><tr><td>System</td><td>Data received</td><td>Purpose / Action</td></tr></thead><tbody><tr><td>Single-camera photogrammetric system</td><td>Length measurements ||F<sub>4</sub> - F<sub>3</sub>|| and ||F<sub>7</sub> - F<sub>2</sub>||; from the multilateration system.</td><td>Used as long-scale bars of several metres in order to improve scale determination.</td></tr><tr><td>Four-camera photogrammetric system</td><td>Reference x,y,z target coordinate measurements and their uncertainties; from the single-camera photogrammetric system.</td><td>Used to reference the UCL multi-camera photogrammetric system into the measurement system coordinate frame.</td></tr><tr><td>Four-camera photogrammetric system</td><td>n=2 glass sphere reference coordinates at positions F<sub>2</sub>, F<sub>3</sub>, F<sub>4</sub> and F<sub>7</sub>; from the multilateration system.</td><td>Enable coordinates of the n=2 glass spheres to be estimated by the photogrammetric system in the x,y,z axes of the multilateration frame.</td></tr><tr><td>Multilateration system</td><td>Coordinates of the n=2 glass spheres mounted on the CDPR mobile platform estimated at 2Hz by the four-camera photogrammetric system.</td><td>Used to align the four measurement heads of the multilateration system on each target to be measured.</td></tr><tr><td>Multilateration system</td><td>The poses in which the CDPR was placed; from the CDPR itself.</td><td>Used to compare CDPR poses with those measured, enabling the multilateration system to calculate the pose errors.</td></tr><tr><td>CDPR</td><td>Corrections in coordinates and angles; from the multilateration system.</td><td>Used by the CDPR to correct the platform pose by converting the corrections in coordinates and angles into winch drum rotation corrections</td></tr></tbody></table>

It should be noted that each system may have its own coordinate system, necessitating coordinate transformations when exchanging data. Based on the VSET reference, the UCL photogrammetric system expressed its measurement coordinates directly within the same Cartesian frame as the multilateration system, which serves as a common frame for both systems. However, the multilateration system had to express the calculated errors in the Cartesian frame of the CDPR, which is different. In this frame, the mobile platform is defined by a fixed point located at the middle of the bottom face of the platform (this point is named Origin in Fig. 2) and three Euler angles (ZYX convention) in relation to a fixed Cartesian coordinate system whose origin is roughly in the middle of the workshop floor and whose z axis is vertical to the floor.

The multilateration system was installed as shown in Fig. 5, with heads $H_A$, $H_B$ and $H_C$ placed on one side of the CDPR working space. The multilateration frame is defined such that the head $H_A$ is its origin, the z-axis is the vertical of this levelled head (defined as the zero-elevation angle), and the x-axis is provided by its azimuth angle encoder (defined as the zero-azimuth angle). In the multilateration frame, the head positions were:
$$ \left\{ \begin{array}{l} H_A = [\ 0.000\ \text{m} \quad 0.000\ \text{m} \quad 0.000\ \text{m}] \\ H_B = [-0.033\ \text{m} \quad 2.859\ \text{m} \quad 3.056\ \text{m}] \\ H_C = [\ 0.051\ \text{m} \quad 5.955\ \text{m} \quad 0.004\ \text{m}] \\ H_D = [\ 6.049\ \text{m} \quad 2.646\ \text{m} \quad 1.771\ \text{m}] \end{array} \right. \qquad (3) $$

The heads were positioned in such a way that the uncertainties in the measured positions are nearly minimised. Indeed, their positions were close to one of the optimal arrangements proposed in [57], where the 4 heads must form a regular tetrahedron and where the targets to be measured must be located close to the centre of this tetrahedron. In addition, the measurement heads were either fixed to the ground ($H_A$ and $H_C$) or mounted on heavy metallic structures laid on the ground and independent of the CoGiRo structure ($H_B$ and $H_D$).

<figure><img src="image_6.png" /><figcaption>Fig. 5: Photograph of the working space with the positions $H_k$ of the measurement heads of the multilateration system, the positions $C_k$ of the cameras of the UCL photogrammetric system, and two fixed positions $F_k$.</figcaption></figure>

The distances measured by the multilateration system were corrected for the air refractive index. To this end, a Vaisala PTU300 sensor recorded temperature at ±0.2 °C, pressure at ±0.25 hPa and relative humidity at ±1%. This sensor was placed below head $H_B$, at a height of 1.5 m above the ground, which corresponds to the average height of the CDPR working space. Over 4 days of measurements, the air temperature was between 13 °C and 23 °C. Each day was a little warmer than the previous one, and over the course of a day, the temperature rose by up to 6 °C between 9 am and 6 pm. The atmospheric pressure was between 1003.4 hPa and 1011.3 hPa, and the humidity, when expressed as the partial pressure of water vapour, was between 440 Pa and 880 Pa. Besides, a Voltcraft CO2-60 recorded the CO2 content ranging from 438 ppm to 651 ppm, with an uncertainty of ±80 ppm (parts per million, i.e. µmol / mol). Lastly, we measured the vertical temperature gradient by installing a line of 4 Pt100 temperature sensors close to head $H_B$, at heights of 0.5 m, 1.5 m, 2.5 m and 3.5 m. The results are shown in Fig. 5: the warmer it was, the greater the temperature gradient.

<figure><img src="image_7.png" /><figcaption>Fig. 6: Temperature measurements w.r.t. sensor located at 1.5 m height and as a function of the time.</figcaption></figure>

We have kept things as simple as possible in order to process the results as soon as the distance measurements were done. For air refractive index correction, we used the temperature value from the Vaisala sensor and we considered an uncertainty value of 0.5 °C ($k=1$), which is the standard deviation of all the relative temperature values in Fig. 6, regardless of height. This results in an additional uncertainty component of 0.5 µm / m on the measured distances. Taking into account all the environmental measurements and their uncertainties, the uncertainty due to the light velocity correction is 0.7 µm / m ($k=1$).
In parallel, the four cameras of the UCL photogrammetric system, $C_l$ to $C_d$ on the blue gantry in Fig. 5, were installed in approximately the same plane. This gantry is independent of both the CoGiRo structure and the structures used by the multilateration measurement heads.

No changes have been made to the mechanical structure of GoGiRo, but some minor adjustments have been made to the CDPR mobile platform. As can be seen in Figs. 2 and 4, aluminium profiles with cross-sections of 45 mm × 45 mm were fixed to the cube-shaped frame of the platform. The aim was to position targets, particularly glass spheres, in the middle of the cube to improve their visibility. An end-effector was also added for demonstration purposes (see section 5). This element consists of a steel profile with a cross-section of 60 mm × 60 mm and a length of 300 mm.

The measurement campaign was carried out over 4 days. The next sub-sections (b) to (d) presents the sequence of measurements carried out. To facilitate understanding, Appendix 2 includes two illustrative diagrams describing this sequence. It can be seen that the measurement campaign can be divided into two distinct periods, respectively represented by Fig. A and Fig. B in the appendix. The first period was dedicated to the calibration of the photogrammetric systems, and encompassed the operations detailed in lines 2 to 4 of Table II. It is important to note that during this period, the measurements exchanged between the different measurement systems were fused using bundle adjustment to improve the accuracy of the two photogrammetric systems. Coded photogrammetric reference coordinates and their uncertainties from the IDEKO VSET system along with reference coordinates and lengths from the multilateration system and their uncertainties were used to define the coordinate datum for both camera calibration and subsequent operation of the UCL photogrammetric system. This ensured that all three systems shared a common Cartesian coordinate frame, i.e. that of the Cnam multilateration system, and reported their respective outputs and inputs within this frame. The second period involved the automated and real-time measurements of static poses of the CDPR mobile platform using both multilateration and photogrammetry techniques. It also involved the correction of the CDPR poses based on the errors identified through multilateration.

## b. Characterization of the multilateration system

In order to apply a self-calibration algorithm and determine the initial coordinates of the four measurement heads $H_k$, the first step was to measure 10 fixed positions $F_k$ (with $k$ from 1 to 10) spread in the workshop. Knowledge of the head coordinates $H_k$ was subsequently used to determine positions of targets set up on the CDPR mobile platform. When a target was measured by only one or two heads, its position was calculated in spherical coordinates in similar manner to using a laser tracker. When a target was measured by three heads, its position was determined by trilateration. Lastly, when a target was measured by the four heads, a multilateration algorithm with self-calibration was applied, considering all measurements made since the start of the measurement campaign.

Of the 10 measured positions $F_k$, four were the glass spheres mounted on the measurement heads ($F_8$, $F_9$, $F_{10}$ and $F_5$). Starting by measuring these glass spheres, a first approximation of the head positions was made using the method presented in [6], which helped to orient the heads towards the next targets. The 6 other measured positions were obtained by moving a single target from one position to another within the tetrahedron formed by the 4 heads and were as uniformly distributed as possible across this space. Four of these positions ($F_2$, $F_3$, $F_4$ and $F_7$) were used, in sub-section (c), to set up a unique Cartesian reference frame between the photogrammetric and multilateration systems. This allowed the UCL photogrammetric system to express its measurements in the Cartesian frame of the Cnam multilateration system.

To define a common Cartesian frame for the photogrammetry and multilateration systems, common physical targets should be measured by both systems, which is not straightforward because they operate differently and, in our case, with light of different wavelengths. However, these systems can measure common positions using the supports shown in Fig. 7. These supports can be occupied by a glass sphere to be measured by the multilateration system, and also by a photogrammetric target to be measured by the VSET and UCL systems. These supports have been designed to correspond to the same position with a tolerance of 0.5 mm, regardless of the type of target used. Such a tolerance value was sufficient for our application.

<figure><img src="image_8.png" /><figcaption>**Fig. 7:** From left to right, the support, the support with the glass sphere, the support with a 1.5-inch nest, and the support with a SMR in the nest. This SMR with a single retroreflective dot is a nest-based target.</figcaption></figure>

During the measurement campaign, the fixed positions $F_k$ ($k$ = 1 ... 10) were measured by multilateration twice, the evening of day 1 and the morning of day 2, for a reproducibility test. Following these measurements, the glass spheres in positions $F_2$, $F_3$, $F_4$ and $F_7$ were replaced by photogrammetric targets for the rest of the measurement campaign.

## c. Initialization phase of the photogrammetry
The photogrammetric system must first measure the retroreflective markers of the common supports in Fig. 7, in order to link its Cartesian frame with that of the multilateration system. Whilst it is possible to directly use the UCL four-camera system, a single-camera photogrammetric survey, for which the IDEKO system is designed, with multiple images taken from different locations will generally improve the coordinate uncertainties. This improvement is due to the increased number of convergent lines of sight to each photogrammetric target provided by multiple views from a single mobile camera, versus the maximum four lines of sight per target of the UCL system. There is also an improvement in target connectivity across the photogrammetric network given by the multi-directional constellation of targets located on each of the igloo targets and used in the single-camera photogrammetric survey, as opposed to the flat targets used by UCL which are limited to a ± 50° acceptance angle.

A single-camera photogrammetric survey was then carried out by IDEKO on day 2 of the measurement campaign using the VSET system. Multiple images of the workshop and the CDPR mobile platform were taken from different locations and viewing angles. The survey in a scene of approximately 11 m × 15 m × 6 m took roughly half an hour to complete. Different types of photogrammetric targets were used: coded targets in the shape of igloos, plates of 8 retroreflective markers (some in sizes 70 mm × 70 mm, but mostly in sizes 100 mm × 100 mm), and as shown in Fig. 7, single retroreflective dots on hemispherical balls that can be mounted on 1.5-inch nests. There were 8 supports compatible with the nest-based targets. Part of these positions are $F_2, F_3, F_4$ and $F_7$, previously measured by multilateration, and the other part are $M_1$ to $M_4$, mounted on the mobile platform of CoGiRo (Fig. 2 and 4). The positions $M_k$ will later be measured by multilateration to determine static poses of the platform.

<figure><img src="image_9.png" /><figcaption>Fig. 8: Photograph of the working space with the fixed positions $F_k$ used to improve photogrammetric systems scale.</figcaption></figure>

The coordinates of the positions $F_k$ determined by both multilateration and single-camera photogrammetry (VSET system) were used to determine the transformation matrix between the frames of the two systems, and to define scale of the photogrammetric system. The single-camera photogrammetric survey needs at least one distance as an input to determine its scale. The straightforward method is to use mechanical scale bars, obtaining good results as shown in Table III. Moreover, some measurements from multilateration were also used to improve the accuracy of the single-camera photogrammetry throughout the large working volume shown in Fig. 8: the distances $||F_4-F_3||$ and $||F_7-F_2||$ were deduced from the multilateration measurements, and then used as long-scale bars of several metres (see Table III). This is data fusion, in the sense that several data sources have been combined to produce a more accurate scale than would have been possible using a single source. Output coordinates and their uncertainties from the IDEKO single-camera photogrammetric survey were used to provide the baseline coordinate reference for the UCL system.

<table><caption>**Table III:** Comparison of distances $||F_4-F_3||$ and $||F_7-F_2||$ between single-camera photogrammetric survey using mechanical scale bars and those obtained from the multilateration measurements.</caption><thead><tr><th></th><th>||F<sub>4</sub>-F<sub>3</sub>|| in mm</th><th>||F<sub>7</sub>-F<sub>2</sub>|| in mm</th></tr></thead><tbody><tr><td>Multilateration</td><td>3996.556</td><td>3516.426</td></tr><tr><td>VSET Photogrammetry</td><td>3996.864</td><td>3516.411</td></tr><tr><td>Deviation</td><td>-0.308</td><td>0.015</td></tr></tbody></table>
Regarding the UCL four-camera photogrammetric system, the camera lenses are individually focused and mechanically locked in position on site to provide the best possible target image quality over the working volume. This site-dependent physical adjustment to the optical geometry requires the cameras to be calibrated in situ, as a one-off setup process. For this measurement campaign, camera calibration was performed using the array of targets set out across the working volume, taking images with each of the 4 cameras, at 16 separate poses per camera. The resulting network of 64 images captured from one side of the working volume is shown in Fig. 9. These images were taken at the same time as the IDEKO VSET survey to ensure that the array of targets remained in a similar stable configuration during image capture. After capturing the calibration image network, each camera was moved back into position for synchronized on-line image capture.

The reference and UCL photogrammetric targets measured by the IDEKO VSET system and described above were used to define the datum for the calibration, as well as the nest-based targets whose positions ($F_2, F_3, F_4$ and $F_7$) were also measured by the multilateration system to ensure that the camera calibration was compliant with the $x,y,z$ axes of the multilateration frame. In the Figs. 9 and 10 below, the Cartesian frame used is that of the multilateration system.

<figure><img src="image_10.png" /><figcaption>**Fig. 9:** 3D views of the network geometry used to calibrate the UCL photogrammetric system. The three Cartesian axes have equal scales, and for clarity, the figure has been split into two: lines of sight are not included on the left. Green cones are the 4×16 locations from where images with the four cameras were taken from, blue clusters in the left-hand figure are the reference points from the IDEKO VSET photogrammetric survey, whilst green clusters of points are locations on the CDPR mobile platform. The right-hand figure displays the lines of sight in the network between camera poses and targets.</figcaption></figure>

The four cameras in the UCL system were calibrated using the surveyed locations of the constellation of 3D reference targets and a single pose of the CDPR mobile platform, taking this array of retro-reflective targets as a static object. Images were then captured by positioning each camera in turn at the approximate design location where the four cameras would finally be placed. This approach offered three advantages: line of sight to as many targets as possible; camera-to-target distances and the overall object volume used for calibration matched those to be used in practice; and each camera location had the necessary power, data and synchronization cables in place for convenient image capture. At each camera location, from four slightly different positions, all oriented towards the centre of the working volume, four images were taken rolling the camera about its optical axis by 0°, 90°, 180°, and 270°. This resulted in four networks, each comprising 16 images, as shown in Fig. 9. Roll angles about the optical axis assisted the photogrammetric calibration process by reducing correlations between the camera calibration parameters. The image networks were combined within a single self-calibrating bundle adjustment to simultaneously estimate the 3D coordinates of 191 targets, the parameters of the 64 camera poses, and the camera lens model parameters for each of the four physical cameras. The validity of the camera calibration was verified by cross-checking the output statistics from the least-squares adjustment process. The a-posterior variance factor for the adjustment [unit weight estimate] was 0.99 with a RMS image residual of 1/16th of a pixel. The 3D coordinates of the targets were estimated in the multilateration frame to mean standard deviations of 0.068 mm, 0.043 mm and 0.026 mm in x, y and z axes, respectively.

Estimates of the coordinate uncertainties derived from photogrammetric triangulation vary according to the triangulation geometry set by the lines of sight between cameras and targets. Worst case 3D coordinate uncertainties were for physical targets that were angled away from all but 6 of the available 64 camera views. Furthermore, these 6 lines of sight had narrow apex angles within the network. In the worst case, the estimated 3D coordinate standard deviations were 0.64 mm, 0.43 mm and 0.18 mm which are visible as red uncertainty ellipsoids in Fig. 10.
<figure><img src="image_11.png" /><figcaption>**Fig. 10:** An elevation view of the network geometry used to calibrate the UCL photogrammetric system. The *x* and *z* axes have equal scales. As before, green cones are locations from where images with the four cameras were taken from, blue clusters are reference points from the IDEKO VSET photogrammetric survey, and green clusters of points are locations on the CDPR mobile platform. Here, 3D ellipsoids have been created based on the coordinate uncertainty estimates from the self-calibrating bundle adjustment. Large ellipsoids in red and yellow are present for some targets mounted on the CDPR mobile platform that were only visible to six of the camera poses. The graphic, with its exaggerated ellipsoid scale versus the overall network scale, highlights that coordinate estimates from multiple line of sight triangulation systems are highly dependent on the number of intersecting lines of sight and the apex angle formed at the target location by those lines of sight.</figcaption></figure>

A further check is to compare the photogrammetric target coordinates estimated from the IDEKO VSET survey with those from the UCL camera calibration process. One method is to use the four common nest-based targets (positions *F*₂, *F*₃, *F*₄ and *F*₇) to make a least-squares estimate of a rigid body 6-DoF transformation between the UCL photogrammetric measurements and the IDEKO VSET reference measurements and to inspect the target coordinate discrepancies between the two datasets. Table IV summarises the inspection, demonstrating a maximum discrepancy of 0.27 mm with a standard deviation of 0.26 mm for magnitude.

Table IV, together with Table III which compares baselines measured by multilateration with the same baselines measured by IDEKO VSET single-camera photogrammetry, demonstrate the agreement between the three coordinate measurement systems.

<table><caption>**Table IV:** Maximum, RMS and standard deviations of the coordinate discrepancies between reference values and photogrammetric coordinate estimates of the four common reference nests.</caption><thead><tr><th></th><th>x (mm)</th><th>y (mm)</th><th>z (mm)</th><th>Magnitude (mm)</th></tr></thead><tbody><tr><td>Maximum coordinate discrepancy</td><td>0.15</td><td>0.18</td><td>0.21</td><td>0.27</td></tr><tr><td>RMS coordinate discrepancy</td><td>0.12</td><td>0.12</td><td>0.14</td><td>0.22</td></tr><tr><td>Std. dev. coordinate discrepancy</td><td>0.14</td><td>0.14</td><td>0.16</td><td>0.26</td></tr></tbody></table>

### d. Completion of the initialization phase of the multilateration system

After the initialisation phase for photogrammetry, the 4 photogrammetric nest-based targets *M*₁ to *M*₄ mounted on the CDPR mobile platform were replaced by glass spheres (see Fig. 7). These glass spheres remained in place for the rest of the measurement campaign. The coordinates of these targets were then measured by multilateration from day 3.

However, the pose of the CDPR mobile platform used in sub-section (c) and measured by photogrammetry did not allow all the glass sphere targets to be seen by all the heads, since with this pose (numbered 0), there were occlusions for targets *M*₂ and *M*₄. Moreover, this pose cannot be considered a true CDPR pose, as the platform was placed on the ground, without applying any tension to the cables, to ensure that the platform was as stable as possible during the photogrammetry initialization phase. In other words, the winch motors were not activated.

Consequently, a new pose (numbered 1) was used so that the multilateration system defines the rigid body formed by the 4 targets *M*₁ to *M*₄, i.e. determine the positions of these targets relative to each other. In pose 1, where the CDPR mobile platform was at rest, in a static equilibrium as will be all subsequent poses (with the motors activated and tension applied to the cables), all the heads observed all the targets. Thus, after applying a multilateration algorithm with self-calibration, the following distances between the different targets were obtained:

$$ 
\begin{aligned}
\|M_1 - M_2\| &= 515.246 \text{ mm} \\
\|M_1 - M_3\| &= 871.023 \text{ mm} \\
\|M_1 - M_4\| &= 739.845 \text{ mm} \\
\|M_2 - M_3\| &= 469.728 \text{ mm} \\
\|M_2 - M_4\| &= 438.369 \text{ mm} \\
\|M_3 - M_4\| &= 632.728 \text{ mm}
\end{aligned}
\qquad (4) $$
e. 6-DoF measurements

In operation, the UCL four-camera system captures sets of synchronised images. In each of these images, marker locations
are determined to sub-pixel accuracy and coded targets identified. From these images, the pose of each camera is then
independently estimated with respect to the constellation of the photogrammetric reference targets. Reference targets are
assumed to be static throughout the measurement campaign, along with the optical lens model determined for each camera
in the calibration step. This method removes the need for a physically stable camera platform. The 3D coordinates of the
targets mounted on the CDPR mobile platform are then estimated by least squares intersection. A photogrammetric
network adjustment, similar to that used for the camera calibration step is then computed, but holding the camera optical
parameters fixed as these cannot be reliably determined from single camera views. The output from this network
adjustment is updated target coordinate estimates of the CDPR mobile platform frame. Again, due to the variable network
triangulation geometry, coordinate uncertainties of these targets vary throughout the volume. Fig. 11 shows an example
from the four-camera network, highlighting the limited number of lines of sight to each set of markers when compared
with the camera calibration networks. Exaggerated uncertainty ellipsoids demonstrate the variation in estimated
coordinate uncertainty.

Due to surface reflections, the UCL photogrammetric system cannot reliably and directly determine the coordinates of the glass spheres mounted on the CDPR mobile platform, which correspond to the positions Mk. Instead, these coordinates must be inferred from the motion of the platform. Assuming that the CDPR platform is a rigid body, the glass sphere coordinates Mk(pose m) can be estimated with a 6-DoF transformation between the live coordinates of the photogrammetric targets on the CDPR and prior reference positions in which the glass sphere markers were fitted with a retroreflective dot (nest-based targets in Fig. 7). The live process of image capture, image measurement, camera pose estimate, intersection, network adjustment and 6-DoF transformation was run sequentially throughout the CDPR deployment reporting estimates of sphere locations to the multilateration system. In the example above, 1-sigma coordinate estimates of targets within the working volume ranged from an average of 0.2 mm, 0.1 mm and 0.1 mm in x, y, z axis for targets seen in all four images to a worst case of 0.5 mm, 0.2 mm and 0.1 mm in x, y, z axis for targets observed on three images. As can be seen in Fig. 11, the largest coordinate uncertainty estimates aligned with the range direction from the minimal pairs of cameras observing the sides of the CDPR platform.

<figure><img src="image_12.png" /><figcaption>**Fig. 11:** A view of the network geometry acquired during the synchronised image capture by the UCL four-camera photogrammetric system. The three Cartesian axes have equal scales. Green cones are locations of the four cameras, blue clusters are reference points from the IDEKO VSET photogrammetric survey, and green clusters of points are locations on the CDPR mobile platform. The 3D ellipsoids show exaggerated coordinate uncertainties from the network adjustment. Examination of the ellipsoids highlights the difference in triangulation geometry from the pairs of cameras observing each side of the box-like CDPR mobile platform. Red lines highlight single lines of sight to reference target locations, blue sight lines highlight markers observed on four camera views whilst green lines denote targets observed on two or three images.</figcaption></figure>

The UCL system communicated the coordinates of the glass spheres via a web server every 0.5 s. A higher frequency, up to 100 Hz, would be possible, but was not necessary here, as the multilateration system only measured static poses. From this information the multilateration system could then determine the platform pose to a higher level of accuracy.

The 4 glass spheres of positions Mk mounted on the mobile platform were not always visible by the 4 measurement heads of the multilateration system. Beam occlusions occurred regularly. However, for each pose measured, at least 11 distances between the 4 heads and at least 3 targets were observable. This means that there were always enough measured distances (i.e. more than 6) for the 6-DoF multilateration algorithm to work correctly.
It should be noted that each time the multilateration system performed a measurement, it also recorded the coordinates of the CDPR in its own coordinate frame via a TCP/IP link between CDPR and the multilateration system. After measuring several CDPR mobile platform poses, it was then possible to determine the transformation matrix between the coordinates of the glass spheres in the multilateration frame and the mobile platform pose in the CDPR fixed frame (see Appendix 1). In practice, this was done with 4 poses (numbered from 1 to 4). Once this operation had been carried out, the standard deviations between the two systems for these poses 1 to 4 were 0.45 mm for Cartesian coordinates and 0.64 mrad for Euler angles. The transformation matrix between the two frames was estimated once and remained the same until the end of the measurement campaign.

## 4. Analysis of the Multilateration measurements

In this section, we evaluate the measurement errors associated with the multilateration algorithms (multilateration with self-calibration [48] and 6-DoF multilateration, see Section 2.a) to check that they were compatible with our objective of positioning the mobile platform at better than 250 µm of uncertainty.

As shown in Fig. 12, we calculated the differences between the distances measured by the ADM of the multilateration system and those derived from the head and target positions obtained by multilateration with self-calibration algorithm. This concerns 74 measured targets, including all the fixed $F_k$ targets and also the $M_k$ targets mounted on the CDPR mobile platform for a large number of poses. In Fig. 12, a significant error is visible for the fixed target $F_7$ measured on day 2. This target was installed on a mast, which may not have been very stable. Apart from this target, the differences are included between -40 µm and +40 µm. Over all the positions, the standard deviation of the differences is 13 µm, which is higher than that observed in our previous reported work, where this value was less than 5 µm ($k=1$) [39, 47].

<figure><img src="image_13.png" /><figcaption>**Fig. 12:** Differences between the measured distances and the distances calculated from the positions estimated by multilateration with self-calibration. Concerning the 2^nd^ plot, the unnumbered pose marked with an asterisk corresponds to an uncompleted measurement on last day (the CDPR motors suddenly stopped probably due to an overheating problem).</figcaption></figure>

Multilateration algorithm with self-calibration was applied considering all measurements made since the start of the measurement campaign. However, the head positions were not necessarily stable over time, especially the heads B and D, which were mounted on metallic structures that expand with temperature. To quantify this phenomenon, the distances between the heads and the spheres mounted on each of them, called inter-head distances, were measured every day in the morning. The results are shown in Fig. 13. We observed peak-to-peak variations from 22 µm for ||AB|| to 138 µm for ||AD||. Such distance variations are difficult to explain by just wrong corrections of the air refractive index. The actual explanation is probably mechanical instability of the head positions. In this case, head $H_D$ appears to be the least stable head over time.
<figure><img src="image_14.png" /><figcaption>**Fig. 13:** Variations observed in inter-head distances. For example, the distance ||*AB*|| corresponds to the distance from head *H*<sub>A</sub> to the sphere located on head *H*<sub>B</sub> (*F*<sub>9</sub>), but also, to the distance from head *H*<sub>B</sub> to the sphere located on head *H*<sub>A</sub> (*F*<sub>8</sub>): to differentiate the evolution of these two different (but correlated) distances, one is a solid line, the other is a dashed line.</figcaption></figure>

In addition, the positions of the fixed targets *F*<sub>*k*</sub> with *k* equal to 1, 2, 3, 4, 6 and 7 were measured twice, on day 1 and day 2. The results of this reproducibility test are shown in Fig. 14, where the differences of distances between the two days are shown. Here, the targets *F*<sub>*k*</sub> correspond to a glass sphere that moves from one position to another, and the repositioning of this target in the holders (see Fig. 7) can also affect the results. The differences are comprised between -70 µm and +70 µm, except for two points, the position of target *F*<sub>6</sub>, which was fixed to a tripod, and the position of target *F*<sub>7</sub>, which was fixed to a mast. The other target positions correspond to more stable pillars, as shown in Fig. 5 and Fig. 8 with *F*<sub>2</sub>, *F*<sub>3</sub> and *F*<sub>4</sub>.

<figure><img src="image_15.png" /><figcaption>**Fig. 14:** Differences in measured distances between the heads and the targets *F*<sub>*k*</sub>, between 2 days.</figcaption></figure>

The standard deviation of the distance variations, by concatenating the results in Fig. 13 and Fig. 14, is 41 µm. We saw earlier that the distance measurements made by the ADM have an uncertainty of about 5 µm (*k*=1). We also saw that the estimation of the air refractive index adds an uncertainty contribution of 0.7 µm / m (*k*=1), mainly due to the determination of the air temperature. This section shows that these two sources of error are finally negligible. The main source of error is the long-term stability of the head positions, which should be fixed. This is probably due to the thermal expansion of the metallic structures to which they were mounted, but it is difficult to do better in an uncontrolled environment.

The multilateration algorithms used require the positions of the heads to be fixed, although in the actual situation we observe movements in their positions. As a result, the uncertainty in the measured distances were increased to take these movements into account. This uncertainty is probably close to the standard deviation obtained on distance measurements between fixed positions carried out over several days, i.e. about 40 µm. Calculations carried out after the measurement campaign show that this value results in uncertainties in the target positions determined by multilateration with self-calibration between 70 µm and 130 µm, with 87% of the measured targets having an uncertainty of less than 100 µm (*k*=1). These values were obtained from the traces (the operator) of covariance matrices calculated for each target as explained in [48]. In addition, the main uncertainty component is oriented predominantly along the *z*-axis. In any case, these levels of uncertainty are largely compatible with our objective, which is to adjust the CDPR position at better than 250 µm.
<figure><img src="image_16.png" /><figcaption>Fig. 15: Differences between the measured distances and the distances calculated from the poses estimated by 6-DoF multilateration.</figcaption></figure>

Besides, 19 CDPR mobile platform poses were measured by 6-DoF multilateration algorithm during the measurement campaign (pose 0, then poses 2 to 19). Using the target positions $M_k$ deduced from 6-DoF multilateration, and not from multilateration with self-calibration (where all the heads measured all the distances to a target), we calculated as previously the differences between the measured distances and those calculated from the head and target positions. The results are shown in Fig. 15. This represents 256 distances (the number of measured distances per pose is shown in brackets) for differences between –90 µm and +70 µm, and a standard deviation of 24 µm. In all poses, all targets were visible from at least one head, and all heads measured at least one target. Monte-Carlo simulations were carried out to estimate the pose uncertainties. For this purpose, and for each pose, the distances measured by the multilateration system were simulated (in practice $10^4$ sets of random distances were generated, distributed in a Gaussian manner with a standard deviation of 40 µm), then for each set of distances, a 6-DoF multilateration algorithm was run. The output errors were the differences between expected poses and those obtained by simulation, i.e. after adding random noises. For all poses, the errors were centered on zero and showed standard deviations between 24 µm and 67 µm for Cartesian coordinates and between 43 µrad and 112 µrad for Euler angles, except for pose 19 which had standard deviations of up to 148 µm and 171 µrad. When the errors are calculated as absolute distances and angles between the desired pose and the simulated poses, the Monte-Carlo simulations revealed average distances ranging from 48 µm to 96 µm and average absolute angles from 68 µrad to 128 µrad (the average is calculated over a set of simulation), depending on the pose and excluding pose 19. The positioning error is therefore 2.5 times smaller than that of our objective of 250 µm.

# 5. A part insertion scenario to demonstrate accurate positioning

## a. Overview

To verify that the positioning of the CDPR mobile platform of CoGiRo could indeed be improved to better than 250 µm by using an external multilateration system, we have set up a demonstration inserting a square-shaped male part into a female part, simulating, for example, the accurate relative positioning of two parts to be assembled. It is depicted in Fig. 16. The CDPR had to place the male part so that it faces the female part (approach pose), then it had to move along the correct axis to reach the final pose where the male part is inserted into the female part. A set of 10 capacitive distance sensors checked the distances between the two parts: if the adjustment of the two parts was better than 250 µm in these 10 points, then a set of 10 LEDs lighted up to indicate that the position and orientation of the CDPR mobile platform were correct. It should be noted that the extremity of the male part was located approximately 90 cm away from the origin of the platform, so that the orientation adjustment must approximately be better than 275 µrad.

<figure><img src="image_17.png" /></figure>
<caption>**Fig. 16:** The centring device with the male part attached to the CDPR mobile platform and the female part fixed, for two different views: the approach pose at the top and the final pose at the bottom. When the male part is less than 250 µm from the perfect position, all the LEDs light up.</caption>

The sequence of execution of this demonstration scenario, automated as far as possible, is as follows:

1. The CDPR mobile platform is positioned manually by an operator at the approach pose, then at the final pose. These two poses are measured by the multilateration system, and the measurements obtained used to define reference poses.

2. The mobile platform is then positioned in the middle of the CDPR workspace and a 20 kg mass is added to the mobile platform. This load simulates, for example, the addition of payload, i.e. a tool or a sensor. Moreover, this load leads to higher tension forces in the cables, and therefore changes the CDPR behaviour. At this stage, once the mobile platform is again at rest, in a static equilibrium, the multilateration system measures the change in pose due to the addition of the 20 kg mass.

3. The CDPR mobile platform returns to its previous approach pose, and the multilateration system measured this pose again once the platform is at rest. The latter should be different from the expected pose due to the additional weight added to the platform.

4. The multilateration system communicates to the CDPR the errors made in reaching the pose, i.e. 3 coordinates for position and 3 angles for orientation. The CDPR corrects its cable lengths to match the approach pose measured by multilateration in Step 1. Modifying the cable lengths make the CDPR mobile platform moves to another pose. Once the CDPR mobile platform reaches this pose and is stable (i.e. at rest, in a static equilibrium), the multilateration system measures again the pose for checking.

5. Step 4 is repeated until the pose is correct, i.e. until the differences in coordinates and angles between the approach poses measured by the multilateration system in Steps 1 and 4 are less than 250 µm and 275 µrad.

6. The platform moves then in the right direction to reach its final pose.

7. The multilateration system performs a last measurement for checking. If the alignment tolerances are met, i.e. the relative positioning of two parts is less than 250 µm, the 10 LEDs on the capacitive distance sensors should light up.

The execution of this scenario is described in the following section, while the related platform poses (in a static equilibrium) are depicted in Fig. 17 and summarized in Table V. The latter shows the differences between poses estimated by the CDPR using winch encoders and the same poses obtained by 6-DoF multilateration. The results are expressed in the CDPR fixed frame, with 3 coordinates and 3 angles. We also observe that the multilateration system required between 18 min and 26 min to determine a pose, depending on the number of distances measured between the heads and the targets mounted on the mobile platform. The most time-consuming part is the one following the coarse alignment of the heads towards the retroreflective targets (to within 0.5 mm using photogrammetric measurements), when the laser beams had to be scanned to find the best aiming angles, i.e. the highest power received after reflection from the target.

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

<figure><img src="image_19.png" /><figcaption>**Fig. 17:** The different poses of the CDPR mobile platform measured by the Cnam multilateration system and the UCL photogrammetric system, with a top view on the left, and a view along the x-axis on the right. Each pose is depicted by the 4 sphere targets $M_k$ mounted on the mobile platform and displayed in the multilateration frame. The intersection of the rotation axes of head $H_A$, located approximately 29 cm above the ground, defines the origin of this frame. The approximate location of the origin of the CDPR fixed frame is also indicated.</figcaption></figure>

<table><caption>**Table V:** Summary of the 19 poses measured during the demonstration scenario executions. In pose 12, the results may be altered because one of the CDPR cables was touching the male part set up on mobile platform.</caption><thead><tr><th rowspan="2">Pose</th><th rowspan="2">Comment</th><th colspan="2">Timestamp</th><th rowspan="2">Number of measured distances</th><th colspan="3">Difference of the poses – CDPR fixed frame (2 lines: α, β, γ in mrad, then x, y and z in mm)</th></tr><tr><th>Start (elapsed time)</th><th>End (elapsed time)</th><th></th><th></th><th></th></tr></thead><tbody><tr><td>Day 3</td><td>1</td><td>Rigid Body characterization</td><td>13:01 (24 min)</td><td>13:25</td><td>16</td><td>0.055<br/>-0.782</td><td>1.114<br/>-0.085</td><td>0.602<br/>-0.054</td></tr><tr><td></td><td>2</td><td>Final pose</td><td>13:55</td><td>14:21</td><td>14</td><td>-0.015</td><td>-0.703</td><td>-0.444</td></tr></tbody></table>
<table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td></td><td>(define reference pose)</td><td>(25 min)</td><td>0.247</td><td>0.442</td><td>0.022</td></tr><tr><td rowspan="2">3</td><td>Approach pose</td><td>14:32 14:51</td><td rowspan="2">12</td><td>0.276</td><td>-0.855</td><td>-0.047</td></tr><tr><td>(define reference pose)</td><td>(20 min)</td><td>0.839</td><td>-0.212</td><td>0.108</td></tr><tr><td rowspan="2">4</td><td>Operator pose</td><td>15:01 15:27</td><td rowspan="2">13</td><td>-1.004</td><td>0.354</td><td>0.567</td></tr><tr><td>(without load)</td><td>(26 min)</td><td>-0.162</td><td>-0.768</td><td>-0.025</td></tr><tr><td rowspan="2">5</td><td>Operator pose</td><td>15:54 16:16</td><td rowspan="2">12</td><td>-0.715</td><td>0.924</td><td>0.440</td></tr><tr><td>(with load)</td><td>(22 min)</td><td>-0.221</td><td>-0.458</td><td>6.056</td></tr><tr><td rowspan="2">6</td><td>Approach pose</td><td>16:23 16:44</td><td rowspan="2">13</td><td>0.412</td><td>-0.939</td><td>0.207</td></tr><tr><td>(with load)</td><td>(21 min)</td><td>1.288</td><td>-0.352</td><td>9.004</td></tr><tr><td rowspan="2">7</td><td>Approach pose</td><td>16:55 17:13</td><td rowspan="2">12</td><td>0.439</td><td>-0.950</td><td>0.229</td></tr><tr><td>(with load + correction)</td><td>(18 min)</td><td>1.332</td><td>-0.422</td><td>9.088</td></tr><tr><td rowspan="2">8</td><td>Final pose</td><td>17:32 17:52</td><td rowspan="2">14</td><td>0.228</td><td>-0.913</td><td>-0.183</td></tr><tr><td>(with load + correction)</td><td>(20 min)</td><td>0.684</td><td>0.212</td><td>8.548</td></tr><tr><td rowspan="2">9</td><td>Rigid Body</td><td>10:42 11:02</td><td rowspan="2">16</td><td>-0.352</td><td>0.307</td><td>1.265</td></tr><tr><td>characterization</td><td>(19 min)</td><td>-0.269</td><td>0.482</td><td>3.343</td></tr><tr><td rowspan="2">10</td><td>Final pose</td><td>11:26 11:47</td><td rowspan="2">14</td><td>-0.398</td><td>-0.807</td><td>-0.184</td></tr><tr><td>(define reference pose)</td><td>(22 min)</td><td>0.293</td><td>0.288</td><td>1.953</td></tr><tr><td rowspan="2">11</td><td>Approach pose</td><td>11:53 12:11</td><td rowspan="2">13</td><td>-0.236</td><td>-1.057</td><td>0.052</td></tr><tr><td>(define reference pose)</td><td>(18 min)</td><td>0.710</td><td>-0.128</td><td>2.014</td></tr><tr><td rowspan="2">12</td><td>Operator pose</td><td>12:24 12:43</td><td rowspan="2">16</td><td>-0.879</td><td>-2.255</td><td>1.499</td></tr><tr><td>(without load)</td><td>(19 min)</td><td>7.678</td><td>4.524</td><td>6.073</td></tr><tr><td rowspan="2">13</td><td>Operator pose</td><td>12:49 13:10</td><td rowspan="2">16</td><td>0.728</td><td>-2.808</td><td>2.156</td></tr><tr><td>(with load)</td><td>(21 min)</td><td>8.308</td><td>5.457</td><td>11.291</td></tr><tr><td rowspan="2">14</td><td>Approach pose</td><td>13:24 13:43</td><td rowspan="2">13</td><td>0.486</td><td>-0.992</td><td>0.124</td></tr><tr><td>(with load)</td><td>(18 min)</td><td>1.065</td><td>0.094</td><td>9.288</td></tr><tr><td rowspan="2">15</td><td>Approach pose</td><td>13:58 14:18</td><td rowspan="2">13</td><td>0.538</td><td>-0.940</td><td>0.122</td></tr><tr><td>(with load + correction)</td><td>(19 min)</td><td>1.071</td><td>0.062</td><td>9.276</td></tr><tr><td rowspan="2">16</td><td>Final pose</td><td>14:29 14:50</td><td rowspan="2">14</td><td>0.382</td><td>-0.929</td><td>-0.219</td></tr><tr><td>(with load)</td><td>(21 min)</td><td>0.629</td><td>0.473</td><td>8.856</td></tr><tr><td rowspan="2">17</td><td>For testing purpose</td><td>15:33 15:55</td><td rowspan="2">11</td><td>-2.422</td><td>0.735</td><td>-0.391</td></tr><tr><td>(with load)</td><td>(22 min)</td><td>11.546</td><td>-0.650</td><td>23.426</td></tr><tr><td rowspan="2">18</td><td>For testing purpose</td><td>16:07 16:32</td><td rowspan="2">15</td><td>-2.911</td><td>-3.609</td><td>0.487</td></tr><tr><td>(with load)</td><td>(25 min)</td><td>25.138</td><td>-7.210</td><td>8.285</td></tr><tr><td rowspan="2">19</td><td>For testing purpose</td><td>16:44 17:04</td><td rowspan="2">13</td><td>-1.171</td><td>-1.679</td><td>3.128</td></tr><tr><td>(with load)</td><td>(19 min)</td><td>36.966</td><td>-8.462</td><td>37.726</td></tr></tbody></table>

## b. Executing the scenario

On day 3 of the measurement campaign, a large number of poses of the CDPR mobile platform were measured (those numbered from 1 to 8 in Table V), the transformation matrix between the multilateration and the CDPR frames was determined (see Section 3.(e)), and the scenario was tested. The results are not detailed here, but the differences between the poses estimated by the robot control software and those measured by the multilateration system are shown in Table V. The scenario was executed without any problems. However, to understand the results in Table V, it should be pointed out that the corrections applied to the CDPR mobile platform were calculated in the multilateration frame rather than in the fixed CDPR frame, rounded to the nearest 0.1 mm, and that we did not correct for orientation errors. Despite this, Table VI shows that after correcting the approach pose, the errors in coordinates of the position of the CDPR mobile platform fall from almost 9 mm to less than 100 µm.

<table><caption>**Table VI:** Pose differences on Day 3 determined by multilateration – CDPR fixed frame</caption><thead><tr><th>Pose difference</th><th>Comment</th><th>2 lines: α, β, γ in mrad, then x, y and z in mm.</th></tr></thead><tbody><tr><td rowspan="2">6 – 3</td><td>Approach pose without load versus with load</td><td>-0,136 0,084 -0,254<br>-0,449 0,140 -8,896</td></tr><tr><td>Approach pose after correction</td><td>-0,163 0,096 -0,276<br>-0,093 -0,090 -0,080</td></tr></tbody></table>

On day 4, the scenario was executed properly. For this purpose, the poses measured by the multilateration system were immediately expressed into the CDPR fixed frame by means of 3 Cartesian coordinates and 3 Euler angles. In this way, the corrections in coordinates and angles were applied to the CDPR control software as required. Note that the transformation matrix between the multilateration and CDPR frames was determined on the previous day, employing the 4 poses 1 to 4.

We first measured the following four poses:

* Pose 9, a pose where all the glass spheres mounted on the mobile platform were visible from all the heads in order to characterize again the rigid body formed by these targets.
* Pose 10, the final pose for which we want to improve the CDPR positioning trueness. To define this reference pose, the square-shaped male part was positioned manually into the female part by an operator with the help of a vernier calliper.

* Pose 11, the approach pose, which is 18 cm in front of the female part, along the y-axis. This pose ensured that the male part is inserted smoothly into the female part.

* Pose 12, which is in the middle of the workshop, so that an operator could add a mass of 20 kg to the mobile platform.

For poses 9 to 11, Table V shows small differences between the x and y coordinates estimated by the CDPR control software and those measured by 6-DoF multilateration, but for the z component it shows errors of up to 3.3 mm. We should ignore the z component to obtain standard deviations of 0.4 mm for coordinates and 0.5 mrad for angles, values similar to those obtained on day 3 for poses 1 to 4. It seems that after testing the scenario a first time on day 3, then removing the 20 kg mass between the two days, the CDPR mobile platform did not completely return to its previous z position.

When we added the 20 kg mass, i.e. after the pose 12, the mobile platform moved significantly, particularly along the z-axis. We observed an error of more than 7 mm in z for the approach pose, as shown in Table VII. To improve the approach pose in the presence of the load, the CDPR position has been corrected using the difference between poses 14 and 11, i.e. the values shown in Table VII.

After correction, errors in coordinates were less than 36 µm and in angles less than 52 µrad. This demonstrates that the CDPR has sufficient displacement and orientation resolution to achieve an accuracy of a few tens of micrometres if it is assisted by an external coordinate measurement system. However, these values have an uncertainty due to the performance of the multilateration system, which varies according to the poses, typically from 24 µm to 67 µm for coordinates and from 43 µrad to 112 µrad for angles as shown in Section 4. These values are nonetheless low enough to claim platform positioning to better than 250 µm.

Finally, we moved the robot by 18 cm until it reached its final pose, then we measured its error with respect to the reference pose, i.e. the pose without additional load. The error has increased because the correction to be made depends on the position of the mobile platform. And as previously observed, the error is mainly in z. We added a final correction of 374 µm in z to observe all the LEDs of the centring device light up as expected. This means that the 10 capacitive distance sensors agree with the multilateration measurement, and that the poses 10 and 16 are identical to within 250 µm. The multilateration measurement system efficiency was therefore validated by an independent external system in a part insertion demonstration scenario.

<table><caption>**Table VII:** Pose differences on Day 4 from multilateration system – robot frame</caption><thead><tr><th>Pose difference</th><th>Comment</th><th colspan="3">2 lines: α, β, γ in mrad, then x, y and z in mm.</th></tr></thead><tbody><tr><td rowspan="2">14 – 11</td><td>Approach pose without load versus with load</td><td>-0,722</td><td>-0,065</td><td>-0,071</td></tr><tr><td></td><td>-0,355</td><td>-0,222</td><td>-7,274</td></tr><tr><td rowspan="2">15 – 11</td><td>Approach pose after correction</td><td>-0,052</td><td>-0,052</td><td>0,001</td></tr><tr><td></td><td>-0,007</td><td>0,036</td><td>0,015</td></tr><tr><td rowspan="2">16 – 10</td><td>Final pose without load versus with load</td><td>-0,058</td><td>0,188</td><td>0,106</td></tr><tr><td></td><td>0,019</td><td>0,041</td><td>0,374</td></tr></tbody></table>

### c. Additional pose measurements

At the end of day 4, three additional poses were measured. These poses, numbered 17, 18 and 19, were further away from CDPR workspace centre. While the previous positions of the platform were no more than 2.3 m from the workspace centre, positions 17, 18 and 19 are at distances of 2.9 m, 2.7 m and 3.2 m from the centre, respectively. Previously, when executing the scenario, Table V showed that the corrections to be made depended on the position of the CDPR mobile platform and seemed to increase when the platform was placed far away from the centre of its workspace, i.e. from the origin of the CDPR fixed frame shown in Fig. 17. Here, the poses 17 to 19 shows errors of up to 38 mm for coordinates and 3.1 mrad for angles, which are significantly larger than for the other poses. The performance of the CDPR, including its positioning accuracy, deteriorates, mainly due to a less balanced distribution of forces among the cables.

Similarly, poses 17 to 19 were not optimal for photogrammetry because the platform was located at the limit of visibility of the 4 cameras. For example, pose 19 was 8 m from the cameras, and the 100 mm × 100 mm plates of 8 retroreflective markers mounted on the platform were at the limit of visibility, as the cameras lacked resolution at such a distance. The performance of the UCL photogrammetric system, including these non-optimal positions, is presented in the next section.

For multilateration, the poses are optimal when the platform is inside the tetrahedron formed by the 4 measurement heads. This is not the case for poses 17 to 19. Nevertheless, as we saw earlier in Section 4, the estimated uncertainties for the poses remain below 67 µm for the coordinates and 112 µrad for the angles, except for pose 19, which has slightly higher uncertainties of up to 148 µm and 171 µrad.
## 6. Comparison between multilateration and photogrammetry

The 4 targets $M_k$ mounted on the CDPR mobile platform were determined by both systems, photogrammetry and multilateration. Fig. 18 shows the differences in coordinates between target positions provided by these two systems, for each measured pose. These differences are expressed in the multilateration frame. Standard deviations of 0.39 mm in x, 0.25 mm in y and 0.22 mm in z are obtained. If we exclude the last three poses (17 to 19), which are outside the optimal measurement space for photogrammetry, the standard deviations are improved to 0.20 mm in x and in y, and 0.12 mm in z. Systematic errors can also be observed when considering each target separately. These errors are mainly due to mechanical offsets between the nest-based photogrammetric targets and the glass spheres when they are mounted in their support (see Fig. 7). These offsets range up to 210 µm and have been determined using the least-squares method by minimising the peak-to-peak variations observed over the 4 targets $M_k$ for each pose. If these mechanical offsets between the photogrammetric targets and the glass spheres are corrected, the results are improved in x and in y, with the previous standard deviations decreasing to 0.18 mm and 0.12 mm (see yellow box for poses 11 to 18). Overall, the improvement is mainly local, and Fig. 18 follows the same trend as without correction for offsets, with errors of the same order for poses 17 to 19.

<figure><img src="image_20.png" /><figcaption>**Fig. 18:** Comparison between the coordinates $M_k$ determined by multilateration and those obtained by photogrammetry, expressed in the multilateration frame. The mechanical offsets between the targets have not been corrected, but an example is given in a box if we had done so for positions 11 to 17 and with the same vertical scale.</figcaption></figure>

## 7. Conclusion

CoGiRo is a CDPR that has a high resolution of a few tens of micrometres, but when it is positioned using only winch sensors, it lacks accuracy with errors up to few millimetres. To improve its positioning to better than 250 µm, an external coordinate measurement system based on multilateration technique was used to measure targets set up on its mobile platform. The multilateration system was developed by Cnam and consists of 4 measurement heads installed around the CDPR workspace to optically measure distances to the targets. The measurement heads, particularly the ones installed high up, were not mechanically stable over the 4 days of measurement campaign (thermal expansion, tilting, etc.), which degraded the uncertainty of the measured distances, estimated to 40 µm ($k=1$), and of the calculated target positions, estimated to between 70 µm and 130 µm ($k=1$). The measurements of these targets, when the CDPR mobile platform was at rest and in static equilibrium, also allowed the poses of the platform to be determined. The uncertainties of the CDPR poses were estimated to be up to 67 µm ($k=1$) for the coordinates and up to 112 µrad ($k=1$) for the angles, with the exception of pose 19, which was outside the optimal measurement volume.

In this article, the multilateration system measured the reproducibility of the CDPR positioning between two states, before and after the addition of a 20 kg mass to its mobile platform, i.e. an increase of its weight of approximately 17%. The changes observed between these two states depend on the position of the CDPR mobile platform and seems to increase when the robot is moved away from its central position, but globally errors up to 9 mm were measured, especially along the vertical axis. However, the CDPR was able to reposition its mobile platform when the multilateration system transmitted to the CDPR control software the errors made in position and orientation. After correction, pose errors of less than 36 µm in coordinates and less than 52 µrad in angles were observed. Ideally, such a positioning assisted by multilateration should have been performed on a larger number of repetitions and for different poses for a better quantification of the CDPR accuracy. These errors were measured by a multilateration system whose measurements are traceable to SI meter, and whose uncertainties are well below 250 µm. We can therefore affirm that the correction of CoGiRo by an external coordinate measurement system brings it to positioning errors less than 250 µm.

We have also set up a demonstration scenario that consisted of inserting a square-shaped male part into a female part. The adjustment of the two parts at better than 250 µm was checked in 10 points thanks to capacitive distance sensors. The planned scenario was successfully executed, with the capacitive sensors validating independently the improvements in platform position and orientation measured by multilateration. This also demonstrated that the CDPR has sufficient
displacement and orientation resolution to achieve positioning errors of a few tens of micrometres if it is assisted by an external coordinates measurement system.

This scenario was executed in an automatic way thanks to the use of a photogrammetric system developed by UCL, which provided to the multilateration system the positions of its targets to within 0.5 mm. This enabled the measurement heads of the multilateration system to automatically aim at the distant targets. Thus, this study also provided an opportunity to compare the performance of the photogrammetric system with respect to the multilateration one. The differences between target positions provided by the two systems were typically between -0.5 mm and +0.5 mm if targets remained inside an optimal measurement space for photogrammetry, with standard deviation of 0.2 mm. It appears that the photogrammetric system could also be used to improve the positioning of the CDPR: it is slightly less accurate than the multilateration system, not traceable without scale bars being present, but it is able to operate in dynamic mode up to 100 Hz contrary to the multilateration system that only measures static targets. This can for example be used to monitor the motion of the CDPR mobile platform along a trajectory, or its vibrations around an equilibrium.

For the industry of tomorrow, real-time closed-loop operation based on photogrammetry to improve the dynamic behaviour of the CDPR would be relevant. However, for the poses of interest, e.g. prior to manufacturing or inspection tasks, it may still be necessary to perform measurements using the multilateration approach to achieve the highest possible accuracy. If a multilateration system were to be installed permanently to improve the positioning of CoGiRo, the measurement speed of the multilateration system would also have to be improved, in particular by working on the time required for the heads to aim perfectly at the targets. In addition, the mechanical stability of the structures on which the measurement heads were installed would have to be improved. An alternative approach would be to redetermine the head positions on a daily basis.

In this study, we have demonstrated that the CDPR platform can be positioned with an uncertainty of less than 250 µm by combining multilateration and photogrammetric measurements. This was experimentally verified in a dedicated demonstration scenario. However, the latter was implemented mainly within the central region of the CDPR workspace. Extending pose compensation to the entire working volume would likely require optimising the placement of the multilateration measurement heads, as well as the cameras and reference targets of the photogrammetric system; and possibly adding additional heads or cameras. Nevertheless, it is clear that the poses of the CDPR platform can be determined with an accuracy better than 250 µm, given that the current uncertainties in the poses estimated by the multilateration system are well below this threshold. The limitation here would be more due to the behaviour of the CDPR platform near the boundaries of its workspace: some cables tend to lose tension, which prevents full control of all degrees of freedom and results in an under-constrained platform. Therefore, operation near these boundaries is generally not recommended. Operations must be carried out in regions where all degrees of freedom remain controllable, i.e. when the cables remain sufficiently tensed. In this case, the displacement resolution enables the position of the platform to be adjusted to within 250 µm based on external measurements. This level of accuracy is achievable because the winch motors are position-controlled.

## Acknowledgement

This work was partially funded by the Joint Research Project 20IND02 DynaMITE. This project has received funding from the European Metrology Programme for Innovation and Research (EMPIR, funder ID 10.13039/100014132), co-financed by the participating states and from the European Union's Horizon 2020 research and innovation programme.

## Reference

[1] D. Q. Nguyen, M. Gouttefarde, O. Company and F. Pierrot, "On the simplifications of cable model in static analysis of large-dimension cable-driven parallel robots". Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), p. 928-34, Tokyo, Japan, 2013.
https://doi.org/10.1109/IROS.2013.6696461

[2] A. Pott, "Cable-driven parallel robots, theory and application". Springer, 2018.
https://doi.org/10.1007/978-3-319-76138-1

[3] X. Tang and R. Yao, "Dimensional Design on the Six-Cable Driven Parallel Manipulator of FAST". Journal of Mechanical Design, Vol. 133, Issue 11, 111012, 2011
https://doi.org/10.1115/1.4004988

[4] J-N. Yin, P. Jiang and R. Yao, "An approximately analytical solution method for the cable-driven parallel robot in FAST". Research in Astronomy and Astrophysics, Vol. 21, No. 2, 46, 2021.
https://doi.org/10.1088/1674-4527/21/2/46

[5] S. Qian, K. Bao, B. Zi and N. Wang, "Kinematic Calibration of a Cable-Driven Parallel Robot for 3D Printing". Sensors, Vol. 18, Issue 9, 2898, 2048.
https://doi.org/10.3390/s18092898

[6] J. Guillory, D. Truong and J-P. Wallerand, "Multilateration system using glass spheres to determine station positions at better than 50 µm", 3D Metrology Conference (3DMC), 26-28 September 2023, Basque Country, Spain.
[7] D. Gueners, H. Chanal and B-C. Bouzgarrou, "Design and implementation of a cable-driven parallel robot for additive manufacturing applications". Mechatronics, Vol. 86, Art. No. 102874, 2022.
https://doi.org/10.1016/j.mechatronics.2022.102874

[8] J-B. Izard, M. Michelin and C. Baradat, "Fusion reactor handling operations with cable-driven parallel robots". Fusion Engineering and Design, Vol. 98-99, pp. 1505-1508, 2015.
https://doi.org/10.1016/j.fusengdes.2015.06.009

[9] Spidercam, Ross website, 2025. Available on: https://www.rossvideo.com/cameras-and-robotic-systems/robotic-systems/spidercam. Accessed date: 8 January 2025.

[10] X. Tang, "An Overview of the Development for Cable-Driven Parallel Manipulator". Advances in Mechanical Engineering, Vol. 6, 2014.
https://doi.org/10.1155/2014/823028

[11] S-H. Hou, X-Q. Tang, L. Cao, Z-W. Cui, H-N and Sun Y-W. Yan, "Research on End-force Output of 8-cable Driven Parallel Manipulator". International Journal of Automation and Computing, Vol. 17, pp. 378-389, 2020.
https://doi.org/10.1007/s11633-019-1195-6

[12] N. Mailhot, M. Abouheaf and D. Spinello, "Model-Free Force Control of Cable-Driven Parallel Manipulators for Weight-Shift Aircraft Actuation". IEEE Transactions on Instrumentation and Measurement, Vol. 73, Art no. 2505108, pp. 1-8, 2024.
https://doi.org/10.1109/TIM.2023.3346524

[13] O.C. Martin, Z. Wang, P. Helgosson, J.E. Muelaner, A. Kayani, D. Tomlinson and P.G. Maropoulos, "Metrology enhanced tooling for aerospace (META): a live fixturing, wing box assembly case study". Proceedings of 7th international conference on Digital Enterprise Technology (DET), Athens, Greece, 2011.
https://www.muelaner.com/wp-content/uploads/2013/06/DET2011-P10.pdf

[14] T. Dallej, M. Gouttefarde, N. Andreff, P-E. Hervé and P. Martinet, "Modeling and vision-based control of large-dimension cable-driven parallel robots using a multiple-camera setup". Mechatronics, Vol. 61, pp. 20-36, 2019.
https://doi.org/10.1016/j.mechatronics.2019.05.004

[15] C. Lambert, M. Nahon and D. Chalmers, "Implementation of an aerostat positioning system with cable control". IEEE/ASME Transactions on Mechatronics, Vol. 12, Issue 1, pp. 32-40, 2007.
https://doi.org/10.1109/TMECH.2006.886251

[16] C. Martin, M. Fabritius, J. T. Stoll and A. Pott, "A Laser-Based Direct Cable Length Measurement Sensor for CDPRs". Robotics, Vol. 10, Issue 2, p. 60, 2021.
https://doi.org/10.3390/robotics10020060

[17] R. Ramadour, F. Chaumette and J-P. Merlet, "Grasping objects with a cable-driven parallel robot designed for transfer operation by visual servoing". Proceedings of IEEE International Conference on Robotics and Automation (ICRA), p. 4463-8, Hong Kong, China, 2014.
https://doi.org/10.1109/ICRA.2014.6907510

[18] X.J. Jin, J. Jung, S.Y. Ko, E. Choi, J-O. Park and C-S. Kim, "Geometric Parameter Calibration for a Cable-Driven Parallel Robot Based on a Single One-Dimensional Laser Distance Sensor Measurement and Experimental Modeling". Sensors, Vol. 18, Issue 7, Art. number 2992, 2018.
https://doi.org/10.3390/s18072392

[19] W. Kraus, V. Schmidt, P. Rajendra and A. Pott, "System identification and cable force control for a cable-driven parallel robot with industrial servo drives". Proceedings of IEEE International Conference on Robotics and Automation (ICRA), p. 5921-6, Hong Kong, China, 2014.
https://doi.org/10.1109/ICRA.2014.6907731

[20] A.R. Emmens, S. Spanjer and J.L. Herder, "Modeling and control of a large-span redundant surface constrained cable robot with a vision sensor on the platform". Cable-driven parallel robots, Springer, pp. 249-260, 2014.
https://doi.org/10.1007/978-3-319-09489-2_18

[21] M. Fabritius, P. Miermeister, W. Kraus and A. Pott, "A framework for analyzing the accuracy, complexity, and long-term performance of cable-driven parallel robot models". Mechanism and Machine Theory, Vol. 185, Art. No 105331, 2023.
https://doi.org/10.1016/j.mechmachtheory.2023.105331

[22] L. Yingjie, Z. Wenbai, R. Gexue, "Feedback control of a cable-driven gough-stewart platform". IEEE Transactions on Robotics, Vol. 22, No. 1, pp. 198-202, 2006.
https://doi.org/10.1109/TRO.2005.861459

[23] V. Schmidt, "Modeling techniques and reliable real-time implementation of kinematics for cable-driven parallel robots using polymer fibre cables". PhD thesis, Fraunhofer IPA and Universität Stuttgart, Germany, 2016.
https://publica-rest.fraunhofer.de/server/api/core/bitstreams/82ff14a6-b8c1-40ae-8716-0396204172c7/content

[24] M. Métillon, N. Pedemonte and S. Caro, "Evaluation of a Cable-Driven Parallel Robot: Accuracy, Repeatability and Long-Term Running". In Proceedings of the 5th International Conference on Cable-Driven Parallel Robots (CableCon 2021), pp.375-388, virtual conference, 7-9 July 2021.
https://doi.org/10.1007/978-3-030-75789-2_30
[25] ISO:9283:1998, 1998. Manipulating industrial robots – Performance criteria and related test methods

[26] BIPM, IEC, IFCC, ILAC, ISO, IUPAC, IUPAP and OIML. "Evaluation of measurement data – Guide to the expression of uncertainty in measurement". Joint Committee for Guides in Metrology, JCGM 100:2008.
https://doi.org/10.59161/JCGM100-2008E

[27] B. Zi, B.Y. Duan, J.L. Du and H. Bao, "Dynamic modeling and active control of a cable-suspended parallel robot". Mechatronics, Vol. 18, Issue 1, pp. 1-12, 2008.
https://doi.org/10.1016/j.mechatronics.2007.09.004

[28] R. Chellal, L. Cuvillon and E. Laroche, "A kinematic vision-based position control of a 6-DOF cable-driven parallel robot". Cable-driven parallel robots, Springer, pp 213-225, 2014.
https://doi.org/10.1007/978-3-319-09489-2_15

[29] A. Fortin-Côté, P. Cardou and A. Campeau-Lecours, "Improving cable driven parallel robot accuracy through angular position sensors". Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4350-4355. Daejeon, Korea, 2016.
https://doi.org/10.1109/IROS.2016.7759640

[30] H. Jamshidifar, A. Khajepour, B. Fidan and M. Rushton. "Kinematically-Constrained Redundant Cable-Driven Parallel Robots: Modeling, Redundancy Analysis, and Stiffness Optimization". IEEE/ASME Transactions on Mechatronics, Vol. 22, Issue 2, pp. 921-930, 2017.
https://doi.org/10.1109/TMECH.2016.2639053

[31] M. H. Korayem, M. Taherifar and H. Tourajizadeh, "Compensating the flexibility uncertainties of a cable suspended robot using SMC approach". Robotica, Vol. 33, Issue 3, pp. 578-598, 2015.
https://doi.org/10.1017/S0263574714000472

[32] R. Babaghasabha, M. A. Khosravi and H. D. Taghirad, "Adaptive robust control of fully-constrained cable driven parallel robots". Mechatronics, Vol. 25, pp. 27-36, 2015.
https://doi.org/10.1016/j.mechatronics.2014.11.005

[33] P. Miermeister, M. Lächele, R. Boss, C. Masone, C. Schenk, J. Tesch, M. Kerger, H. Teufel, A. Pott and H.H. Bülthoff, "The CableRobot simulator large scale motion platform based on cable robot technology". IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3024-3029, Daejeon, South Korea, 2016.
https://doi.org/10.1109/IROS.2016.7759468

[34] API Radian Pro, 2018. Available on: https://apimetrology.com/wp-content/uploads/2018/09/2018-API-Radian-3D-Laser-Tracker-Systems-Brochure.pdf. Accessed date: 11 December 2024.

[35] R. Schmitt, S. Nisch, A. Schönberg, F. Demeester and S. Renders, "Performance Evaluation of iGPS for Industrial Applications". Proceedings of the International Conference on Indoor Positioning and Indoor Navigation (IPIN), Zurich, Switzerland, 2010.
https://doi.org/10.1109/IPIN.2010.5647630

[36] J. E. Muelaner, Z. Wang, O. Martin, J. Jamshidi and P.G. Maropoulos, "Verification of the indoor GPS system, by comparison with calibrated coordinates and by angular reference". Journal of Intelligent Manufacturing, Vol. 23, Issue 6, pp. 2323-2331, 2012.
https://doi.org/10.1007/s10845-010-0488-y

[37] B. Hughes, A. Forbes, W. Sun, P. G. Maropoulos, J.E. Muelaner, J. Jamshidi and Z. Wang, "iGPS Capability Study", NPL Report No. ENG 23, 2010.

[38] E. K. Rafeld, N. Koppert, M. Franke, F. Keller, D. Heißelmann, M. Stein and K. Kniel, "Recent developments on an interferometric multilateration measurement system for large volume coordinate metrology". Measurement Science and Technology, Vol. 33, Number 3, Art. number 035004, 2022
https://doi.org/10.1088/1361-6501/ac407c

[39] J. Guillory, D. Truong, J-P. Wallerand, C-G. Svantesson, M. Herbertsson and S. Bergstrand, "An SI-traceable multilateration coordinate measurement system with half the uncertainty of a laser tracker". Measurement Science and Technology, vol. 34, no. 6, p. 065016, March 2023.
https://doi.org/10.1088/1361-6501/acc26a

[40] B. Hughes, M. A. Campbell, A. J. Lewis, G. M. Lazzerini and N. Kay, "Development of a high-accuracy multi-sensor, multi-target coordinate metrology system using frequency scanning interferometry and multilateration". Proceedings of Society of Photo-optical Instrumentation Engineers (SPIE), Videometrics, Range Imaging, and Applications XIV, Article 1033202, Munich, Germany, 26 June 2017.
https://doi.org/10.1117/12.2273644

[41] S.W. Kamugasa, M. Rothacher, J-C. Gayde and H. Mainaud Durand, "Development and validation of a multilateration test bench for particle accelerator pre-alignment". Measurement Science and Technology, Vol 29, Number 3, Art. number 034010, 2018.
https://doi.org/10.1088/1361-6501/aa9f84

[42] C. S. Fraser, A. Woods and D. Brizzi, "Hyper Redundancy for Accuracy Enhancement in Automated Close Range Photogrammetry". The photogrammetric record., Vol. 20, Issue 111, pp. 205-217, 2005.
https://doi.org/10.1111/j.1477-9730.2005.00327.x

[43] T. Luhmann, S. Robson, S. Kyle and J. Boehm, "Close-Range Photogrammetry and 3D Imaging". De Gruyter STEM: Boston, MA, USA; Berlin, Germany, 2023.
https://doi.org/10.1515/9783111029672
[44] T. Luhmann, C. S. Fraser and H-G. Maas, "Sensor modelling and camera calibration for close-range photogrammetry". ISPRS Journal of Photogrammetry and Remote Sensing, Vol. 115 115, pp. 37-46, 2016.
https://doi.org/10.1016/j.isprsjprs.2015.10.006

[45] Verein Deutscher Ingenieure: VDI/VDE 2634 Blatt 1, "Optical 3D Measuring Systems - Imaging Systems with Point-by-point Probing". 2002.
https://www.vdi.de/en/home/vdi-standards/details/vdivde-2634-blatt-1-optical-3d-measuring-systems-imaging-systems-with-point-by-point-probing

[46] M. Gouttefarde, J-F. Collard, N. Riehl and C. Baradat, "Geometry Selection of a Redundantly Actuated Cable-Suspended Parallel Robot". IEEE Transactions on Robotics, Vol. 31, No. 2, pp. 501-510, Avril 2015.
https://doi.org/10.1109/TRO.2015.2400253

[47] J. Guillory, D. Truong, J-P. Wallerand and C. Alexandre, "Absolute multilateration-based coordinate measurement system using retroreflecting glass spheres". Precision Engineering, vol. 73, pp. 214-227, January 2022.
https://doi.org/10.1016/j.precisioneng.2021.09.009

[48] J. Guillory, D. Truong and J-P. Wallerand, "Multilateration with Self-Calibration: Uncertainty Assessment, Experimental Measurements and Monte-Carlo Simulations". Metrology, vol. 2, no. 2, pp. 241-262, May 2022.
https://doi.org/10.3390/metrology2020015

[49] Y. Chen, G. Lu, P. Wan and Y. Yao, "Robust Rigid Body Localization Under Position Error", 6th International Conference on Intelligent Computing and Signal Processing (ICSP), Xi'an, China, 09-11 April 2021.
https://doi.org/10.1109/ICSP51882.2021.9408688

[50] B. Hao, K. C. Ho and Z. Li, "Range-Based Rigid Body Localization with a Calibration Emitter for Mitigating Anchor Position Uncertainties". IEEE Transactions on Wireless Communications, Vol. 18, Issue 12, pp. 5734-5748, 2019.
https://doi.org/10.1109/TWC.2019.2938761

[51] Y. Chen, G. Lu, P. Wan and Y. Yao, "Robust Rigid Body Localization Under Position Error". 6th International Conference on Intelligent Computing and Signal Processing (ICSP), pp. 1413-1417, Xi'an, China, 2021.
https://doi.org/10.1109/ICSP51882.2021.9408688

[52] S. Robson, L. MacDonald, S. Kyle, J. Boehm and M.R. Shortis, "Optimised multi-camera systems for dimensional control in factory environments". Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, Vol. 232, Issue 10, pp. 1707-1718, 2016.
https://doi.org/10.1177/0954405416654936

[53] S.I. Granshaw, "Bundle adjustment methods in engineering photogrammetry". The photogrammetry record, Vol. 10, Issue 56, pp. 181-207, 1980.
https://doi.org/10.1111/j.1477-9730.1980.tb00020.x

[54] P. Puerto, I. Leizea, I. Herrera and A. Barrios, "Analyses of Key Variables to Industrialize a Multi-Camera System to Guide Robotic Arms". Robotics, Vol. 12, No. 1, 10, 2023.
https://doi.org/10.3390/robotics12010010

[55] I. Leizea, I. Herrera and P. Puerto, "Calibration Procedure of a Multi-Camera System: Process Uncertainty Budget". Sensors, Vol. 23, No. (2), 589, 2023.
https://doi.org/10.3390/s23020589

[56] P. Puerto, D. Heißelmann, S. Müller and A. Mendikute, "Methodology to Evaluate the Performance of Portable Photogrammetry for Large-Volume Metrology". Metrology, Vol. 2, No. 3, pp. 320-334, 2022.
https://doi.org/10.3390/metrology2030020

[57] Y. Lin and G. Zhang, "The optimal arrangement of four laser tracking interferometers in 3D coordinate measuring system based on multilateration". International Symposium on Virtual Environments, Human-Computer Interfaces and Measurement Systems (VECIMS), Lugano, Switzerland, 27-29 July 2003.
# Appendix 1.

The multilateration system determines the positions of the 4 glass spheres $M_k$ installed on the CoGiRO robot platform, in a global frame defined with respect to the measurement head $H_A$. Indeed, in the multilateration frame, the origin is the invariant point of rotation of the head $H_A$, the z-axis is the vertical of this levelled head (defined as the zero-elevation angle), and the x-axis is provided by its azimuth angle encoder (defined as the zero-azimuth angle). This multilateration frame, fixed to the environment, is noted $F_{mlt}$.

The cable-driven robot also uses in a global frame, whose origin is located in the middle of the workshop and whose axes are oriented in a similar way to those of the fixed multilateration frame. This robot frame, fixed to the environment, is noted $F_{robot}$.

We then define $T_{robot→mlt}$ as the homogeneous transformation matrix giving the position and orientation of $F_{mlt}$ in $F_{robot}$:

$$T_{robot→mlt} = \begin{bmatrix} R_{robot→mlt}(x_1, x_2, x_3) & t_{robot→mlt}(x_4, x_5, x_6) \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}$$

where $t_{robot→mlt}$ is a 3×1 translation vector composed of 3 unknowns and $R_{robot→mlt}$ is a 3×3 rotation matrix function of 3 unknown Euler angles (ZYX convention). At this stage we have 6 unknowns to determine, noted $x_1$ to $x_6$. From this transformation matrix, it will be possible to express the coordinates of the 4 glass spheres determined by multilateration in the robot frame.

If we knew the coordinates of glass spheres in the platform frame $F_{platform}$, i.e. a local frame fixed to the mobile platform, then we could express them in the robot global frame from the homogeneous transformation matrix $T_{robot→platform}$ giving the position and orientation of $F_{platform}$ in $F_{robot}$. This transformation matrix is known and provided by the robot control software. For each pose $i$, we have 3 translations along x-, y- and z-axis ($u_i$, $v_i$, $w_i$) and 3 rotation angles ($\alpha_i$, $\beta_i$, $\gamma_i$) that define this matrix.

$$T_{robot→platform}(pose i) = \begin{bmatrix} R_{robot→platform}(\alpha_i, \beta_i, \gamma_i) & t_{robot→platform}(u_i, v_i, w_i) \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}$$

The coordinates of the 4 glass spheres are noted $M_k$ when expressed in the multilateration frame, with $k$ from 1 to 4. Subsequently, they are noted $P_k$, when expressed in the platform frame, $F_{platform}$. Coordinates $P_k$ are 4×3 unknown coordinates, but they can be reduced to just 3 unknown translation components and 3 unknown rotation angles (noted $x_7$ to $x_{12}$) as follows:

$$P_k = R_{pose i}(x_7, x_8, x_9) \times M_k(pose i) + t_{pose i}(x_{10}, x_{11}, x_{12})$$

The coordinates $M_k$ can be taken from any of the poses. However, in practice, we use pose 1 since it was used to define the rigid body.

In the end, we have 12 unknowns, which are determined by least-squares minimization using the difference between two sets of glass sphere coordinates expressed in the robot global frame, $F_{robot}$. The first set of target coordinates uses the measurements made by multilateration, $M_k$, and the unknown transformation matrix $T_{robot→mlt}$ to transpose these measurements into the global robot frame, while the second set uses the unknown sphere coordinates $P_k$ expressed in the local platform frame, and the transformation matrix $T_{robot→platform}$ to transpose these coordinates into the robot global frame.

$$residuals(pose i) = T_{robot→mlt} \times \begin{bmatrix} M_k(pose i) \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix} - T_{robot→platform}(pose i) \times \begin{bmatrix} P_k \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}$$

There are 4 glass spheres mounted on the platform, giving a total of 12 residuals values for 12 unknowns. In practice, the residuals are calculated for 4 different poses, giving robustness to the least-squares minimisation. These poses were: Pose 1 used to define the rigid body, Poses 2 and 3 corresponding to the approach and final poses, and Pose 4 corresponding to the pose where the operator added the 20 kg mass (measured just before adding the mass).
<figure><img src="image_21.png" /><figcaption>**Fig. A:** Diagram representing what is described in section 3, parts b and c, i.e. the procedure used to express the data from the three coordinate system measurements in the same Cartesian coordinate frame. The first line at the top corresponds to the CDPR and the different coordinate measurement systems, the grey arrows show the targets measured by these different systems, the pink, green and blue arrows show the target measurements used to apply the multilateration and photogrammetry algorithms and resolve the network formed by these targets, and the red arrow shows the transformation of each coordinate frame into a single Cartesian frame. The orange arrow shows two additional multilateration lengths used by the IDEKO VSET single-camera photogrammetric system, while the purple arrow indicates that initial values for the coded plates were provided to the UCL four-camera photogrammetric system by the IDEKO VSET single-camera photogrammetric system. Lastly, this diagram follows a temporal progression, represented by the black arrow on the right.</figcaption></figure>

<figure><img src="image_22.png" /><figcaption>**Fig. B:** Diagram representing what is described in section 3, parts b, d and e, i.e. the measurements carried out by the Cnam multilateration system and used to express the poses of the mobile platform in the CDPR fixed frame.</figcaption></figure>