Keywords

1 Introduction

A Cable-Driven Parallel Robot (CDPR) is a type of parallel robot whose moving-platform is connected to the base with cables. The lightweight properties of the CDPR makes them suitable for multiple applications such as constructions [1, 10], industrial operations [3], rehabilitation [11] and haptic devices [4].

A general CDPR has a fixed cable layout, i.e. fixed exit points and cable configuration. This fixed geometric structure may limit the workspace size of the manipulator due to cable collisions and some extrernal wrenches that cannot be accepted due to the robot configuration. As there can be several configurations for the robot to perform the prescribed task, an optimized cable layout is required for each task considering an appropriate criterion. Cable robots with movable exit and/or anchor points are known as Reconfigurable Cable-Driven Parallel Robots (RCDPRs). By appropriately modifying the geometric architecture, the robot performance can be improved e.g. lower cable tensions, larger workspace and higher stiffness. The recent work on RCDPR [2, 3, 9, 12, 15] proposed different design strategies and algorithms to compute optimized cable layout for the required task, while minimizing appropriate criteria such as the robot energy consumption, the robot workspace size and the robot stiffness. However, for most existing RCDPRs, the reconfigurability is performed either discrete and manually or continuously, but with bulky reconfigurable systems.

This paper deals with the concept of Mobile Cable-Driven Parallel Robots (MCDPRs). The idea for introducing MCDPRs is to overcome the manual and discrete reconfigurability of RCDPRs such that an autonomous reconfiguration can be achieved. A MCDPR is composed of a classical CDPR with m cables and a n degree-of-freedom (DoF) moving-platform mounted on p mobile bases. Mobile bases are four-wheeled planar robots with two-DoF translational motions and one-DoF rotational motion. A concept idea of a MCDPR is illustrated in Fig. 1 with \(m=8\)\(n=6\) and \(p=4\). The goal of such system is to provide a low cost and versatile robotic solution for logistics using a combination of mobile bases and CDPR. This system addresses an industrial need for fast pick and place operations while being easy to install, keeping existing infrastructures and covering large areas. The exit points for the cable robot is associated with the position of its respective mobile bases. Each mobile base can navigate in the environment thus allowing the system to alter the geometry of the CDPR. Contrary to classical CDPR, equilibrium for both the moving-platform and the mobile bases should be considered while analyzing the behaviour of the MCDPR.

Fig. 1.
figure 1

Concept idea for Mobile Cable-Driven Parallel Robot (MCDPR) with eight cables (\(m=8\)), a six degree-of-freedom moving-platform (\(n=6\)) and four mobile bases (\(p=4\))

Fig. 2.
figure 2

Point mass Mobile Cable-Driven Parallel Robot with \(p=2\), \(n=2\) and \(m=4\) (Color figure online)

A Planar Mobile Cable-Driven Parallel Robot with four cables (\(m=4\)), a point mass (\(n=2\)) and two mobile bases (\(p=2\)), shown in Fig. 2, is considered throughout this paper as an illustrative example. This paper is organized as follows. Section 2 presents the static equilibrium conditions for mobile bases using the free body diagram method. Section 3 introduces a modified real time Tension Distribution Algorithm (TDA), which takes into account the dynamic equilibrium of the moving-platform and the static equilibrium of the mobile bases. Section 4 presents the comparison between the existing and modified TDA on the equilibrium of the MCDPR under study. Finally, conclusions are drawn and future work is presented in Sect. 5.

2 Static Equilibrium of Mobile Bases

This section aims at analyzing the static equilibrium of the mobile bases of MCDPRs. As both the mobile bases should be in equilibrium during the motion of the end-effector, we need to compute the reaction forces generated between the ground and the wheels of the mobile bases. Figure 2 illustrates the free body diagram for the jth mobile base. \(\mathbf {u}_{ij}\) denotes the unit vector of the ith cable attached to the jth mobile base, \(i, j = 1,\,2\). \(\mathbf{u}_{ij}\) is defined from the point mass P of the MCDPR to the exit point \(A_{ij}\). Using classical equilibrium conditions for the jth mobile base \(p_j\), we can write:

$$\begin{aligned} \sum \mathbf {f} = 0 \Rightarrow m_j \mathbf {g}+ \mathbf {f}_{1j} + \mathbf {f}_{2j} + \mathbf {f}_{r1j} + \mathbf {f}_{r2j} =0 \end{aligned}$$
(1)

All the vectors in Eq. (1) are associated with the superscript x and y for respective horizontal and vertical axes. Gravity vector is denoted as \(\mathbf {g} =[0 \ \ -g]^T\) where g = 9.8 m.s\(^{-2}\), \(\mathbf {f}_{1j} = [f_{1j}^x \ \ f_{1j}^y]^T\) and \(\mathbf {f}_{2j} = [ f_{2j}^x \ \ f_{2j}^y]^T\) are the reaction forces due to cable tensions onto the mobile base \(p_j\), \(C_{1j}\) and \(C_{2j}\) are the front and rear wheels contact points having ground reaction forces \(\mathbf {f}_{r1j} = [f_{r1j}^x \ \ f_{r1j}^y]^T \) and \(\mathbf {f}_{r2j} = [f_{r2j}^x \ \ f_{r2j}^y]^T \), respectively. In this paper, wheels are assumed to be simple support points and the friction between those points and the ground is supposed to be high enough to prevent the mobile bases from sliding. The moment at a point O about z-axis for the mobile base to be in equilibrium is expressed as:

$$\begin{aligned} M_{O} ^z= 0 \Rightarrow {\mathbf {g}}_j^T \mathbf {E}^Tm_j \mathbf {g} +\mathbf {a}_{1j}^T \mathbf {E}^T \mathbf {f}_{1j} + \mathbf {a}_{2j}^T \mathbf {E}^T \mathbf {f}_{2j} +\mathbf {c}_{1j}^T \mathbf {E}^T \mathbf {f}_{r1j} + \mathbf {c}_{2j}^T \mathbf {E}^T \mathbf {f}_{r2j} = 0 \end{aligned}$$
(2)

with

$$\begin{aligned} \mathbf {E} = \begin{bmatrix} \ 0&&-1 \\ 1&&0 \end{bmatrix} \end{aligned}$$
(3)

\(\mathbf {a}_{1j} = [a_{1j}^x \ \ a_{1j}^y]^T\) and \(\mathbf {a}_{2j} = [a_{2j}^x \ \ a_{2j}^y]^T\) denote the Cartesian coordinate vectors of the exit points \(A_{1j}\) and \(A_{2j}\) , \(\mathbf {c}_{1j} = [c_{1j}^x \ \ c_{1j}^y]^T\) and \(\mathbf {c}_{2j} = [c_{2j}^x \ \ c_{2j}^y]^T\) denote the Cartesian coordinate vectors of the contact points \(C_{1j}\) and \(C_{2j}\). \({\mathbf {g}}_j = [g_{j}^x \ \ g_{j}^y]^T\) is the Cartesian coordinate vector for the center of gravity \({{G}}_j\) of the mobile base \(p_j\). The previous mentioned vector are all expressed in the base frame \(\mathcal {F}_B\). Solving simultaneously Eqs. (1) and (2), the vertical components of the ground reaction forces take the form:

$$\begin{aligned} {f}_{r1j}^y = \frac{ m_jg ({c}_{2j}^x-{g}_j^x) + {f}_{1j}^y({a}_{1j}^x -{c}_{2j}^x) + {f}_{2j}^y({a}_{2j}^x -{c}_{2j}^x) - {{f}_{1j}^x} \ a_{1j}^y - {{f}_{2j}^x}\ a_{2j}^y}{{c}_{2j}^x - {c}_{1j}^x} \end{aligned}$$
(4)
$$\begin{aligned} {f}_{r2j}^y = m_jg - {f}_{1j}^y - {f}_{2j}^y -{f}_{r1j}^y \end{aligned}$$
(5)

Equations (4) and (5) illustrate the effect of increasing the external forces (cable tensions) onto the mobile base. Indeed, the external forces exerted onto the mobile base may push the latter towards frontal tipping. It is apparent that the higher the cable tensions, the higher the vertical ground reaction force \({f}_{r_{1j}}^y\) and the lower the ground reaction force \({f}_{r_{2j}}^y\). There exists a combination of cable tensions such that \({f}_{r_{2j}}^y = 0\). At this instant, the rear wheel of the jth mobile base will lose contact with the ground at point \(C_{2j}\), while generating a moment \(M_{C1j}\) about z-axis at point \(C_{1j}\):

$$\begin{aligned} {M}_{C1j}^z = (\mathbf {g}_j - \mathbf {c}_{1j})^T \mathbf {E}^T m_j \mathbf {g} + (\mathbf {a}_{1j} - \mathbf {c}_{1j})^T \mathbf {E}^T \mathbf {f}_{1j} + (\mathbf {a}_{2j} - \mathbf {c}_{1j})^T \mathbf {E}^T \mathbf {f}_{2j} \end{aligned}$$
(6)

Similarly for the rear tipping \({f}_{r_{1j}}^y = 0\), the jth mobile base will lose the contact with the ground at \(C_{1j}\) and will generate a moment \(M_{c2j}\) about z-axis at point \(C_{2j}\):

$$\begin{aligned} {M}_{C2j}^z = (\mathbf {g}_j - \mathbf {c}_{2j}) ^T \mathbf {E}^T m_j \mathbf {g} + (\mathbf {a}_{1j} - \mathbf {c}_{2j})^T \mathbf {E}^T \mathbf {f}_{1j} + (\mathbf {a}_{2j} - \mathbf {c}_{2j})^T \mathbf {E}^T \mathbf {f}_{2j} \end{aligned}$$
(7)

As a consequence, for the first mobile base  \(p_1\) to be always stable, the moments generated by the external forces should be counter clockwise at point \(C_{11}\) while it should be clockwise at point \(C_{21}\). Therefore, the stability conditions for mobile base \(p_1\) can be expressed as:

$$\begin{aligned} {M}_{C11}^z \ge \ 0 \end{aligned}$$
(8)
$$\begin{aligned} {M}_{C21}^z \le \ 0 \end{aligned}$$
(9)

Similarly, the stability constraint conditions for the second mobile base \(p_2\) are expressed as:

$$\begin{aligned} {M}_{C12}^z \le \ 0 \end{aligned}$$
(10)
$$\begin{aligned} {M}_{C22}^z \ge \ 0 \end{aligned}$$
(11)

where \({M}_{C12}^z\) and \({M}_{C22}^z\) are the moments of the mobile base \(p_2\) about z-axis at the contact points \(C_{12}\) and \(C_{22}\), respectively.

3 Real-Time Tension Distribution Algorithm

In this section an existing Tension Distribution Algorithm (TDA) defined for classical CDPRs is adopted to Mobile Cable-driven Parallel Robots (MCDPRs). The existing algorithm, known as barycenter/centroid algorithm is presented in [7, 8]. Due to its geometric nature, the algorithm is efficient and appropriate for real time applications [5]. First, the classical Feasible Cable Tension Domain (FCTD) is defined for CDPRs based on the cable tension limits. Then, the stability (static equilibrium) conditions for the mobile bases are considered in order to define a modified FCTD for MCDPRs. Finally, a new TDA aiming at obtaining the centroid/barycenter of the modified FCTD is presented.

3.1 FCTD Based on Cable Tension Limits

The dynamic equilibrium equation of a point mass platform is expressed as:

$$\begin{aligned} {\mathbf {W}} \mathbf {t}_{{p}} + {\mathbf {w}}_e = \mathbf {0} \Longrightarrow \mathbf {t}_{{p}} = -{\mathbf {W}}^+ {\mathbf {w}}_e \end{aligned}$$
(12)

where \({\mathbf {W}} = [\mathbf {u}_{11} \ \mathbf {u}_{21} \ \mathbf {u}_{12} \ \mathbf {u}_{22}]\) is \(n \times m\) wrench matrix mapping the cable tension space defined in \({\mathbb {R}}^m\) onto the available wrench space defined in \(\mathbb {R}^{(m-n)}\). \(\mathbf{w}_e\) denotes the external wrench exerted onto the moving-platform. \({\mathbf {W}}^+\) is the Moore Penrose pseudo inverse of the wrench matrix \(\mathbf{W}\). \(\mathbf {t}_{{p}} = [t_{p11} \ t_{p21} \ t_{p12} \ t_{p22}]^T\) is a particular solution (Minimum Norm Solution) of Eq. (12). Having redundancy \(r = m-n = 2\), a homogeneous solution \(\mathbf {t}_{{n}}\) can be added to the particular solution \(\mathbf {t}_{{p}}\) such that:

$$\begin{aligned} \mathbf {t} =\mathbf {t}_{p} + \mathbf {t}_{{n}} \Longrightarrow \ \ \mathbf {t} = -{\mathbf {W}}^+ {\mathbf {w}}_e + {\mathbf {N}}{\varvec{\lambda }} \end{aligned}$$
(13)

where \({\mathbf {N}}\) is the \(m \times (m-n)\) null space of the wrench matrix \(\mathbf{W}\) and \(\varvec{\lambda } = [\lambda _1 \ \lambda _2]^T\) is a \((m-n)\) dimensional arbitrary vector that moves the particular solution into the feasible range of cable tensions. Note that the cable tension \(t_{ij}\) associated with the ith cable mounted onto the jth mobile base should be bounded between a minimum tension \(\underline{t}\) and a maximum tension \(\overline{t}\) depending on the motor capacity and the transmission system at hand. According to [5, 7], there exists a 2-D affine space \(\varSigma \) defined by the solution of Eq. (12) and another m-dimensional hypercube \(\varOmega \) defined by the feasible cable tensions:

$$\begin{aligned} \varSigma = \{ \mathbf {t} \ | \ {\mathbf {W}}\mathbf {t}= {\mathbf {w}}_e \} \end{aligned}$$
(14)
$$\begin{aligned} \varOmega = \{ \mathbf {t} \ | \ \mathbf {\underline{t}} \ \le \ \mathbf {t} \ \le \ \mathbf {\overline{t}} \} \end{aligned}$$
(15)

The intersection between these two spaces amounts to a 2-D convex polygon also known as feasible polygon. Such a polygon exists if and only if the tension distribution admits a solution at least that satisfies the cable tension limits as well as the equilibrium of the moving-platform defined by Eq. (12). Therefore, the feasible polygon is defined in the \(\varvec{\lambda }\)-space by the following linear inequalities:

$$\begin{aligned} \mathbf {\underline{t}} - \mathbf {t}_{{p}} \ \le \ {\mathbf {N}}{\varvec{\lambda }} \ \le \ \mathbf {\overline{t}} - \mathbf {t}_{{p}} \end{aligned}$$
(16)

The terms of the \(m\times (m-n)\) null space matrix \(\mathbf {N}\) are defined as follows:

$$\begin{aligned} \mathbf {N} = \begin{bmatrix} \ \mathbf {n}_{11} \ \\ \mathbf {n}_{21} \\ \mathbf {n}_{12} \\ \mathbf {n}_{22} \end{bmatrix} \end{aligned}$$
(17)

where each component \(\mathbf {n}_{ij}\) of the null space \(\mathbf {N}\) in Eq. (17) is a \((1\times 2)\) row vector.

3.2 FCTD Based on the Stability of the Mobile Bases

This section aims at defining the FCTD while considering the cable tension limits and the stability conditions of the mobile bases. In order to consider the stability of the mobile bases, Eqs. (811) must be expressed into the \(\varvec{\lambda }\)-space. The stability constraint at point \(C_{11}\) from Eq. (8) can be expressed as:

$$\begin{aligned} 0 \ \le (\mathbf {g}_1-\mathbf {c}_{11})^T \mathbf {E}^T m_1 \mathbf {g} + (\mathbf {a}_{11} - \mathbf {c}_{11})^T \mathbf {E}^T \mathbf {f}_{11} + (\mathbf {a}_{21}- \mathbf {c}_{11})^T \mathbf {E}^T \mathbf {f}_{21} \end{aligned}$$
(18)

\(\mathbf {f}_{ij}\) is the force applied by the ith cable attached onto the jth mobile base. As \(\mathbf {f}_{ij}\) is opposite to \(\mathbf {u}_{ij}\) (see Fig. 2), from Eq. (13) \(\mathbf {f}_{ij}\) can be expressed as:

$$\begin{aligned} \mathbf {f}_{ij} = -[{t}_{pij}+\mathbf {n}_{ij}{\varvec{\lambda }}] \ \mathbf {u}_{ij} \end{aligned}$$
(19)

Substituting Eq. (19) in Eq. (18) yields:

$$\begin{aligned} (\mathbf {c}_{11} - \mathbf {g}_1)^T \mathbf {E}^T m_1 \mathbf {g} \ \le ( \mathbf {c}_{11} - \mathbf {a}_{11})^T \mathbf {E}^T [{t}_{p11}+\mathbf {n}_{11}{\varvec{\lambda }}] \mathbf {u}_{11} +(\mathbf {c}_{11} - \mathbf {a}_{21})^T \mathbf {E}^T [{t}_{p21}+\mathbf {n}_{21}{\varvec{\lambda }}] \mathbf {u}_{21} \end{aligned}$$
(20)
$$\begin{aligned} \underline{M}_{C11} \ \le (\mathbf {c}_{11} - \mathbf {a}_{11})^T \mathbf {E}^T \ [\mathbf {n}_{11}\varvec{\lambda }] \mathbf {u}_{11} +(\mathbf {c}_{11} - \mathbf {a}_{21})^T \mathbf {E}^T [\mathbf {n}_{21}\varvec{\lambda }] \mathbf {u}_{21} \end{aligned}$$
(21)

Term \([\mathbf {n}_{ij}\varvec{\lambda }]\mathbf {u}_{ij}\) is the mapping of homogeneous solution \(\mathbf {t}_{nij}\) for the ith cable carried by the jth mobile base into the Cartesian space. \(\underline{M}_{C11}\) represents the lower bound for the constraint (8) in the \(\varvec{\lambda }\)-space:

$$\begin{aligned} \underline{M}_{C11} = \ ( \mathbf {c}_{11} - \mathbf {g}_1)^T \mathbf {E}^T m_1 \mathbf {g} + (\mathbf {a}_{11} - \mathbf {c}_{11})^T \mathbf {E}^T \mathbf {t}_{p11} + (\mathbf {a}_{21} - \mathbf {c}_{11})^T \mathbf {E}^T \mathbf {t}_{p21} \end{aligned}$$
(22)

Simplifying Eq. (21) yields:

$$\begin{aligned} \underline{M}_{C11} \le \ \begin{bmatrix} (\mathbf {c}_{11} - \mathbf {a}_{11})^T\mathbf {E}^T \mathbf {u}_{11}&( \mathbf {c}_{11} - \mathbf {a}_{21})^T\mathbf {E}^T \mathbf {u}_{21} \end{bmatrix} \begin{bmatrix} \mathbf {n}_{11} \\ \mathbf {n}_{21} \end{bmatrix} \begin{bmatrix} \lambda _1 \\ \lambda _2 \end{bmatrix} \end{aligned}$$
(23)

Equation (23) can be written as:

$$\begin{aligned} \underline{M}_{C11} \le \ \mathbf {n}_{C11} \varvec{\lambda } \end{aligned}$$
(24)

where \(\mathbf {n}_{C11}\) is a \(1\times 2\) row vector. Similarly the stability constraint at point \(C_{21}\) from Eq. (9) can be expressed as:

$$\begin{aligned} \mathbf {n}_{C21} \varvec{\lambda } \le \overline{M}_{C21} \end{aligned}$$
(25)

where:

$$\begin{aligned} \overline{M}_{C21} = \ ( \mathbf {c}_{21} - \mathbf {g}_1)^T \mathbf {E}^T m_1 \mathbf {g} + (\mathbf {a}_{11} - \mathbf {c}_{21})^T \mathbf {E}^T \mathbf {t}_{p_{11}} + (\mathbf {a}_{21} - \mathbf {c}_{21})^T \mathbf {E}^T \mathbf {t}_{p_{21}} \end{aligned}$$
(26)
$$\begin{aligned} \mathbf {n}_{C21} = \begin{bmatrix} (\mathbf {c}_{21} - \mathbf {a}_{11})^T\mathbf {E}^T \mathbf {u}_{11}&( \mathbf {c}_{21} - \mathbf {a}_{21})^T\mathbf {E}^T \mathbf {u}_{21} \end{bmatrix} \begin{bmatrix} \mathbf {n}_{11} \\ \mathbf {n}_{21} \end{bmatrix} \end{aligned}$$
(27)

Equations (24) and (25) define the stability constraints of the mobile base \(p_1\) in the \(\varvec{\lambda }\)- space for the static equilibrium about frontal and rear wheels. Similarly, the above procedure can be repeated to compute the stability constraints in the \(\varvec{\lambda }\)-space for mobile base \(p_2\). Constraint Eqs. (10) and (11) for point \(C_{12}\) and \(C_{22}\) can be expressed in the \(\varvec{\lambda }\)-space as:

$$\begin{aligned} \mathbf {n}_{C12} \varvec{\lambda } \le \overline{M}_{C12} \end{aligned}$$
(28)
$$\begin{aligned} \underline{M}_{C22} \le \ \mathbf {n}_{C22} \varvec{\lambda } \end{aligned}$$
(29)

Considering the stability constraints related to each contact point (Eqs. (24), (25), (28) and (29)) with the cable tension limit constraints (Eq. (16)), the complete system of constraints to calculate the feasible tensions for MCDPR can be expressed as:

$$\begin{aligned} \begin{bmatrix} \mathbf {\underline{t}} - \mathbf {t}_{{p}} \\ \mathbf {\underline{M}} \end{bmatrix} \le \begin{bmatrix} \mathbf {N} \ \\ \ \mathbf {N_c} \ \end{bmatrix} \begin{bmatrix} \lambda _1 \\ \lambda _2 \end{bmatrix} \le \begin{bmatrix} \mathbf {\overline{t}} - \mathbf {t}_{{p}} \\ \mathbf {\overline{M}} \end{bmatrix} \end{aligned}$$
(30)

where:

$$\begin{aligned} \mathbf {N_c} = \begin{bmatrix} \ \mathbf {n}_{C11} \ \\ \mathbf {n}_{C21} \\ \mathbf {n}_{C12} \\ \mathbf {n}_{C22} \end{bmatrix}, \ \ \ \mathbf {\underline{M}} = \begin{bmatrix} \ \underline{M}_{C11} \ \\ -\infty \\ -\infty \\ \underline{M}_{C22} \end{bmatrix}, \ \ \ \mathbf {\overline{M}} = \begin{bmatrix} \ \infty \ \\ \overline{M}_{C21} \\ \overline{M}_{C12} \\ \infty \end{bmatrix}, \end{aligned}$$
(31)

The terms \(-\infty \) and \(\infty \) are added for the sake of algorithm [5] as the latter requires bounds from both ends. The upper part of Eq. (30) defines the tension limit constraints while the lower part represents the stability constraints for both mobile bases.

3.3 Tracing FCTD into the \(\varvec{\lambda }\)-space

The inequality constraints from Eq. (30) are used to compute the feasible tension distribution among the cables using the algorithm in [5] for tracing the feasible polygon \({P}_I\). Each constraint defines a line in the \(\varvec{\lambda }\)-space where the coefficients of \(\varvec{\lambda }\) define the slope of the corresponding lines. The intersections between these lines form a feasible polygon. The algorithm aims to find the feasible combination for \(\lambda _1\) and \(\lambda _2\) (if it exists), that satisfies all the inequality constraints. The algorithm can start with the intersection point \(\mathbf {v}_{ij}\) between any two lines \(L_i\) and \( L_j\) where each intersection point \(\mathbf {v}\) corresponds to a specific value for \(\varvec{\lambda }\). After reaching the intersection point \(\mathbf {v}_{ij}\), the algorithm leaves the current line \(L_j\) and follows the next line \(L_i\) in order to find the next intersection point \(\mathbf {v}_{ki}\) between lines \(L_k\) and \(L_i\).

Fig. 3.
figure 3

Feasible Polygon considering only tension limit constraints

Fig. 4.
figure 4

Feasible Polygon considering both tension limit and stability constraints

The feasible polygon \(P_I\) is associated with the feasible index set I, which contains the row indices in Eq. (30). At each intersection point, the feasible index set is unchanged or modified by adding the corresponding row index of Eq. (30). It means that for each intersection point, the number of rows from Eq. (30) satisfied at current intersection point should be greater than or equal to the number of rows satisfied at previous visited points. Accordingly, the algorithm makes sure to converge toward the solution. The algorithm keeps track of the intersection points and updates the first vertex \(\mathbf {v}_f\) of the feasible polygon, which depends on the update of feasible index set I. If the feasible index set is updated at intersection point \(\mathbf {v}\), the first vertex of the polygon is updated as \(\mathbf {v}_f = \mathbf {v}\). Let’s consider that the algorithm has reached a point \(\mathbf {v}_{ki}\) by first following line \(L_j\), then following \(L_i\) intersecting with line \(L_k\). The feasible index set \(I_{ki}\) at \(\mathbf {v}_{ki}\) should be such that \(I_{ij} \subseteq I_{ki}\). If index k is not available in \(I_{ij}\), then \(I_{ki} = I_{ij} \cup \ k\) as the row k is now satisfied. At each update of the feasible index set I, a new feasible polygon is achieved and the first vertex \(\mathbf {v}_f\) of the polygon is replaced by the current intersection point. This procedure is repeated until a feasible polygon (if it exists) is found, which is determined by visiting \(\mathbf {v}_f\) more than once. After computing the feasible polygon, its centroid, namely the solution furthest away from all the constraints is calculated. The \(\varvec{\lambda }\) coordinates of the centroid is used to calculate the feasible tension distribution using Eq. (13).

For the given end-effector position in static equilibrium (see Fig. 2), the feasible polygon \({P}_{I1}\) based only on the cable tension limits is illustrated in Fig. 3 while the feasible polygon \({P}_{I2}\) based on the cable tension limits and the stability of the mobile bases is illustrated in Fig. 4. It can be observed that \({P}_{I2}\) is smaller than \({P}_{I1}\) and, as a consequence, their centroids are different.

4 Case Study

The stability of the mobile bases is defined by the position of their Zero Moment Point (ZMP). This index is commonly used to determine the dynamic stability of the humanoid and wheeled robots [6, 13, 14]. It is the point where the moment of contact forces is reduced to the pivoting moment of friction forces about an axis normal to the ground. Here the ZMP amounts to the point where the sum of the moments due to frontal and rear ground reaction forces is null. Once the feasible cable tensions are computed using the constraints of the modified TDA, the ZMP \(d_j\) of the mobile base \(p_j\) is expressed by the equation:

$$\begin{aligned} M_{dj}^z = \widetilde{M}_{O}^z - f_{rj}^y \ d_j \end{aligned}$$
(32)

where \(f_{rj}^y\) is the sum of all the vertical ground reaction forces computed using Eqs. (4) and (5), \(M_{dj}\) is the moment generated at ZMP for the jth mobile base such that \(M_{dj}^z=0\). \(\widetilde{M}_{O}\) is the moment due to external forces, i.e., weight and cable tensions, except the ground reaction forces at O given by the Eq. (2). As a result from Eq. (32), ZMP \(d_j\) will take the form:

$$\begin{aligned} d_j= \frac{ \widetilde{M}_{O}^z}{f_{rj}^y} =\frac{ \mathbf {g}_j^T \mathbf {E}^T m_j \mathbf {g} \ + \ \mathbf {a}_{1j}^T \mathbf {E}^T \mathbf {f}_{1j} \ + \ \mathbf {a}_{2j}^T \mathbf {E}^T\mathbf {f}_{2j}}{f_{rj}^y} \end{aligned}$$
(33)

For the mobile base \(p_j\) to be in static equilibrium, ZMP \(d_j\) must lie within the contact points of the wheels, namely,

$$\begin{aligned} c_{21}^x \ \le \ d_1 \ \le \ c_{11}^x \end{aligned}$$
(34)
$$\begin{aligned} c_{12}^x \ \le \ d_2 \ \le \ c_{22}^x \end{aligned}$$
(35)
Fig. 5.
figure 5

(a) Evolution of ZMP for mobile base \(p_1\) (b) Cable tension profile (Color figure online)

Modified Algorithm for MCDPRs is validated through simulation on a rectangular test trajectory (green path in Fig. 2) where each corner of the rectangle is a zero velocity point. A 8 kg point mass is used. Total trajectory time is 10 s having 3 s for 1–2 and 3–4 paths while 2 s for 2–3 and 4–1 paths. The size of each mobile base is 0.75 m \(\times \) 0.64 m \(\times \) 0.7 m. The distance between the two mobile bases is 5 m with exit points \(A_{2j}\) located at the height of 3 m. The evolution of ZMP for mobile base \(p_1\) is illustrated in Fig. 5a. ZMP must lie between 0 and 0.75, which corresponds to the normalized distance between the two contact points of the wheels, for the first mobile base to be stable. By considering only cable tension limit constraints in the TDA, the first mobile base will tip over the front wheels along the path 3–4 as ZMP goes out of the limit (blue in Fig. 5a). While considering both cable tension limits and stability constraints, the MCDPR will complete the required trajectory with the ZMP satisfying Eqs. (34) and (35). Figure 5b depicts positive cable tensions computed using modified FCTD for MCDPRs.

A video showing the evolution of the feasible polygon as a function of time considering only tension limit constraints and both tension limits and stability constraints can be downloaded atFootnote 1. This video also shows the location the mobile base ZMP as well as some tipping configurations of the mobile cable-driven parallel robot under study.

5 Conclusion

This paper has introduced a new concept of Mobile Cable-Driven Parallel Robots (MCDPR). The idea is to autonomously navigate and reconfigure the geometric architecture of CDPR without any human interaction. A new real time Tension Distribution algorithm is introduced for MCDPRs that takes into account the stability of the mobile bases during the computation of feasible cable tensions. The proposed algorithm ensures the stability of the mobile bases while guaranteeing a feasible cable tension distribution. Future work will deal with the extension of the algorithm to a 6-DoF MCDPR by taking into account frontal as well as sagittal tipping of the mobile bases and experimental validation thanks to a MCDPR prototype under construction in the framework of the European ECHORD++ “FASTKIT” project.