Introduction

Cable-Driven Parallel Robots (CDPRs) form a particular class of parallel robots whose moving platform is connected to a fixed base frame by cables. Hereafter, the connection points between the cables and the base frame will be referred to as exit points. The cables are coiled on motorised winches. Passive pulleys may guide the cables from the winches to the exit points. A central control system coordinates the motors actuating the winches. Thereby, the pose and the motion of the moving platform are controlled by modifying the cable lengths. An example of CDPR is shown in Fig. 1.

Fig. 1
figure 1

Architecture of a CDPR developed in the framework of the IRT Jules Verne CAROCA project

CDPRs have several advantages such as a relatively low mass of moving parts, a potentially very large workspace due to size scalability, and reconfiguration capabilities. Therefore, they can be used in several applications, e.g. heavy payload handling and airplane painting [1], cargo handling [15], warehouse applications [14], large-scale assembly and handling operations [28, 33], and fast pick-and-place operations [18, 21, 29]. Other possible applications include the broadcasting of sporting events, haptic devices [8, 10, 31], support structures for giant telescopes [34, 35], and search and rescue deployable platforms [23, 24]. Recent studies have been performed within the framework of an ANR Project CoGiRo [2] where an efficient cable layout has been proposed [11] and used on a large CDPR prototype called CoGiRo.

CDPRs can be used successfully if the tasks to be fulfilled are simple and the working environment is not cluttered. When these conditions are not satisfied, Reconfigurable Cable-Driven Parallel Robots (RCDPRs) may be required to achieve the prescribed goal. In general, several parameters can be reconfigured, as described in section “Classes of RCDPRs”. Moreover, these reconfiguration parameters can be selected in a discrete or a continuous set of possible values.

Preliminary studies on RCDPRs were performed in the context of the NIST RoboCrane project [5]. Izard et al. [16] also studied a family of RCDPRs for industrial applications. Rosati et al. [32, 36] and Zhou et al. [38, 39] focused their work on planar RCDPRs. Recently, Nguyen et al. [26, 27] proposed reconfiguration strategies for large-dimension suspended CDPRs mounted on overhead bridge cranes. Contrary to these antecedent studies, this chapter considers discrete reconfigurations where the locations of the cable exit points are selected from a finite set (grid) of possible values. Hereafter, reconfigurations are limited to the cable exit point locations and the class of RCDPRs whose exit points can be placed on a grid of positions is defined as discrete RCDPRs.

Fig. 2
figure 2

(Courtesy of IRT Jules Verne and STX France)

CAROCA prototype: a reconfigurable cable-driven parallel robot working in a cluttered environment

Figure 2 shows the prototype of a reconfigurable cable-driven parallel robot developed at IRT Jules Verne within the framework of CAROCA project. This prototype is reconfigurable for the purpose of being used for industrial operations in a cluttered environment. Indeed, its pulleys can be displaced onto the robot frame faces such that the collisions between the cables and the environment can be avoided during operation. The prototype has eight cables, can work in both suspended and fully constrained configurations and can carry up to 400 kg payloads. It contains eight motor-geardhead-winch sets. The nominal torque and velocity of each motor are equal to 15.34 Nm and 2200 rpm, respectively. The ratio of the twp-stage gearheads is equal to 40. The diameter of the Huchez™  industrial winches is equal to 120  mm. The CAROCA prototype is also equipped with 6 mm non-rotating steel cables and a B&R control board using Ethernet Powerlink™ communication.

To the best of our knowledge, no design strategy has been formulated in the literature for discrete RCDPRs. Hence, section “Design Strategy for RCDPRs” presents a novel task-based design strategy for discrete RCDPRs. By taking into account the working environment, the designer divides the prescribed workspace or trajectory into \(n_t\) parts. Each part will be covered by one and only one configuration of the RCDPR. Then, for each configuration, the designer selects a cable layout, parametrising the position of the cable exit points. The grid of locations where the cable exit points can be located is defined by the designer as well. Placing the exit points on the provided set of possible locations, it is possible to generate many CDPR configurations. All the possible configurations are analysed with respect to a set of constraints in order to verify which parts of the prescribed workspace or trajectory can be covered. The configurations satisfying the constraints are compared in order to find the combinations of \(n_t\) configurations that accomplish the required task and optimise at the same time one or several objective function(s). A set of objective functions, dedicated to RCDPRs, is provided in section “Global Objective Functions”. These objective functions aim at maximising the productivity (production cycle time) and reducing the reconfiguration time of the cable exit points. Let us note that if the design strategy introduced in section “Design Strategy for RCDPRs” does not produce satisfactory results, the more advanced but complex method recently introduced by the authors in [9] can be considered.

In order to analyse the advantages and limitations of the proposed design strategy, a case study is presented in section “Case Study: Design of a RCDPRs for Sandblasting and Painting of a Large Tubular Structure”. It involves the design of an RCDPR for sandblasting and painting of a three-dimensional tubular structure. The tools performing these operations are embarked on the RCDPR moving platform, which follows the profile of the tubular structure. Each side of the tubular structure is associated to a single configuration. Cable exit points are reconfigured switching from one side of the tubular structure to another, until three external sides of the structure are sandblasted and painted. The cable exit point locations of the three configurations to be designed are optimised so that the number of cable attachment/detachment operations required to switch from a configuration to another is minimised. The size of the RCDPR is also minimised while its stiffness is maximised along the trajectories to be followed.

Classes of RCDPRs

CDPRs usually consist of several standard components: A fixed base, a moving platform, a set of m cables connecting the moving platform to the fixed base through a set of pulleys, a set of m winches, gearboxes and actuators, and a set of internal and external sensors. These components are usually dimensioned in such a way that the geometry of the CDPR does not vary during the task. However, by modifying the CDPR geometry, the capabilities of CDPRs can be improved. RCDPRs are then defined as CDPRs whose geometry can be adapted by reconfiguring part of their components. RCDPRs can then be classified according to the components, which are reconfigured and the nature of the reconfigurations.

Reconfigurable Elements and Technological Solutions

Part of the components of an RCDPR may be reconfigured in order to improve its performances. The geometry of the RCDPRs is mostly dependent on the locations of the cable exit points, the locations of the cable attachment points on the moving platform, and the number of cables.

The locations of the cable exit points \(A_i, i=1,\ldots ,m\) have to be reconfigured to avoid cable collisions when the environment is strongly cluttered. Indeed, modifying the cable exit point locations can increase the RCDPR workspace size. Furthermore, the reconfiguration of cable exit points provides the possibility to modify the layout of the cables and improve the performance of the RCDPR (such as its stiffness). From a technological point of view, the cable exit points \(A_i\) are displaced by moving the pulleys orienting the cables and guiding them to the moving platform. Pulleys are connected on the base of the RCDPR. They can be displaced by sliding them on linear guides or fixing them on a grid of locations, as proposed in the concepts of Fig. 3. These concepts have been developed in the framework of the European FP7 Project CableBot [4, 7, 25]. Alternatively, pulleys can be connected to several terrestrial or aerial unmanned vehicles, as proposed in [17, 22, 37].

Fig. 3
figure 3

Courtesy of the European FP7 project CableBot

CableBot designs with cable exit points fixed to a grid (left) and with cable exit points sliding on rails (right).

The geometry of the RCDPR and the cable layout can be modified as well by displacing the cable anchor points on the moving platform, \(B_i,i = 1,\ldots ,m\). Changing the locations of points \(B_i\) allows the stiffness of the RCPDR as well as its wrench (forces and moments) capabilities to be improved. A modification of the cable anchor points may also result in an increase of the workspace dimensions. The reconfiguration of points \(B_i\) can be performed by attaching and detaching the cables at different locations on the moving platform.

The number m of cables has a major influence on performance of the RCDPR. Using more cables than DOFs can enlarge the workspace of suspended CDPRs [11] or yields fully constrained CDPRs where internal forces can reduce vibrations, e.g. [18]. However, the larger the number of cables, the higher the risk of collisions. In this case, the reconfiguration can be performed by attaching or detaching one or several cable(s) to/from the moving platform and possibly to/from a new set of exit points. Furthermore, by attaching and detaching one or several cable(s), the architecture of the RCDPRs can be modified, permitting both suspended and fully constrained CDPR configurations.

Discrete and Continuous Reconfigurations

According to the reconfigured components and the associated technology, reconfiguration parameters can be selected over a continuous or discrete domain of values, as summarised in Table 1. Reconfigurations performed over a discrete domain consist of selecting the reconfigurable parameters within a finite set of values. Modifying the number of cables is a typical example of a discrete reconfiguration. Discrete reconfigurations also apply to cable anchor points, when the cables can be installed on the moving platform at a (discrete) number of specific locations, e.g. its corners. Another example of discrete RCDPR is represented in Fig. 3 (left). In this concept, developed in the framework of the European FP7 Project CableBot, cable exit points are installed on a predefined grid of locations on the ceiling. Discrete reconfigurations are performed off-line, interrupting the task the RCDPR is executing. For this reason, the set up time for these RCDPRs can be relative long. On the contrary, RCDPRs with discrete reconfigurations can use the typical control schemes already developed for CDPRs. Furthermore, they do not require to motorise the cable exit points, thereby avoiding a large increase of the CDPR cost.

Reconfigurations performed over a continuous domain provide the possibility of selecting the geometric parameters over a continuous set of values delimited by upper and lower bounds. A typical example of continuous RCDPR is represented in Fig. 3 (right), which illustrates another concept developed in the framework of the European FP7 Project CableBot. In this example, the cable exit points slide on rails fixed on the ceiling. Reconfigurations can be performed on-line, by continuously modifying the reconfigurable parameters during the task execution. The main advantages of continuous reconfigurations are the reduced set-up time and the local optimisation of the RCDPR properties. However, modifying the locations of the exit points in real time may require the design of a complex control scheme. Furthermore, the cost of RCDPRs with continuous reconfigurations is significantly higher than the cost of discrete RCDPRs when the movable pulleys are actuated.

Table 1 CDPR reconfigurable parameter classification

Nomenclature for RCDPRs

Similarly to CDPRs, an RCDPR is mainly composed of a moving platform connected to the base through a set of cables, as illustrated in Fig. 4. The moving platform is driven by m cables, which are actuated by winches fixed on the base frame of the robot. The cables are routed by means of pulleys to exit points from which they extend toward the moving platform. The main difference between this chapter and previous works on CDPRs is the possibility to displace the cable exit points on a grid of possible locations.

Fig. 4
figure 4

Schematic of a RCDPR. The red points represent the possible locations of the cable exit points, where the pulleys can be fixed

As illustrated in Fig. 4, \(\mathscr {F}_b\), of origin \(O_b\) and axes \(\mathbf {x}_b\), \(\mathbf {y}_b\), \(\mathbf {z}_b\), denotes a fixed reference frame while \(\mathscr {F}_p\) of origin \(O_p\) and axes \(\mathbf {x}_p\), \(\mathbf {y}_p\) and \(\mathbf {z}_p\), is fixed to the moving platform and thus called the moving platform frame. The anchor points of the i-th cable on the platform are denoted as \(B_{i,c}\), where c represents the configuration number. For the c-th configuration, the exit point of the i-th cable is denoted as \(A_{i,c}, i =1,\ldots ,m\). The Cartesian coordinates of each point \(A_{i,c}\), with respect to \(\mathscr {F}_b\), are given by the vector \(\mathbf {a}_{i,c}^b\) while \(\mathbf {b}_{i,c}^b\) is the position vector of point \(B_{i,c}\) expressed in \(\mathscr {F}_b\). Neglecting the cable mass, the vector \(\mathbf {l}_{i,c}^b\) directed along the i-th cable from point \(B_{i,c}\) to point \(A_{i,c}\) can be written as:

$$\begin{aligned} \mathbf {l}_{i,c}^b = \mathbf {a}_{i,c}^b - \mathbf {t} - \mathbf {R}\mathbf {b}_{i,c}^p \qquad i = 1,\ldots , m \end{aligned}$$
(1)

where \(\mathbf {t}\) is the moving platform position, i.e. the position vector of \(O_p\) in \(\mathscr {F}_b\), and \(\mathbf {R}\) is the rotation matrix defining the orientation of the moving platform, i.e. the orientation of \(\mathscr {F}_p\) with respect to \(\mathscr {F}_b\). The length of the i-th cable is then defined by the 2-norm of the cable vector \(\mathbf{l}_{i,c}^b\), namely, \(l_{i,c} = \Vert \mathbf {l}_{i,c}^b\Vert _2,\ i=1,\ldots ,m\).

In order to balance an external wrench (combination of a force and a moment), each cable generates on the moving platform a wrench proportional to its tension \(\tau _i=1,\ldots ,m\). The cables balance the external wrench \(\mathbf {w}_e\), according to the following equation [30]:

$$\begin{aligned} \mathbf {W}{\varvec{\tau }} + \mathbf {w}_e = 0 \end{aligned}$$
(2)

The cable tensions are collected into the vector \(\varvec{\tau }=\left[ \tau _1,\ldots ,\tau _m \right] \) and multiplied by the wrench matrix \(\mathbf {W}\) whose columns are composed of the unit wrenches \(\mathbf {w}_{i}\) exerted by the cables on the platform:

$$\begin{aligned} \mathbf {W} = \mathbf {\begin{bmatrix} \mathbf {d}_{1,c}^b&\mathbf {d}_{2,c}^b&\ldots&\mathbf {d}_{m,c}^b \\ \mathbf {R}\mathbf {b}_{1,c}^p \times \mathbf {d}_{1,c}^b&\mathbf {R}\mathbf {b}_{2,c}^p \times \mathbf {d}_{2,c}^b&\ldots&\mathbf {R}\mathbf {b}_{m,c}^p \times \mathbf {d}_{m,c}^b \\ \end{bmatrix}} \end{aligned}$$
(3)

where \(\mathbf {d}_{i,c}^b, i=1,\ldots ,m\) are the unit cable vectors associated with the cth configuration:

$$\begin{aligned} \mathbf {d}_{i,c}^b = \dfrac{\mathbf {l}_{i,c}^b}{l_{i,c}}, \qquad i=1,\ldots ,m \end{aligned}$$
(4)

Design Strategy for RCDPRs

Similarly to CDPRs, the design of RCDPRs requires the dimensioning of all its components. In this chapter, the design of RCDPRs focuses on the selection of the cable exit point locations. The other components of the RCDPR are required to be chosen in advance.

Fig. 5
figure 5

Design strategy for RCDPRs

Design Problem Formulation

The RCDPR design strategy proposed in this section and illustrated in Fig. 5 consists of ten steps. The design can be formulated as a mono-objective or hierarchical multi-objective optimisation problem. The designer defines a prescribed workspace or moving platform trajectory and divides it into \(n_t\) parts. Each part should be covered by one and only one configuration. The design variables are the locations of the cable exit points for the \(n_t\) configurations covering the \(n_t\) parts of the prescribed workspace or trajectory. The global objective functions investigated in this chapter (section “Global Objective Functions”) aim to reduce the overall complexity of the RCDPR and the reconfiguration time. The optimisation is performed while verifying a set of user-defined constraints such as those presented in section “Constraint Functions ”.

  1. Step I.

    Task and Environment. The designer describes the task to be performed. He/She specifies the nature of the problem, defining if the motion of the moving platform is static, quasi-static or dynamic. According to the nature of the problem, the designer defines the external wrenches applied to the moving platform and, possibly, the required moving platform twist and accelerations. The prescribed workspace or trajectory of the moving platform is given. A description of the environment is provided as well, including the possible obstacles encountered during the task execution.

  2. Step II.

    Division of the Prescribed Trajectory. Given the prescribed workspace or moving platform trajectory, the designer divides it into \(n_t\) parts, assuming that each of them is accessible by one and only one configuration of the RCDPR. The division may be performed by trying to predict the possible collisions of the cables and the working environment.

  3. Step III.

    Constant Design Parameters. The designer defines a set of constant design parameters and their values. The parameters are collected in the constant design parameter vector \(\mathbf {q}\).

  4. Step IV.

    Design Variables and Layout Parametrisation. For each part of the prescribed workspace or moving platform trajectory, the designer defines the cable layout of the associated configuration. The cable layout associated with the t-th part of the prescribed workspace or trajectory defines the locations of the cable exit points, parametrised with respect to a set of \(n_{t,v}\) design variables, \(u_{t,v}, v=1,\ldots ,n_{t,v}\). The design variables are defined as a discrete set of \(\varepsilon _{t,v}\) values, \([u]_{t,v}, v=1,\ldots ,n_{t,v}\).

  5. Step V.

    RCDPR Configuration Set. For each part of the prescribed trajectory, the possible configurations, which can be generated combining the values \([u]_{t,v}, v=1,\ldots ,n_{t,v}\) of the \(n_{t,v}\) design variables, are computed. Therefore, \(n_{t,\mathscr {C}}=\prod _{v=1}^{n_{t,v}}\varepsilon _{t,v}\) possible configurations are generated for the tth part of the prescribed workspace or trajectory.

  6. Step VI.

    Constraint Functions. The user defines a set of \(n_\phi \) constraint functions, \(\phi _k, k\,=\,1,\ldots , n_\phi \). These functions are applied to all possible configurations associated to the \(n_t\) parts of the prescribed workspace or trajectory.

  7. Step VII.

    Configuration Analysis. For each portion of the prescribed workspace or trajectory, all the possible configurations generated at Step V with respect to the \(n_\phi \) user-defined constraint functions are tested. The \(n_{f,t}\) configurations satisfying the constraints all over the tth part of the prescribed workspace or trajectory are defined hereafter as feasible configurations.

  8. Step VIII.

    Feasible Configuration Combination. The set of \(n_t\) configurations that lead to the achievement of the prescribed task are computed. Each set is composed by selecting one of the \(n_{f,t}\) feasible configurations for each part of the prescribed workspace or trajectory. The number of feasible configuration sets generated during this step is equal to \(n_\mathscr {C}\).

  9. Step IX.

    Objective Functions. The designer defines one or more global objective function(s), \(\mathscr {V}_t, t=,1,\ldots , n_\mathscr {V}\), where \(n_\mathscr {V}\) is equal to the number of global objective functions taken into account. The global objective functions associated with RCDPRs do not focus solely on a single configuration. They analyse the properties of the combination of \(n_t\) configurations comprising the RCDPR. If several global objective functions are to be solved simultaneously, the optimisation problem can be classically reduced to a mono-objective optimisation according to:

    $$\begin{aligned} \mathscr {V} = \sum _{t=1}^{n_\mathscr {V}}\mu _t\mathscr {V}_t, \quad \mu _t\in \left[ 0,1\right] , \quad \sum _{t=1}^{n_\mathscr {V}}\mu _t=1 \end{aligned}$$
    (5)

    The weighting factors \(\mu _t,t=1,\ldots ,n_\mathscr {V}\), are defined according to the priority assigned to each objective function \(\mathscr {V}_{t}\), the latter lying between 0 and 1. If several global optimisation functions have to be solved hierarchically, the designer will define those functions according to their order of priority, \(t=1,\ldots , n_\mathscr {V}\), where \(\mathscr {V}_1\) has the highest priority and \(\mathscr {V}_{n_\mathscr {V}}\) the lowest one.

  10. Step X.

    Discrete Optimisation Algorithm. The design problem is formulated as an optimisation problem and solved by analysing all the \(n_\mathscr {C}\) set of feasible configurations. The analysis is performed with respect to the global objective functions defined at Step IX. The sets of \(n_t\) configurations with the best global objective function value are determined. If a hierarchical multi-objective optimisation is required, the following procedure is applied:

    1. a.

      The algorithm analyses the \(n_\mathscr {C}\) sets of feasible configurations with respect to the global objective function which currently has the highest priority, \(\mathscr {V}_t\) (the procedure is initialised with \(t=1\)).

    2. b.

      If only one set of configuration optimises \(\mathscr {V}_t\), this solution is considered as the optimum. On the contrary, if \(n_{\mathscr {C},t}\) multiple solutions optimise \(\mathscr {V}_t\), the algorithm proceeds to the following step.

    3. c.

      The algorithm analyses the \(n_{\mathscr {C},t}\) sets of optimal solutions with respect to the global objective function with lower priority, \(\mathscr {V}_{t+1}\). Then, \(t=t+1\) and the procedure moves back to Step b.

Global Objective Functions

The design strategy proposed in the previous section aims to optimise the characteristics of the RCDPR. The optimisation may be performed with respect to one or several global objective functions. The objective functions used in this chapter are described hereafter.

RCDPR Size

The design optimisation problem may aim to minimise the size of the robot, defined as the convex hull of the cable exit points. The Cartesian coordinates of exit point \(A_{i,c}\) are defined as \(\mathbf {a}_{i,c}^b = [a_{i,c}^x, a_{i,c}^y, a_{i,c}^z]^\mathrm {T}\). The variables \(\underline{s}_x\), \(\underline{s}_y\) and \(\underline{s}_z\) denote the lower bounds on the Cartesian coordinates of the cable exit points along the axes \(\mathbf {x}_b\), \(\mathbf {y}_b\) and \(\mathbf {z}_b\), respectively:

$$\begin{aligned} \underline{s}_x&= \min a_{i,c}^x, \ \forall i = 1,...,m, \ c = 1,...,n_t \end{aligned}$$
(6)
$$\begin{aligned} \underline{s}_y&= \min a_{i,c}^y, \ \forall i = 1,...,m, \ c = 1,...,n_t \end{aligned}$$
(7)
$$\begin{aligned} \underline{s}_z&= \min a_{i,c}^z, \ \forall i = 1,...,m, \ c = 1,...,n_t \end{aligned}$$
(8)

The upper bounds on the Cartesian coordinates of the RCDPR cable exit points, along the axes \(\mathbf {x}_b\), \(\mathbf {y}_b\), \(\mathbf {z}_b\), are denoted by \(\bar{s}_x\), \(\bar{s}_y\) and \(\bar{s}_z\), respectively.

$$\begin{aligned} \bar{s}_x&= \max a_{i,c}^x, \ \forall i = 1,...,m, \ c = 1,...,n_t \end{aligned}$$
(9)
$$\begin{aligned} \bar{s}_y&= \max a_{i,c}^y, \ \forall i = 1,...,m, \ c = 1,...,n_t \end{aligned}$$
(10)
$$\begin{aligned} \bar{s}_z&= \max a_{i,c}^z, \ \forall i = 1,...,m, \ c = 1,...,n_t \end{aligned}$$
(11)

Hence, the objective function related to the size of the robot is expressed as follows:

$$\begin{aligned} \mathscr {V} = (\bar{s}_x-\underline{s}_x)(\bar{s}_y-\underline{s}_y)(\bar{s}_z-\underline{s}_z) \end{aligned}$$
(12)

Number of Cable Reconfigurations

According to the reconfiguration strategy proposed in this chapter, reconfiguration operations require the displacement of the cable exit points, and consequently attaching/detaching operations of the cables. These operations are time consuming. Hence, an objective can be to minimise the number of reconfigurations, \(n_{r}\), defined as the number of exit point changes to be performed in order to switch from configuration \(\mathscr {C}_i\) to configuration \(\mathscr {C}_{j}\). By reducing the number of cable attaching/detaching operations, the RCDPR set up time could be significantly reduced.

Number of Configuration Changes

During the reconfiguration of the exit points, the task executed by the RCDPR has to be interrupted. These interruptions impact the task execution time. Therefore, it may be necessary to minimise the number of interruptions, \(n_i\), in order to improve the effectiveness of the RCDPR. The objective function \(\mathscr {V}=n_i\) associated with this goal measures the number of configuration changes, \(n_i\), to be performed during a prescribed task.

RCDPR Complexity

The higher the number of configuration sets \(n_{\mathscr {C}}\) allowing to cover the prescribed workspace or trajectory, the more complex the RCDPR. When the RCDPR requires a large number of configurations, the base frame of the CDPR may become complex. In order to minimise the complexity of the RCDPR, an objective can be to minimise the overall number of exit point locations, \(\mathscr {V}=n_e\), required by the \(n_\mathscr {C}\) configuration sets. Therefore, the optimisation aims to maximise the number of exit point locations shared among two or more configurations.

Constraint Functions

Any CDPR optimisation problem has to take into account some constraints. Those constraints represent the technical limits or requirements that need to be satisfied. The constraints used in this chapter are described hereafter.

Wrench Feasibility

Since cables can only pull on the platform, the tensions in the cables must always be non-negative. Moreover, cable tensions must be lower than an upper bound, \(\tau _{max}\), which corresponds either to the maximum tension \(\tau _{max1}\) the cables (or other mechanical parts) can bear, or to the maximum tension \(\tau _{max2}\) the motors can provide.

The cable tension bounds can thus be written as:

$$\begin{aligned} \quad 0 \le \tau _i \le \tau _{max}, \quad \forall i = 1, \ldots , m \end{aligned}$$
(13)

where \(\tau _{max}=\min { \lbrace \tau _{max1},\tau _{max2} \rbrace } \).

Due to the cable tension bounds, RCDPRs can balance only a bounded set of external wrenches. In this chapter, the set of external wrenches applied to the platform and that the cables have to balance is called the required external wrench set and is denoted \([\mathbf {w}_e]_{r}\). Moreover, the set of of admissible cable tensions is defined as:

$$\begin{aligned}{}[{\varvec{\tau }}] = \lbrace \tau _i \ | \ 0 \le \tau _i \le \tau _{max}, \ i = 1, \ldots ,m \rbrace \end{aligned}$$
(14)

A pose (position and orientation) of the moving platform is then said to be wrench feasible if the following constraint holds:

$$\begin{aligned} \forall \mathbf {w}_e \in [\mathbf {w}_e]_{r}, \ \exists {\varvec{\tau }} \in [{\varvec{\tau }}] \quad \text {such that} \quad \mathbf {W}\varvec{\tau } + \mathbf {w}_e = 0 \end{aligned}$$
(15)

Eq. (15) can be rewritten as follows:

$$\begin{aligned} \mathbf {C}\mathbf {w}_e \le \mathbf {d}, \quad \forall \mathbf {w}_e \in [\mathbf {w}_e]_{r} \end{aligned}$$
(16)

Methods to compute matrix \(\mathbf {C}\) and vector \(\mathbf {d}\) are presented in [6, 12].

Cable Lengths

Due to technological reasons, cable lengths are bounded between a minimum cable length, \(l_{min}\), and a maximum cable length, \(l_{max}\):

$$\begin{aligned} l_{min} \le l_{i,c} \le l_{max}, \ \forall i = 1, \ldots ,m \end{aligned}$$
(17)

The minimum cable lengths are defined so that the RCDPR moving platform is not too close to the base frame. The maximum cable lengths depend on the properties of the winch drums that store the cables, in particular their lengths and their diameters.

Cable Interferences

A second constraint is related to the possible collisions between cables. If two or more cables collide, the geometric and static models of the CDPR are not valid anymore and the cables can be damaged or their lifetime severely reduced.

In order to verify that cables do not interfere, it is sufficient to determine the distances between them. Modeling the cables as linear segments, the distance \({d}_{i,j}^{cc}\) between the ith cable and the jth cable can be computed, e.g. by means of the method presented in [20]. There is no interference if the distance is larger than the diameter of the cables, \(\phi _c\):

$$\begin{aligned} {{d}_{i,j}^{cc}} \ge \phi _c \quad \forall i,j = 1, \ldots , m, \quad i \ne j \end{aligned}$$
(18)

The number of possible cable interferences to be verified is equal to \(C_2^m = \frac{m!}{2!(m-2)!}\). Note that, depending on the way the cables are routed from the winches to the moving platform, possible interferences of the cable segments between the winches and the pulleys may have to be considered.

Collisions Between the Cables and the Environment

Industrial environments may be cluttered. Collisions between the environment and the cables of the CDPR should be avoided. In general, for fast collision detection, the environment objects (obstacles) are enclosed in bounding volumes such as spheres and cylinders. When more complex shapes have to be considered, their surfaces are approximated with polygonal meshes. Thus, collision analysis can be performed by computing the distances between the edges of those polygons and the cables, e.g. by using [20]. Many other methods may be used, e.g., those described in [4].

In the case study presented in section “Case Study: Design of a RCDPRs for Sand blasting and Painting of a Large Tubular Structure”, a tubular structure is considered. The ith cable and the kth structure tube will not collide if the distance between the cable and the axis (straight line segment) of the structure tube is larger than the sum of the cable radius \(\phi _c/2\) and the tube radius \(\phi _s/2\), i.e.:

$$\begin{aligned} {{d}_{i,k}^{cs}} \ge \dfrac{\left( \phi _c+\phi _s\right) }{2} \quad \forall i = 1, \ldots , m, \forall k = 1, \ldots , n_{st} \end{aligned}$$
(19)

where \(n_{st}\) denotes the number of tubes composing the structure.

Pose Infinitesimal Displacement Due to the Cable Elasticity

Cables are not perfectly rigid body. Under load, they are notably subjected to elongations that may induce some moving platform displacements. In order to quantify the stiffness of the CDPR, an elasto-static model may be used:

$$\begin{aligned} \delta \mathbf {w_e} = \mathbf {K}\delta \mathbf {p} = \mathbf {K}\begin{bmatrix} \delta \mathbf {t} \\ \delta \mathbf {r} \end{bmatrix} \end{aligned}$$
(20)

where \(\delta \mathbf {w_e}\) is the infinitesimal change in the external wrench applied to the platform, \(\delta \mathbf {p}\) is the infinitesimal displacement screw of the moving platform and \(\mathbf {K}\) is the stiffness matrix whose computation is explained in [3]. \(\delta \mathbf {t}=\left[ \delta {t}_x, \delta {t}_y, \delta {t}_z \right] ^\mathrm {T}\) is the variation in the moving platform position and \(\delta \mathbf {r} = [\delta r_{x}, \delta r_{y}, \delta r_{z}]^\mathrm {T}\) is the vector of the infinitesimal (sufficiently small) rotations of the moving platform around the axes \(\mathbf {x}_b\), \(\mathbf {y}_b\) and \(\mathbf {z}_b\).

The pose variation should be bounded by the positioning error threshold vector, \(\delta \mathbf {t}=\left[ \delta t_{x,c}, \delta t_{y,c}, \delta t_{z,c} \right] \), where \(\delta t_{x,c}\), \(\delta t_{y,c}\) and \(\delta t_{z,c}\) are the bounds on the positioning errors along the axes \(\mathbf {x}_b\), \(\mathbf {y}_b\) and \(\mathbf {x}_b\), and the orientation error threshold vector, \(\delta \varvec{\phi }=\left[ \delta \gamma _c, \delta \beta _c, \delta \alpha _c \right] \), where \(\delta \gamma _c\), \(\delta \beta _c\) and \(\delta \alpha _c\) are the bounds on the platform orientation errors about the axes \(\mathbf {x}_b\), \(\mathbf {y}_b\) and \(\mathbf {z}_b\), i.e.:

$$\begin{aligned} -\left[ \delta t_{x,c}, \delta t_{y,c}, \delta t_{z,c} \right]&\le \left[ \delta t_x, \delta t_y, \delta t_z\right] \le \left[ \delta t_{x,c}, \delta t_{y,c}, \delta t_{z,c} \right] \end{aligned}$$
(21)
$$\begin{aligned} -\left[ \delta \gamma _c, \delta \beta _c, \delta \alpha _c \right]&\le \left[ \delta \gamma , \delta \beta , \delta \alpha \right] \le \left[ \delta \gamma _c, \delta \beta _c, \delta \alpha _c \right] \end{aligned}$$
(22)

Case Study: Design of a RCDPRs for Sandblasting and Painting of a Large Tubular Structure

Problem Description

The necessity to improve the production rate of large tubular structures has incited companies to investigate new technologies. These technologies should be able to reduce manufacturing time associated with the assembly of the structure parts or the treatment of their surfaces. Painting and sandblasting operations over wide tubular structures can be realised by means of RCDPRs, as illustrated in the present case study.

Task and Environment

The tubular structure selected for the given case study is 20 m long, with a cross section of 10 m x 10 m. The number of tubes to be painted is equal to twenty. Their diameter, \(\phi _s\), is equal to 0.8 m. The sandblasting and painting operations are realised indoor. The structure lies horizontally in order to reduce the dimensions of the painting workshop. The whole system can be described with respect to a fixed reference frame, \(\mathscr {F}_b\), of origin \(O_b\) and axes \(\mathbf {x}_b\), \(\mathbf {y}_b\), \(\mathbf {z}_b\), as illustrated in Fig. 6.

Fig. 6
figure 6

Case study model and prescribed paths \(\mathscr {P}_1\), \(\mathscr {P}_2\) and \(\mathscr {P}_3\) of the moving platform CoM

Sandblasting and painting tools are embarked on the RCDPR moving platform. The Center of Mass (CoM) of the platform follows the profile of the structure tubes and the tools perform the required operations. The paths to be followed, \(\mathscr {P}_1\), \(\mathscr {P}_2\) and \(\mathscr {P}_3\), are represented in Fig. 6. Note that each path \(\mathscr {P}_i, i=1,\ldots ,3\) is discretised into 38 points \(\mathrm {P}_{j,i},j=1,\ldots ,38 \quad i=1,\ldots ,3\) and that \(n_p\) denotes the corresponding total number of points. The offset between paths \(\mathscr {P}_i, i=1,\ldots ,3\) and the structure tubes is equal to 2 m. No path will be assigned to the lower external side of the structure, since it is sandblasted and painted from the ground.

Division of the Prescribed Workspace

In order to avoid collisions between the cables and structure, reconfigurations of the cable exit points are necessary. Each external side of the structure should be painted by only one robot configuration. Three configurations are necessary to work on the outer part of the structure, configuration \(\mathscr {C}_i\) being associated to path \(\mathscr {P}_i\), \(i=1\), 2 and 3, in order not to interrupt the painting and sandblasting operations during their execution. Passing from one configuration to another, one or more cables are disconnected from their exit points and connected to other exit points located elsewhere. For each configuration, the locations of the cable exit points are defined as variables of the design problem. In the present case study, the dimensions of the platform as well as the position of the cable anchor points on the platform are fixed.

Constant Design parameters

The number of cables, \(m=8\), the cable properties, and the dimensions of the platform are given. Those parameters are the same for the three configurations. The moving platform of the RCDPR analysed in this case study is driven by steel cables. The maximum allowed tension in the cables, \(\tau _{max}\), is equal to 34950 N and we have:

$$\begin{aligned} \quad 0 < \tau _i \le \tau _{max}, \quad \forall i = 1, \ldots , 8 \end{aligned}$$
(23)

Moreover, \(l_p\), \(w_p\) and \(h_p\) denote the length, width and height of the platform, respectively: \(l_p =\) 30 cm, \(w_p =\) 30 cm and \(h_p =\) 60 cm. The mass of the moving platform is \(m_{MP}=\) 60 kg. The design (constant) parameter vector \(\mathbf {q}\) is expressed as:

$$\begin{aligned} \mathbf {q} = \left[ m, \phi _c, k_s, \tau _{max}, l_p, w_p, h_p, m_{MP}\right] ^\mathrm {T} \end{aligned}$$
(24)

Constraint Functions and Configuration Analysis

The design problem aims to identify the locations of points \(A_{i,c}\) for the configurations \(\mathscr {C}_1\), \(\mathscr {C}_2\) and \(\mathscr {C}_3\). At first, in order to identify the set of feasible locations for the exit points \(A_{i,c}\), the three robot configurations are parameterised and analysed separately in the following paragraphs. A set of exit points is feasible if the design constraints are satisfied along the whole path to be followed by the moving platform CoM. The analysed constraints are: wrench feasibility, cable interferences, cable collisions with the structure, and the maximum moving platform infinitesimal displacement due to the cable elasticity.

Both suspended and fully constrained eight-cable CDPR architectures are used. In the suspended architecture, gravity plays the role of an additional cable pulling the moving platform downward, thereby keeping the cables under tension. The suspended architecture considered in this work is inspired by the CoGiRo CDPR prototype [11, 19]. For the non-suspended configuration, note that eight cables is the smallest possible even number of cables that can be used for the platform to be fully constrained by the cables.

Collisions between the cables as well as collisions between the cables and structure tubes should be avoided. Since sandblasting and painting operations are performed at low speed, the motion of the CDPR platform can be considered quasi-static. Hence, only the static equilibrium of the robot moving platform will be considered. The wrench feasibility constraints presented in section “Constraint Functions” are considered such that the required external wrench set \([\mathbf {w}_e]_{r}\) is an hyperrectangle defined as:

$$\begin{aligned} -{50}\,\mathrm{N} \le&f_x, f_y, f_z \le {50}\,\mathrm{N} \end{aligned}$$
(25)
$$\begin{aligned} -{7.5}\,\mathrm{Nm} \le&m_x, m_y, m_z \le {7.5}\,\mathrm{Nm} \end{aligned}$$
(26)

where \(\mathbf {w}_e = \left[ f_x, f_y, f_z,m_x, m_y, m_z \right] ^T\), \(f_x\), \(f_y\) and \(f_z\) being the force components of \(\mathbf {w}_e\) and \(m_x\), \(m_y\), and \(m_z\) being its moment components. Besides, the moving platform infinitesimal displacements, due to the elasticity of the cables, are constrained by:

$$\begin{aligned} -{5}\,\mathrm{cm} \le \delta t_x, \delta t_y, \delta t_z \le {5}\,\mathrm{cm} \end{aligned}$$
(27)
$$\begin{aligned} -{0.1}\,\mathrm{rad} \le \delta r_x, \delta r_y, \delta r_z \le {0.1}\,\mathrm{rad} \end{aligned}$$
(28)

Configuration \(\mathscr {C}_1\)

A fully-constrained configuration has been assigned to configuration \(\mathscr {C}_1\). The exit points \(A_{i,1}\) have been arranged in a parallelepiped layout. The edges of the parallelepiped are aligned with the axes of frame \(\mathscr {F}_b\). This layout can be fully described by means of five variables: \(u_1\), \(u_2\) and \(u_3\) define the Cartesian coordinates of the parallelepiped center, while \(u_4\) and \(u_5\) denote the half-lengths of the parallelepiped along the axes \(\mathbf {x}_b\) and \(\mathbf {y}_b\), respectively. Therefore, the Cartesian coordinates of the exit points \(A_{i,1}\) are expressed as follows:

$$\begin{aligned} \mathbf {a}_\mathrm {1,1}^b&= \left[ u_1 + u_4, \ u_2 + u_5, \ u_3 \right] ^\mathrm {T} \quad \mathbf {a}_\mathrm {2,1}^b = \left[ u_1 + u_4, \ u_2 + u_5, \ -u_3 \right] ^\mathrm {T} \end{aligned}$$
(29)
$$\begin{aligned} \mathbf {a}_\mathrm {3,1}^b&= \left[ u_1 - u_4, \ u_2 + u_5, \ u_3 \right] ^\mathrm {T} \quad \mathbf {a}_\mathrm {4,1}^b = \left[ u_1 - u_4, \ u_2 + u_5, \ -u_3 \right] ^\mathrm {T} \end{aligned}$$
(30)
$$\begin{aligned} \mathbf {a}_\mathrm {5,1}^b&= \left[ u_1 - u_4, \ u_2 - u_5, \ u_3 \right] ^\mathrm {T} \quad \mathbf {a}_\mathrm {6,1}^b = \left[ u_1 - u_4, \ u_2 - u_5, \ -u_3 \right] ^\mathrm {T} \end{aligned}$$
(31)
$$\begin{aligned} \mathbf {a}_\mathrm {7,1}^b&= \left[ u_1 + u_4, \ u_2 - u_5, \ u_3 \right] ^\mathrm {T} \quad \mathbf {a}_\mathrm {8,1}^b = \left[ u_1 + u_4, \ u_2 - u_5, \ -u_3 \right] ^\mathrm {T} \end{aligned}$$
(32)
Fig. 7
figure 7

Design variables parametrising the configuration \(\mathscr {C}_1\)

The layout of the first robot configuration is described in Fig. 7. The corresponding design variables are collected into the vector \(\mathbf {x}_1\):

$$\begin{aligned} \mathbf {x}_1 = \left[ u_{1}, u_{2}, u_{3}, u_{4}, u_{5} \right] ^\mathrm {T} \end{aligned}$$
(33)

The Cartesian coordinates of the anchor points \(B_{i,1}\) of the cables on the platform are expressed as:

$$\begin{aligned} \mathbf {b}_\mathrm {1,1}^b&= \frac{1}{2}\left[ l_p, w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {2,1}^b&= \frac{1}{2}\left[ l_p, w_p, -h_p \right] ^\mathrm {T}\end{aligned}$$
(34)
$$\begin{aligned} \mathbf {b}_\mathrm {3,1}^b&= \frac{1}{2}\left[ -l_p, w_p, h_p\right] ^\mathrm {T},&\mathbf {b}_\mathrm {4,1}^b&= \frac{1}{2}\left[ -l_p, w_p, -h_p \right] ^\mathrm {T} \end{aligned}$$
(35)
$$\begin{aligned} \mathbf {b}_\mathrm {5,1}^b&= \frac{1}{2}\left[ -l_p, -w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {6,1}^b&= \frac{1}{2}\left[ -l_p, -w_p, -h_p \right] ^\mathrm {T} \end{aligned}$$
(36)
$$\begin{aligned} \mathbf {b}_\mathrm {7,1}^b&= \frac{1}{2}\left[ l_p, -w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {8,1}^b&= \frac{1}{2}\left[ l_p, -w_p, -h_p \right] ^\mathrm {T} \end{aligned}$$
(37)

A discretised set of design variables have been considered. The lower and upper bounds as well as the number of values for each variable are given in Table 2. 18225 robot configurations have been generated with those values. It turns out that 4576 configurations satisfy the design constraints along the 38 discretised points of path \(\mathscr {P}_1\).

Configuration \(\mathscr {C}_2\)

A suspended redundantly actuated eight-cable CDPR architecture has been attributed to the configuration \(\mathscr {C}_2\) in order to avoid collisions between the cables and the tubular structure. The selected configuration is based on CoGiRo, a suspended CDPR designed and built in the framework of the ANR CoGiRo project [11, 19]. An advantage of this configuration is a large workspace to footprint ratio. The exit points \(A_{i,2}\) have been arranged in a parallelepiped layout. The Cartesian coordinates \(\mathbf {a}_{i,c}\) are defined as follows:

$$\begin{aligned} \mathbf {a}_\mathrm {1,2}^b&= \mathbf {a}_\mathrm {2,2}^b = \left[ v_1 - v_4, \ v_2 - v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(38)
$$\begin{aligned} \mathbf {a}_\mathrm {3,2}^b&= \mathbf {a}_\mathrm {4,2}^b = \left[ v_1 - v_4, \ v_2 + v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(39)
$$\begin{aligned} \mathbf {a}_\mathrm {5,2}^b&= \mathbf {a}_\mathrm {6,2}^b = \left[ v_1 + v_4, \ v_2 + v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(40)
$$\begin{aligned} \mathbf {a}_\mathrm {7,2}^b&= \mathbf {a}_\mathrm {8,2}^b = \left[ v_1 + v_4, \ v_2 - v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(41)
Fig. 8
figure 8

Design variables parametrising the configuration \(\mathscr {C}_2\)

Variables \(v_i, i = 1,\ldots ,5\) are equivalent for configuration \(\mathscr {C}_2\) to variables \(u_{i}, i=1,\ldots ,5\), describing configuration \(\mathscr {C}_1\). The layout of this configuration is illustrated in Fig. 8. The design variables of configuration \(\mathscr {C}_2\) are collected into the vector \(\mathbf {x}_2\):

$$\begin{aligned} \mathbf {x}_2 = \left[ v_{1}, v_{2}, v_{3}, v_{4}, v_{5} \right] ^\mathrm {T} \end{aligned}$$
(42)

Note that this configuration is composed of couples of exit points theoretically connected to the same locations: \(\lbrace A_{1,2}, A_{2,2} \rbrace \), \(\lbrace A_{3,2}, A_{4,2} \rbrace \), \(\lbrace A_{5,2}, A_{6,2} \rbrace \), and \(\lbrace A_{7,2}, A_{8,2} \rbrace \). From a technical point of view, in order to avoid any cable interference, the coupled exit points should be separated by a certain distance. For the design problem at hand, this distance has been fixed to \(v_0={5}\,\mathrm{mm}\).

$$\begin{aligned} \mathbf {a}_\mathrm {1,2}^b&= \left[ v_1 - v_4', \ v_2 - v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(43)
$$\begin{aligned} \mathbf {a}_\mathrm {2,2}^b&= \left[ v_1 - v_4, \ v_2 - v_5', \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(44)
$$\begin{aligned} \mathbf {a}_\mathrm {3,2}^b&= \left[ v_1 - v_4, \ v_2 + v_5', \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(45)
$$\begin{aligned} \mathbf {a}_\mathrm {4,2}^b&= \left[ v_1 - v_4', \ v_2 + v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(46)
$$\begin{aligned} \mathbf {a}_\mathrm {5,2}^b&= \left[ v_1 + v_4', \ v_2 + v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(47)
$$\begin{aligned} \mathbf {a}_\mathrm {6,2}^b&= \left[ v_1 + v_4, \ v_2 + v_5', \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(48)
$$\begin{aligned} \mathbf {a}_\mathrm {7,2}^b&= \left[ v_1 + v_4, \ v_2 - v_5', \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(49)
$$\begin{aligned} \mathbf {a}_\mathrm {8,2}^b&= \left[ v_1 + v_4', \ v_2 - v_5, \ v_3 \right] ^\mathrm {T} \end{aligned}$$
(50)

where \(v_4'=v_4-v_0\) and \(v_5'=v_5-v_0\).

The Cartesian coordinates of points \(B_{i,2}\) are defined as:

$$\begin{aligned} \mathbf {b}_\mathrm {1,2}^b&= \frac{1}{2}\left[ l_p, -w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {2,2}^b =&\frac{1}{2}\left[ -l_p, w_p, -h_p \right] ^\mathrm {T} \end{aligned}$$
(51)
$$\begin{aligned} \mathbf {b}_\mathrm {3,2}^b&= \frac{1}{2}\left[ -l_p, -w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {4,2}^b =&\frac{1}{2}\left[ l_p, w_p, -h_p \right] ^\mathrm {T}\end{aligned}$$
(52)
$$\begin{aligned} \mathbf {b}_\mathrm {5,2}^b&= \frac{1}{2}\left[ -l_p, w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {6,2}^b =&\frac{1}{2}\left[ l_p, -w_p, -h_p \right] ^\mathrm {T}\end{aligned}$$
(53)
$$\begin{aligned} \mathbf {b}_\mathrm {7,2}^b&= \frac{1}{2}\left[ l_p, w_p, h_p \right] ^\mathrm {T},&\mathbf {b}_\mathrm {8,2}^b =&\frac{1}{2}\left[ -l_p, -w_p, -h_p \right] ^\mathrm {T} \end{aligned}$$
(54)

Table 2 describes the lower and upper bounds as well as the number of values considered for the configuration \(\mathscr {C}_2\). Combining these values, 22275 configurations have been generated. Among these configurations, only 5579 configurations are feasible.

Configuration \(\mathscr {C}_3\)

The configuration \(\mathscr {C}_3\) follows the path \(\mathscr {P}_3\). This path is symmetric to the path \(\mathscr {P}_1\) with respect to the plane \({\mathbf {y}}_b O_b {\mathbf {z}}_b\). Considering the symmetry of the tubular structure, configuration \(\mathscr {C}_3\) is thus selected as being the same as configuration \(\mathscr {C}_1\). The discretised set of design variables chosen for the configuration \(\mathscr {C}_3\) is described in Table 2. The design variables for the configuration \(\mathscr {C}_3\) are collected into the vector \(\mathbf {x}_3\):

$$\begin{aligned} \mathbf {x}_3 = \left[ w_{1}, w_{2}, w_{3}, w_{4}, w_{5} \right] ^\mathrm {T} \end{aligned}$$
(55)

where the variables \(w_{i}, i=1,\ldots ,5\) amount to the variables \(u_{i}, i=1,\ldots ,5\), describing configuration \(\mathscr {C}_1\). Therefore, the Cartesian coordinates of the exit points \(A_{i,3}\) are expressed as follows:

$$\begin{aligned} \mathbf {a}_\mathrm {1,3}^b&= \left[ w_1 + w_4, \ w_2 + w_5, \ -w_3 \right] ^\mathrm {T} \quad&\mathbf {a}_\mathrm {2,3}^b&= \left[ w_1 + w_4, \ w_2 + w_5, \ w_3 \right] ^\mathrm {T} \end{aligned}$$
(56)
$$\begin{aligned} \mathbf {a}_\mathrm {3,3}^b&= \left[ w_1 - w_4, \ w_2 + w_5, \ -w_3 \right] ^\mathrm {T} \quad&\mathbf {a}_\mathrm {4,3}^b&= \left[ w_1 - w_4, \ w_2 + w_5, \ w_3 \right] ^\mathrm {T} \end{aligned}$$
(57)
$$\begin{aligned} \mathbf {a}_\mathrm {5,3}^b&= \left[ w_1 - w_4, \ w_2 - w_5, \ -w_3 \right] ^\mathrm {T} \quad&\mathbf {a}_\mathrm {6,3}^b&= \left[ w_1 - w_4, \ w_2 - w_5, \ w_3 \right] ^\mathrm {T} \end{aligned}$$
(58)
$$\begin{aligned} \mathbf {a}_\mathrm {7,3}^b&= \left[ w_1 + w_4, \ w_2 - w_5, \ -w_3 \right] ^\mathrm {T} \quad&\mathbf {a}_\mathrm {8,3}^b&= \left[ w_1 + w_4, \ w_2 - w_5, \ w_3 \right] ^\mathrm {T} \end{aligned}$$
(59)
Table 2 Design variables associated with configurations \(\mathscr {C}_1\), \(\mathscr {C}_2\) and \(\mathscr {C}_3\)

Objective Functions and Design Problem Formulation

The RCDPR should be as simple as possible so that the minimisation of the total number of cable exit point locations, \(\mathscr {V}_1 = n_e\), is required. Consequently, the number of exit point locations shared by two or more configurations should be maximised. The size of the robot is also minimised to reduce the size of the sandblasting and painting workshop. Finally, the mean of the moving platform infinitesimal displacement due to cable deformations is minimised. The optimisations are performed hierarchically, by means of the procedure described in section “Design Problem For mulation” and the objective functions collected in section “Global Objective Func tions”.

Hence, the design problem of the CDPR is formulated as follows:

$$\begin{aligned} \text {minimise} \quad&{\left\{ \begin{array}{ll} \mathscr {V}_1 = n_e \\ \mathscr {V}_2 = (\bar{s}_x-\underline{s}_x)(\bar{s}_y-\underline{s}_y)(\bar{s}_z-\underline{s}_z) \\ \mathscr {V}_3 = \dfrac{\overline{\Vert \delta \mathbf {t}\Vert }_2}{n_p} \end{array}\right. } \nonumber \\ \text {over} \quad&\mathbf {x}_1, \mathbf {x}_2, \mathbf {x}_3 \nonumber \\ \text {subject to:} \quad&\nonumber \\ \begin{matrix} \forall \mathrm {P}_{m,n}, &{} m=1,\ldots ,38 \\ &{} n=1,\ldots ,3 \end{matrix} \quad&{\left\{ \begin{array}{ll} \mathbf {C}\mathbf {w} \le \mathbf {d}, \quad \forall \mathbf {w} \in [\mathbf {w}_e]_{r} \nonumber \\ {{d}_{i,j}^{cc}} \ge \phi _c \quad \forall i,j = 1, \ldots , 8, \quad i \ne j \\ {{d}_{i,k}^{cs}} \ge \dfrac{\left( \phi _c+\phi _s\right) }{2} \quad \forall i = 1, \ldots , 8, \forall k = 1, \ldots , 20 \\ -{5}\,\mathrm{cm} \le \delta t_x, \delta t_y, \delta t_z \le {5}\,\mathrm{cm} \\ -{0.1}\,\mathrm{rad} \le \delta r_x, \delta r_y, \delta r_z \le {0.1}\,\mathrm{rad} \end{array}\right. } \\ \end{aligned}$$
(60)

Once the set of feasible solutions have been obtained for each path \(\mathscr {P}_i\), a list of RCDPRs with a minimum number of exit points, \(n_c\), is extracted from the list of feasible RCDPRs. Finally, the most compact and stiff RCDPRs from the list of RCDPRs with a minimum number of exit points are the desired optimal solutions.

Optimisation Results

The feasible robot configurations associated with paths \(\mathscr {P}_1\), \(\mathscr {P}_2\) and \(\mathscr {P}_3\) have been identified. For each path, a configuration is selected, aiming to minimise the total number of exit points required by the RCDPR to complete the task. These optimal solutions have been computed in two phases. At first, the 4576 feasible robot configurations for path \(\mathscr {P}_1\) are compared with the 5579 feasible robot configurations for path \(\mathscr {P}_2\) looking for the couple of configurations having the minimum total number of exit points. The resulting couple of configurations is then compared to the feasible robot configurations for path \(\mathscr {P}_3\), and the sets of robot configurations that minimise the overall number \(n_e\) of exit points along the three paths are retained. According to the discrete optimisation analysis, 16516 triplets of configurations minimise this overall number of exit points.

Fig. 9
figure 9

Optimal reconfigurable cable-driven parallel robot

Table 3 Design parameters of the selected optimum RCDPR
Fig. 10
figure 10

Minimum degree of constraint satisfaction [13]. The analysis has been performed by discretising the paths \(\mathscr {P}_1\), \(\mathscr {P}_2\), and \(\mathscr {P}_3\) into 388 points

A generic CDPR composed of eight cables requires eight exit points \(A_i = 1,\ldots ,8\) on the base. It is the case for the fully constrained configurations \(\mathscr {C}_1\) and \(\mathscr {C}_3\). The suspended CDPR presents four coincident couples of exit points. Hence, in the present case study, the maximum overall number of exit points of the RCDPR is equal to 20. The best results provide a reduction of four points. Regarding the configurations \(\mathscr {C}_1\) and \(\mathscr {C}_2\), points \(A_{5,2}\) and \(A_{7,2}\) can be coincident with points \(A_{3,1}\) and \(A_{5,1}\), respectively. Alternatively, points \(A_{5,2}\) and \(A_{7,2}\) can be coincident with points \(A_{1,1}\) and \(A_{7,1}\). As far as configurations \(\mathscr {C}_2\) and \(\mathscr {C}_3\) are concerned, points \(A_{1,2}\) and \(A_{3,2}\) can be coincident with points \(A_{8,3}\) and \(A_{2,3}\), respectively. Likewise, points \(A_{1,2}\) and \(A_{3,2}\) can be coincident with points \(A_{4,3}\) and \(A_{6,3}\), respectively.

The total volume of the robot has been computed for the 16516 triplets of configurations minimising the overall number of exit points. 96 RCDPRs amongst the 16516 triplets of configurations have the smallest size, this minimum size being equal to 5104 m3. Selection of the best solutions has been promoted through the third optimisation criterion based on the robot stiffness. Twenty solutions provided a minimum mean of the moving platform displacement equal to 1.392 mm. An optimal solution is illustrated in Fig. 9. The corresponding optimal design parameters are given in Table 3.

Figure 10 illustrates the minimum degree of constraint satisfaction s introduced in [13] and computed thereafter along the paths \(\mathscr {P}_1\), \(\mathscr {P}_2\), and \(\mathscr {P}_3\), which were discretised into 388 points. It turns out that the moving platform is in a feasible static equilibrium along all the paths because the minimum degree of constraint satisfaction remains negative. Referring to [13], the minimum degree of constraint satisfaction can be used to test wrench feasibility since it is negative when a platform pose is wrench feasible. Configurations \(\mathscr {C}_1\) and \(\mathscr {C}_3\) maintain their degree of satisfaction lower than −400 N. On the contrary, configuration \(\mathscr {C}_2\) is often close to 0. The poses where s vanishes are such that two cables of the suspended CDPR of configuration \(\mathscr {C}_2\) are slack.

The proposed RCDPR design strategy yielded good solutions, but it is time consuming. The whole procedure, performed on an Intel\(^\circledR \) Core\(^{\mathrm {TM}}\) i7-3630QM 2.40 GHz, required 19 h of computations, on Matlab\(^\circledR \) 2013a. Therefore, the development of more efficient strategies for the design of RCDPRs will be part of our future work. Moreover, the mass of the cables may have to be taken into account.

Conclusions

When the task to be accomplished is complicated, and the working environment is extremely cluttered, CDPRs may not succeed in the task execution. The problem can be solved by means of RCDPRs. This chapter focused on RCDPRs whose cable exit points on the base frame can be located on a predefined grid of possible positions. A design strategy for such discrete RCDPRs was introduced. This design strategy assumes that the number of configurations needed to complete the task is defined by the designer according to its experience. The designer divides the prescribed trajectory or workspace into a set of partitions. Each partition has to be entirely covered by one configuration. The position of the cable exit points, for all the configurations, is computed by means of an optimisation algorithm. The algorithm optimises one or more global objective function(s) while satisfying a set of user-defined constraints. Examples of possible global objective functions include the RCDPR size, the overall number of exit points, and the number of cable reconfiguration. A case study was presented in order to validate the RCDPR design strategy. The RCDPR has to paint and sandblast three of the four external sides of a tubular structure. Each of these three sides is covered by one configuration. The design strategy provided several optimal solutions to the case study, minimising hierarchically the overall number of cable exit points, the size of the RCDPR, and the moving platform displacements due to the elasticity of the cables. The computation of the optimal solution required nineteen hours of computation. More complicated tasks may thus require higher computation times. An improvement of the proposed RCDPR design strategy should be investigated in order to reduce this computational effort.