# Using a Cable-Driven Parallel Robot with Applications in 3D Concrete Printing
## 4 Dual Simplex Algorithm for the Optimization of Cable Tension, Taking into Account Cable Sagging
### Optimization Cable Tension  
In this study, a CDPR with 8 cables--6 DOF--was applied for the concrete printing. The velocity is very small, so we need to solve only the static equations. The static equilibrium equation of the MP can be used to obtain the cable forces \(\mathbf{T}_{\mathrm{i}}\). With a feasible position, we can obtain infinite solutions, or there are existing and infinite valid combinations for \(\boldsymbol{\uptau}\); the physical interpretation of this case is that at a given position there are multiple valid ways of lensing the cables to maintain a static equilibrium because the number of cables is  
Figure 5: Wrench static workspace of the cable robot with a payload of 80 kg, 60 kg, 50 kg, and 30 kg. more the number of degrees of freedom. To obtain one desired solution out of these feasible solutions, mathematical techniques are used. To find a unique solution, this problem is solved as a constrained minimization problem. So, the statics problem is treated as a linear programming problem with the aim to minimize the cable tension. The problem is formulated as shown below. Minimize objective function:  
\[\mathbf{F}=\mathbf{c}^{\mathbf{T}}\boldsymbol{\tau} \tag{13}\]  
Subject to constraints:  
\[\mathbf{A}\boldsymbol{\tau}=-\mathbf{w}_{\mathbf{p}} \tag{14}\]  
\[0\leq\tau_{\min}\leq\tau\leq\tau_{\max} \tag{15}\]  
where \(\mathbf{c}=[c_{1};c_{2};\ldots;c_{n}]\in\mathbb{R}^{n}\) called n--dimension cost vector; \(\boldsymbol{\tau}=[\tau_{1};\tau_{2};\ldots;\tau_{n}]\) is the tension vector of the cables called n--dimension variable vector; \(\mathbf{A}=(\mathbf{a}_{ij})\in\mathbb{R}^{m\times n}\) is a matrix of the constraint coefficients of the wrench matrix; \(-\mathbf{w}_{\mathbf{p}}=\mathbf{b}\in\mathbb{R}^{m}\) is an \(m\)-dimensional external force vector; and \(\mathrm{T}_{\min}\) and \(\mathrm{T}_{\max}\) are the minimum and maximum allowable cable tensions. This problem is a linear programming problem with eight variables, with the static equilibrium equations used as the constraints and bounds on the cable tensions based on the necessary conditions (\(\mathrm{T}>0\)). Bounds not only help in obtaining non-negative solutions (negative solutions for cable tensions means the cable is pushing, which is an unacceptable solution), but also restrict the solution to be within practical limitations, such as extremely high cable tensions, which might break the cable or overload the actuators (winches). In this section, the dual simplex algorithm is used to find a set of solutions \(\boldsymbol{\tau}\) such that Function (13) has the smallest value to satisfy the constraints (14) and boundary conditions (15). In linear programming, we define the total cost \(\mathbf{F}=\mathbf{c}^{\mathbf{T}}\boldsymbol{\tau}\): \(\mathbb{R}^{n}\)\(\rightarrow\)\(\mathbb{R}\) as the objective value of the problem \(\mathbf{P}\)(the primal problem) and the vector \(\boldsymbol{\tau}^{\star}\), which minimizes the objective function \(\mathbf{F}=\mathbf{c}^{\mathbf{T}}\boldsymbol{\tau}^{\star}\), while satisfying the equality condition \(\mathbf{A}\boldsymbol{\tau}^{\star}=-\mathbf{w}_{\mathbf{p}}\) and \(0\leq\boldsymbol{\tau}_{\min}\leq\boldsymbol{\tau}\leq\boldsymbol{\tau}_{\max}\) is called the optimal solution of the problem \(\mathrm{P}\). Corresponding to the primal problem \(\mathrm{P}\), there exists a dual problem \(\mathrm{D}\), constructed according to the following method:  
\[\text{Minimize objective function: }\mathbf{b}^{\mathrm{T}}\mathbf{u}\text{ subject to: } \mathbf{A}^{\mathrm{T}}\mathbf{u}\leq\mathbf{c}\text{ with all }\mathbf{u},\]  
where \(\mathbf{u}=(u_{1};u_{2};\ldots;u_{m})\in\mathbb{R}^{m}\) is called the dual variables vector. Notice that if the dual problem of \(\mathrm{D}\) is created, then the original primal problem \(\mathrm{P}\) is also created. The relationship between problems \(\mathrm{P}\) and \(\mathrm{D}\) is established by the following three theorems [16; 17]. **Theorem 1**.