# Analysis and Evaluation of CDPR Cable Sagging Based on ANFIS

Authors: Tuong Phuoc Tho; Nguyen Truong Thinh
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

The cable sagging problem of cable-driven parallel robots (CDPRs) is very complicated, because several models for calculating cable sag based on the well-known catenary equation have been studied, but time and computational efficiency are a problem to be solved. There is still no simple mathematical model to calculate cable sag by considering all relevant conditions due to the complexity and nonlinearity of the cable sagging model, which involves many dominant variables and their influence on the position accuracy of CDPRs. In this study, we proposed an ANFIS (adaptive neuro-fuzzy inference system) architecture to estimate cable sag for large-sized CDPRs. The ANFIS model can be used to solve nonlinear functions and detect nonlinear factors online in the control system; this characteristic is consistent with the nonlinear model of cable sag. The trained data for ANFIS models were taken from calculation results by Trust-Region-Dogleg algorithm based on two cable tension calculation algorithms as Dual Simplex Algorithm and Force Distribution in Closed Form. Cable sagging data obtained from ANFIS and Trust-Region-Dogleg algorithm are compared and evaluated by statistical factors of evaluations consisting of root-mean-square error, correlation coefficients, and scatter index. The analytical results show that the ANFIS gave computed results with small errors and can be applied to predict cable sagging for any CDPR configuration, with the advantage of fast calculation time and high precision. The results of these models are also applied on a CDPR that contains two redundant actuators.


---

## Body

## 1. Introduction

The study on cable-driven parallel robots is receiving a lot of interest from research institutions [1]. CDPRs have a lot of advantages over traditional serial or parallel robots such as large workspace with a simple structure, high payload, low inertia, easy to transport and install, and low manufacturing cost. A typical CDPR includes a base (fixed) frame (BF) and moving platform (MP) connected and driven by cables and winches. MP is controlled by cable winches, and these cable winches are used as actuators to distribute cables and create a movement for MP; they connect the BF and the MP through anchor points and pulleys. The structure of CDPRs is described in Figure 1. With such transmission characteristics, CDPRs are flexible in performing different tasks in service and industry, especially with applications, and are required to move the heavy objects at a large distance, such as working in a large space [2, 3] or in rehabilitation mechanisms in medicine [4] with high flexibility. Moreover, due to the good density of dimension and power [1–4], the cost for developing a CDPR is usually less than other robots. CDPRs are usually classified into three types depending on the DOFs and the number of cables. In general, a CDPR with m DOFs controlled by n cables was called “underconstrained CDPRs” if n is less than m + 1; “fully constrained CDPRs” if n is equal m + 1; and “redundantly constrained CDPRs” if n is greater than m + 1. For underconstrained CDPRs, the poses (orientation and position) of MP depend on its gravity. For the other two groups, the poses of MP depend on variable lengths of driven cables of CDPRs [5]. The main difference between CDPRs and other structures is the cables used for the transmission operating only with positive tension; this is to ensure that the straight line of cables is maintained, thereby ensuring the correctness of the kinematic problem and the rigidity of CDPRs. However, the cable tension characteristic is always positive limiting the application of CDPRs due to the complexity of the controller and the determination of noise errors. The CDPRs are a good choice for applications that require moving large objects in a big workspace. However, sagging and vibration of the cables cause reduction in the accuracy of the position controller of MP. Static or quasi-static models are often used to model the kinematic of CDPRs when they are designed to operate at low speed and acceleration. Many studies assumed that cables were massless straight cables [6–8], and this assumption applies to small-sized CDPRs with light loads, but it may not be appropriate for big-sized CDPRs with heavy loads.Figure 1
Structure of CDPRs.Based on theelastic catenary for computing sag of cables of Max Irvine [9], the influences of elasticity and cable mass are combined in the computational model. A study of Kozak et al. [10] showed the analysis result of the static model of large-scale CDPRs with the influence of cable mass; due to the sag of cables, static displacement of a uniform elastic cable is also used to calculate the inverse kinematic and the stiffness matrix of the CDPR. This study can be applied not only to determine the workspace with cable sag but also to design large-scale CDPRs. Riehl et al. [11] studied the problem of the effect of cable mass on the model of inverse and forward kinematics of underconstrained CDPRs (the number of DOFs equals the number of driven cables). The inverse and forward kinematics of the large-workspace 3-DOF CDPRs driven by 3 cables were calculated based on the elastic catenary model described by Irvine. This paper showed that for high-load or large-workspace CDPRs, the influence of cable mass on the sag of cables and accuracy of CDPRs is significant. Therefore, it needs to be analyzed when designing and controlling the robot to achieve the desired accuracy. Gouttefarde et al. [12] introduced a new simplified static analysis of CDPRs, with the hypothesis that cables with inelastic properties and negligible mass are used to drive the CDPR; this cable model is derived from the famous sag cable model, called a catenary equation, with the assumption that the cable sagging is small, but it is necessary to clarify the scope of the effectiveness of the method proposed in the paper to apply to specific robot configurations. Merlet [13] applied the interval analysis algorithm to solve the kinematics problem of CDPRs. Taking into account cable sag in static state, the algorithm was experimented on CDPRs with 8 cables and achieved good results. Gia Luan et al. [14] have developed a new process to generate semistatic and inverse kinetic models for CDPM taking into account cable sag using both analytical and experimental approaches. This model is valid only for CDPR working with low velocity and small acceleration.In this study, the first two algorithms Minimizing Total Cable Tension [15, 16] and Force Distribution in Closed Form [16, 17] are used to determine cable tension sets of a CDPR. Next, the cable tension sets with corresponding kinematic data are used to calculate cable sags based on Irvine’s cable sag model. Finally, the calculation results of the cable sag model will be used to build the ANFIS model to predict cable sags for CDPR, in which the input data are the position and orientation of the MP. The computation result shows that these ANFIS models are suitable to predict the cable sagging of large CDPRs to reduce the time consumption to determine cable sagging in specific cases. The results from these experiments and simulations are presented and analyzed in Section 6.


## 2. Mechanical Structure Analysis

### 2.1. Kinematics Problems

The relationship of the cable lengths (variable joints) and the poses of the moving platform of CDPRs were represented by the kinematics problems. Figure2 illustrates the structure of the multicable parallel robot. The general structure of the CDPRs is composed of a moving platform and a base frame connected by n cables through the anchor points Ai and Bi (i = 1, …, n), respectively, ai and bi represents vector OAi and OpBi in the B-frame and E-frame. In the general case, the position and orientation of MP are represented by (r, R), where vector r represents the positions of origin of E-frame or the OOP vector and the rotation matrix R represents the orientation of the E-frame in B-frame. The joint variables of the CDPRs are represented by li, which are the length of the driven cables i. Inverse kinematics of CDPRs can be obtained as follows: [6, 15, 18]Figure 2
Kinematics model of CDPRs.(1)li=ai−r−Rbi.Rotation matrixR can be obtained based on the roll-pitch-yaw convention as follows:(2)R=RzγRyβRxα=cγcβcγsβsα−sγcαcγsβcα+sγsαsγcβsγsβsα+cγcαsγsβcα−cγsα−sβcβsαcβcα.In equation (2), s and c denote the sine and cosine, respectively, and α, β, and γ denote rotations around the x, y, and z axes of the rotation matrix, respectively. By transforming equation (1), we obtained(3)liTli=ai−r−RbiTai−r−Rbi.The inverse kinematic for each cable of the CDPR is as follows:(4)li2=ai2+r2+Rbi2−2air+Rbi.The CDPR velocity kinematics problem shows the relationship between the velocity of MP and the velocities of the driven cables or the angular velocities of the motors.r˙=x˙,y˙,z˙T∈R3represents the linear velocity of tool central point (Op) of MP on B-frame, ω=θ˙xθ˙yθ˙zT∈R3 is the angular velocity of MP along the three coordinate axes x, y, and z of B-frame, and v=r˙ωT∈R6 represents the velocity vector of MP and consists of both the angular velocities and linear velocities of MP of CDPR. J (n × 6) is the Jacobi matrix of CDPRs. Differentiating (1) concerning time, we obtain inverse velocity kinematic as follows:(5)l˙=J.v,where l˙=l˙1l˙2…l˙n are the vector of cable velocities and J is the Jacobian matrix, as follows:(6)J=u1…unb1×u1…bn×unT,where bi represents the position vectors of anchor point Bi on the MP relative to the origin Op in E-frame and ui = AiBi/||AiBi|| is the unit vector of ith cables in B-frame.The angular velocityω=θ˙xθ˙yθ˙zT∈R3 can be obtained by deriving the rotation angles α, β, and γ with the rotation Jacobian matrix Jr as follows:(7)θ˙xθ˙yθ˙z=cγcβ−sγ0sγcβcγ0−sγ01α˙β˙γ˙.Representing (7) as a matrix(8)ω=Jrωr.To satisfy the equilibrium equation of CDPRs, the sum of the acting forces and the cable tensions has to satisfy the following equation:(9)∑i=1mτi+Fp=0,(10)∑i=1mbi×τi+Mp=0,where Fp and Mp are the vectors of the external torques and forces acting on MP, respectively; τi is the vector of tension forces that each cable acts upon the end effector; and vectors bi represent the positions of anchor point Bi on the MP relative to the origin Op in E-frame. From the cable direction shown in Figure 3, with the unit vectors ui, the direction of the forces τi can be obtained as follows:(11)τi=τiui.Figure 3
Force distribution on the moving platform.From equations(9)–(11), we can have(12)u1…umbi×u1…bm×umτ1⋮τm+FpMp=0.By defining(13)A=u1…umbi×u1…bm×um,(14)wp=FpMp,where τ = τ1τ2…τm.Equation (12) can be rewritten as(15)Aτ+wp=0,where τ is the vector of the cable tensions (n × 1); A = JT is the structure matrix of the CDPRs (m × n); and wp is the vectors of the external wrenches applied on the center of MP (m × 1).Lagrange equations type 2 or Newton–Euler equations can be used to derive the dynamic model for the CDPRs. The advantage of this form of the equation is that it is easy to solve and reduces calculation time. However, when determining the dynamic model, different methods can be used to simplify the calculation process. In this section, the dynamic model is developed, taking into account the cable models and different subsystems; from [18] and equation (15), the dynamic equation of the CDPR is represented as(16)Aτ−Ιv˙−Cv+wp+wg=0,where I is the inertia matrix of the MP in B-frame, C is the Coriolis and centrifugal wrench matrix, and wg is the gravity wrench matrix. In the general case, the centroid of mass G of MP does not coincide with the origin of the E-frame. Therefore, matrix I has the following form:(17)I=mpI3MG^pMG^pIp,where mp is the mass of MP, I3 (3 × 3) is the identity matrix, Gp = [GxGyGz]T is the position vector of Gp in E-frame, and MG^p is the skew-symmetric matrix associated with the first momentum of MP in E-frame MGp:(18)MG^p=RmpGxmpGympGzT.MatrixIp is the inertia tensor matrix of MP obtained based on the Huygens–Steiner theorem:(19)Ip=RIgRT−MG^pMG^pmp,where Ig is the inertial tensor of MP and wg is the gravity wrench matrix given in the following equation:(20)wg=mpI3MG^pg.The Coriolis and centrifugal wrenchCv have the following form:(21)Cv=ω^ω^MGpω^Ipω^.Equation (21) represents the relationship between the kinematics, statics, and dynamics of the CDPRs, and this model is used to determine the workspace, tension distribution set, and controller of CDPRs.The workspace of CDPRs is usually classified into two types: the wrench-feasible workspace (WFW) and the wrench closure workspace (WCW). The wrench-feasible workspace defines a set of poses of the MP, wherein the cable tension set can satisfyAτ+wp=0 with the finite external wrench wp∈f and positive tensions τ > 0. The wrench closure workspace defines a set of poses of the MP wherein the cable tensions set can satisfy Aτ+wp=0 with any external wrench wp and positive tensions τ > 0. From equation (15), for each pose of the MB, we have to find the combination of tension forces to balance it with the external forces, which can be obtained by inverting the AT matrix.(22)τ=−AT−1wp.Because structure matrixAT is not square, Moore-pseudo-inverse matrix can be used to solve equation (15). There are some methods to determine the existence of solutions for an inequality system such as pseudo-inverse matrix, linear programming, and interval analysis. The cable configuration of CDPR with 6 DOFs in this study is shown in Figure 4. The base frame, {B}, is placed at the center of the lower surface of the robot frame. The MP is a rectangular frame connected to the base frame by anchor points Ai and attaches points Bi;li is the Euclidean norm cable lengths. In all cases i = 1, …, 8. This structure has no WCW because there is no set of τ to satisfy equilibrium equation (15) with any external wrench. The static workspaces of CDPR are shown in Figure 5 determined by the linear programming algorithm; with this configuration, the external wrench is ignored, as the force has only gravity force caused by the weight of MP with end effector, so the workspace of this CDPR is proportional to the payload (mass of MP). In the same condition, when changing the payload placed on MB, the workspace also changes; the larger the payload, the greater the workspace. Based on this feature, a suitable trajectory can be designed, depending on the mass of the MP.Figure 4
Kinematics structure of the CDPR with 6 DOFs and 8 cables.Figure 5
The workspace of proposed CDPM ([α β γ] = [0 0 0]; payload = 80 kg and 60 kg).
(a)(b)


## 2.1. Kinematics Problems

The relationship of the cable lengths (variable joints) and the poses of the moving platform of CDPRs were represented by the kinematics problems. Figure2 illustrates the structure of the multicable parallel robot. The general structure of the CDPRs is composed of a moving platform and a base frame connected by n cables through the anchor points Ai and Bi (i = 1, …, n), respectively, ai and bi represents vector OAi and OpBi in the B-frame and E-frame. In the general case, the position and orientation of MP are represented by (r, R), where vector r represents the positions of origin of E-frame or the OOP vector and the rotation matrix R represents the orientation of the E-frame in B-frame. The joint variables of the CDPRs are represented by li, which are the length of the driven cables i. Inverse kinematics of CDPRs can be obtained as follows: [6, 15, 18]Figure 2
Kinematics model of CDPRs.(1)li=ai−r−Rbi.Rotation matrixR can be obtained based on the roll-pitch-yaw convention as follows:(2)R=RzγRyβRxα=cγcβcγsβsα−sγcαcγsβcα+sγsαsγcβsγsβsα+cγcαsγsβcα−cγsα−sβcβsαcβcα.In equation (2), s and c denote the sine and cosine, respectively, and α, β, and γ denote rotations around the x, y, and z axes of the rotation matrix, respectively. By transforming equation (1), we obtained(3)liTli=ai−r−RbiTai−r−Rbi.The inverse kinematic for each cable of the CDPR is as follows:(4)li2=ai2+r2+Rbi2−2air+Rbi.The CDPR velocity kinematics problem shows the relationship between the velocity of MP and the velocities of the driven cables or the angular velocities of the motors.r˙=x˙,y˙,z˙T∈R3represents the linear velocity of tool central point (Op) of MP on B-frame, ω=θ˙xθ˙yθ˙zT∈R3 is the angular velocity of MP along the three coordinate axes x, y, and z of B-frame, and v=r˙ωT∈R6 represents the velocity vector of MP and consists of both the angular velocities and linear velocities of MP of CDPR. J (n × 6) is the Jacobi matrix of CDPRs. Differentiating (1) concerning time, we obtain inverse velocity kinematic as follows:(5)l˙=J.v,where l˙=l˙1l˙2…l˙n are the vector of cable velocities and J is the Jacobian matrix, as follows:(6)J=u1…unb1×u1…bn×unT,where bi represents the position vectors of anchor point Bi on the MP relative to the origin Op in E-frame and ui = AiBi/||AiBi|| is the unit vector of ith cables in B-frame.The angular velocityω=θ˙xθ˙yθ˙zT∈R3 can be obtained by deriving the rotation angles α, β, and γ with the rotation Jacobian matrix Jr as follows:(7)θ˙xθ˙yθ˙z=cγcβ−sγ0sγcβcγ0−sγ01α˙β˙γ˙.Representing (7) as a matrix(8)ω=Jrωr.To satisfy the equilibrium equation of CDPRs, the sum of the acting forces and the cable tensions has to satisfy the following equation:(9)∑i=1mτi+Fp=0,(10)∑i=1mbi×τi+Mp=0,where Fp and Mp are the vectors of the external torques and forces acting on MP, respectively; τi is the vector of tension forces that each cable acts upon the end effector; and vectors bi represent the positions of anchor point Bi on the MP relative to the origin Op in E-frame. From the cable direction shown in Figure 3, with the unit vectors ui, the direction of the forces τi can be obtained as follows:(11)τi=τiui.Figure 3
Force distribution on the moving platform.From equations(9)–(11), we can have(12)u1…umbi×u1…bm×umτ1⋮τm+FpMp=0.By defining(13)A=u1…umbi×u1…bm×um,(14)wp=FpMp,where τ = τ1τ2…τm.Equation (12) can be rewritten as(15)Aτ+wp=0,where τ is the vector of the cable tensions (n × 1); A = JT is the structure matrix of the CDPRs (m × n); and wp is the vectors of the external wrenches applied on the center of MP (m × 1).Lagrange equations type 2 or Newton–Euler equations can be used to derive the dynamic model for the CDPRs. The advantage of this form of the equation is that it is easy to solve and reduces calculation time. However, when determining the dynamic model, different methods can be used to simplify the calculation process. In this section, the dynamic model is developed, taking into account the cable models and different subsystems; from [18] and equation (15), the dynamic equation of the CDPR is represented as(16)Aτ−Ιv˙−Cv+wp+wg=0,where I is the inertia matrix of the MP in B-frame, C is the Coriolis and centrifugal wrench matrix, and wg is the gravity wrench matrix. In the general case, the centroid of mass G of MP does not coincide with the origin of the E-frame. Therefore, matrix I has the following form:(17)I=mpI3MG^pMG^pIp,where mp is the mass of MP, I3 (3 × 3) is the identity matrix, Gp = [GxGyGz]T is the position vector of Gp in E-frame, and MG^p is the skew-symmetric matrix associated with the first momentum of MP in E-frame MGp:(18)MG^p=RmpGxmpGympGzT.MatrixIp is the inertia tensor matrix of MP obtained based on the Huygens–Steiner theorem:(19)Ip=RIgRT−MG^pMG^pmp,where Ig is the inertial tensor of MP and wg is the gravity wrench matrix given in the following equation:(20)wg=mpI3MG^pg.The Coriolis and centrifugal wrenchCv have the following form:(21)Cv=ω^ω^MGpω^Ipω^.Equation (21) represents the relationship between the kinematics, statics, and dynamics of the CDPRs, and this model is used to determine the workspace, tension distribution set, and controller of CDPRs.The workspace of CDPRs is usually classified into two types: the wrench-feasible workspace (WFW) and the wrench closure workspace (WCW). The wrench-feasible workspace defines a set of poses of the MP, wherein the cable tension set can satisfyAτ+wp=0 with the finite external wrench wp∈f and positive tensions τ > 0. The wrench closure workspace defines a set of poses of the MP wherein the cable tensions set can satisfy Aτ+wp=0 with any external wrench wp and positive tensions τ > 0. From equation (15), for each pose of the MB, we have to find the combination of tension forces to balance it with the external forces, which can be obtained by inverting the AT matrix.(22)τ=−AT−1wp.Because structure matrixAT is not square, Moore-pseudo-inverse matrix can be used to solve equation (15). There are some methods to determine the existence of solutions for an inequality system such as pseudo-inverse matrix, linear programming, and interval analysis. The cable configuration of CDPR with 6 DOFs in this study is shown in Figure 4. The base frame, {B}, is placed at the center of the lower surface of the robot frame. The MP is a rectangular frame connected to the base frame by anchor points Ai and attaches points Bi;li is the Euclidean norm cable lengths. In all cases i = 1, …, 8. This structure has no WCW because there is no set of τ to satisfy equilibrium equation (15) with any external wrench. The static workspaces of CDPR are shown in Figure 5 determined by the linear programming algorithm; with this configuration, the external wrench is ignored, as the force has only gravity force caused by the weight of MP with end effector, so the workspace of this CDPR is proportional to the payload (mass of MP). In the same condition, when changing the payload placed on MB, the workspace also changes; the larger the payload, the greater the workspace. Based on this feature, a suitable trajectory can be designed, depending on the mass of the MP.Figure 4
Kinematics structure of the CDPR with 6 DOFs and 8 cables.Figure 5
The workspace of proposed CDPM ([α β γ] = [0 0 0]; payload = 80 kg and 60 kg).
(a)(b)


## 3. Determination of Cable Tension Set: Dual Simplex Algorithm vs Force Distribution in Closed Form

### 3.1. Determination of the Cable Tension Set

The analysis of the tension distribution for the cables of CDPRs was a complex issue in the development of the CDPRs. The problem to be solved is to find the positive tension sets of cables for the poses of the MP satisfying the following force equilibrium equation:(23)Aτ=−wpwith0<τmin≤τ≤τmax,where A (m × n) is the wrench matrix of CDPR; τ represents cable tensions vector (n × 1); wp (m × 1) is the vectors of the external wrenches applied in the center of mass MP including inertia and gravity;τmin is the lower limit of cable tensions to ensure that the cable is always in tension; and τmax is the upper limit of cable tensions to ensure that the motor or cable is not overloaded. The important issues for calculating the solution of tension distribution of CDPRs are as follows:(i)
Is there at least one solutionτ satisfying equation (23) for a given pose? This condition is also used to calculate the workspace of CDPRs.(ii)
How to determine tension distribution solution so that the sum of the cable tensions is minimal (for example, to reduce power consumption purpose)?(iii)
How to determine solutions of continuous cable tension distribution along a trajectory (e.g., for force control purposes)?In this section, the set of cable tensions was obtained by two algorithms: Dual Simplex Algorithm [15] and Force distribution in Closed Form [16, 17]. The results of these methods are used as input for the corresponding cable sag problem. Equilibrium equation (23) was used to define the cable forces τi. With a feasible position, we can obtain infinite solutions, or there are existing and infinite valid combinations for the tension set. Since the number of cables is more than the number of degrees of freedom, for a position of MP, there are many tension sets satisfying the equilibrium equation. To obtain one desired solution out of these feasible solutions, mathematical techniques are used. To choose the desired solution from among these possible solutions, mathematical methods will be applied.


### 3.2. Dual Simplex Algorithm (DSA)

In the case of finding the tension solutions of the CDPRs satisfying force equilibrium equation (23) with the minimum requirement of the total value of the cable tension set, the problem of finding tension set becomes a linear programming problem [19, 20]. The objective function is minimized described as follows:(24)F=cTτ.Subject to constraints,(25)Aτ=−wp,(26)0≤τmin≤τ≤τmax.The Dual Simplex Algorithm was used to find tension solutions. Problems (24)–(26) were solved as a constrained linear programming problem, where c = [c1; c2; …; cn] ∈ Rn is the cost vector; τ = [τ1; τ2; …; τn] is the tension vector of the cables equivalent to variable vector with necessary conditions (τ > 0); A ∈ Rm×n is the structure matrix of CDPRs; wp = −b ∈ Rm is the external force vector; and τmin and τmax are the upper and lower bounds of tension. The calculation procedure and results of this method are presented in [15].


### 3.3. Forces Distribution in Closed Form (FDCF)

Minimizing tension sets of Dual Simplex Algorithm has an advantage that minimizes power consumption of the system. This is important for some applications that require long working hours and large payloads such as rapid prototyping, construction 3D printing, and moving large objects along large distances. But, the limitation of this method is the discontinuity of the rope tension along the moving trajectory, which makes it difficult to control the robot. In this section, force distribution in the closed-form method is the noniterative method of computation time suitable for real-time control [16, 17]. In this section, force distribution in closed form for p=2 was used to distribute the cable tension. The root of this solution is based on dividing the tension vector into t parts:(27)τ=τA+τv,where τA=τmin+τmax/2 is the average of the lower and upper limit of tension and τv is a random force vector. Substituting equation (27) into equation (23), we obtain(28)AτA+τv=−wp,(29)Aτv=−wp−AτA.The tension distribution is continuous along the trajectory of MP if it is close to the vectorτA using a p-norm with (2 ≤ p ≤ ∞) [5]. To improve the stability of CDPR, the solution is to choose the tensions close to the average value of τmin and τmax. The purpose is to facilitate the control of cable tension that does not approach or exceed the force limit of the actuator or lower limit of cable tension. The proposed method is to transform the problem from finding the solution of positive tension in the cable to finding the least squares using equation (34). Here, the Euclidean criterion (p = 2) was used to define the least-squares solution τA in equation (29). This can be done by a pseudo-inverse matrix for a matrix with more columns than rows. If A+ is pseudo-inverse of A, then(30)A+=ATA−1AT.Multiplying both sides of equation (29) by A+, we obtain(31)τv=A+−wp−AτA.Substituting equation (31) into equation (27) yields(32)τ=τA−A+wp+AτA.The simulations are based on 6-DOF and 8-cable CDPR as shown in Figure4. The same trajectory is simulated to compare the result of the two proposed force distribution algorithms for computing the tension sets. The MP is to track a square and a circular trajectory in the XY plane. Figure 6 shows joint motion trajectories for 1000 m square path with Z = 1050 mm divided into 81 node points, and Figure 7 shows joint motion trajectories for 1600 mm-diameter circle path with Z = 1000 m divided into 126 node points. The tension sets of cables were computed, respectively, by Dual Simplex Algorithm (DSA) and Force distribution in Closed Form (FDCF). The eight subplots illustrate the tension profile of each cable along the trajectory. The computation results show that DAS gives the tension set with the sum of cable tensions which is smallest in both trajectories. However, the values of cable tensions tend to approach the lower boundary value and change abruptly at the node points. Meanwhile, FDCF gives more continuous cable tension and there is no sudden change in cable tension profiles, especially with the continuous trajectory of the circle. The cable tension also continues along the moving trajectory, which is convenient for controlling the robot.Figure 6
Tension of 8 cables of 1600 mm square path DSA vs FDCF, withz = 1050 mm.Figure 7
Tension of 8 cables of 1600 mm circle path TRDA vs ANFIS, withz = 1000 m and 126 note points.


## 3.1. Determination of the Cable Tension Set

The analysis of the tension distribution for the cables of CDPRs was a complex issue in the development of the CDPRs. The problem to be solved is to find the positive tension sets of cables for the poses of the MP satisfying the following force equilibrium equation:(23)Aτ=−wpwith0<τmin≤τ≤τmax,where A (m × n) is the wrench matrix of CDPR; τ represents cable tensions vector (n × 1); wp (m × 1) is the vectors of the external wrenches applied in the center of mass MP including inertia and gravity;τmin is the lower limit of cable tensions to ensure that the cable is always in tension; and τmax is the upper limit of cable tensions to ensure that the motor or cable is not overloaded. The important issues for calculating the solution of tension distribution of CDPRs are as follows:(i)
Is there at least one solutionτ satisfying equation (23) for a given pose? This condition is also used to calculate the workspace of CDPRs.(ii)
How to determine tension distribution solution so that the sum of the cable tensions is minimal (for example, to reduce power consumption purpose)?(iii)
How to determine solutions of continuous cable tension distribution along a trajectory (e.g., for force control purposes)?In this section, the set of cable tensions was obtained by two algorithms: Dual Simplex Algorithm [15] and Force distribution in Closed Form [16, 17]. The results of these methods are used as input for the corresponding cable sag problem. Equilibrium equation (23) was used to define the cable forces τi. With a feasible position, we can obtain infinite solutions, or there are existing and infinite valid combinations for the tension set. Since the number of cables is more than the number of degrees of freedom, for a position of MP, there are many tension sets satisfying the equilibrium equation. To obtain one desired solution out of these feasible solutions, mathematical techniques are used. To choose the desired solution from among these possible solutions, mathematical methods will be applied.


## 3.2. Dual Simplex Algorithm (DSA)

In the case of finding the tension solutions of the CDPRs satisfying force equilibrium equation (23) with the minimum requirement of the total value of the cable tension set, the problem of finding tension set becomes a linear programming problem [19, 20]. The objective function is minimized described as follows:(24)F=cTτ.Subject to constraints,(25)Aτ=−wp,(26)0≤τmin≤τ≤τmax.The Dual Simplex Algorithm was used to find tension solutions. Problems (24)–(26) were solved as a constrained linear programming problem, where c = [c1; c2; …; cn] ∈ Rn is the cost vector; τ = [τ1; τ2; …; τn] is the tension vector of the cables equivalent to variable vector with necessary conditions (τ > 0); A ∈ Rm×n is the structure matrix of CDPRs; wp = −b ∈ Rm is the external force vector; and τmin and τmax are the upper and lower bounds of tension. The calculation procedure and results of this method are presented in [15].


## 3.3. Forces Distribution in Closed Form (FDCF)

Minimizing tension sets of Dual Simplex Algorithm has an advantage that minimizes power consumption of the system. This is important for some applications that require long working hours and large payloads such as rapid prototyping, construction 3D printing, and moving large objects along large distances. But, the limitation of this method is the discontinuity of the rope tension along the moving trajectory, which makes it difficult to control the robot. In this section, force distribution in the closed-form method is the noniterative method of computation time suitable for real-time control [16, 17]. In this section, force distribution in closed form for p=2 was used to distribute the cable tension. The root of this solution is based on dividing the tension vector into t parts:(27)τ=τA+τv,where τA=τmin+τmax/2 is the average of the lower and upper limit of tension and τv is a random force vector. Substituting equation (27) into equation (23), we obtain(28)AτA+τv=−wp,(29)Aτv=−wp−AτA.The tension distribution is continuous along the trajectory of MP if it is close to the vectorτA using a p-norm with (2 ≤ p ≤ ∞) [5]. To improve the stability of CDPR, the solution is to choose the tensions close to the average value of τmin and τmax. The purpose is to facilitate the control of cable tension that does not approach or exceed the force limit of the actuator or lower limit of cable tension. The proposed method is to transform the problem from finding the solution of positive tension in the cable to finding the least squares using equation (34). Here, the Euclidean criterion (p = 2) was used to define the least-squares solution τA in equation (29). This can be done by a pseudo-inverse matrix for a matrix with more columns than rows. If A+ is pseudo-inverse of A, then(30)A+=ATA−1AT.Multiplying both sides of equation (29) by A+, we obtain(31)τv=A+−wp−AτA.Substituting equation (31) into equation (27) yields(32)τ=τA−A+wp+AτA.The simulations are based on 6-DOF and 8-cable CDPR as shown in Figure4. The same trajectory is simulated to compare the result of the two proposed force distribution algorithms for computing the tension sets. The MP is to track a square and a circular trajectory in the XY plane. Figure 6 shows joint motion trajectories for 1000 m square path with Z = 1050 mm divided into 81 node points, and Figure 7 shows joint motion trajectories for 1600 mm-diameter circle path with Z = 1000 m divided into 126 node points. The tension sets of cables were computed, respectively, by Dual Simplex Algorithm (DSA) and Force distribution in Closed Form (FDCF). The eight subplots illustrate the tension profile of each cable along the trajectory. The computation results show that DAS gives the tension set with the sum of cable tensions which is smallest in both trajectories. However, the values of cable tensions tend to approach the lower boundary value and change abruptly at the node points. Meanwhile, FDCF gives more continuous cable tension and there is no sudden change in cable tension profiles, especially with the continuous trajectory of the circle. The cable tension also continues along the moving trajectory, which is convenient for controlling the robot.Figure 6
Tension of 8 cables of 1600 mm square path DSA vs FDCF, withz = 1050 mm.Figure 7
Tension of 8 cables of 1600 mm circle path TRDA vs ANFIS, withz = 1000 m and 126 note points.


## 4. Cable Length Computation with Cable Sagging

For large CDPRs, cable sag significantly affects the accuracy of positioning when calculating the inverse kinematics problem. However, due to the nonlinearity of the cable model, the inverse kinematics of cable robots taking into account cable sag become quite difficult to compute. Assuming that the catenary model is only affected by its gravity, the effects of external forces such as wind or nonuniform mass distribution along the cable are ignored. The cable sag model between two points B and M is shown in Figure8, where B and M are the attachment points of cables on the base frame and moving platform, respectively, LS is the distance between points B and M, L denotes the length between B and M taking into account sag of the cable, g is the gravity acceleration, τ is the cable tension at point M, and τx and τz is the component cable tension of τ in the x and z axes. Similarly, τBx and τBz are the component cable tension in the x and z axes at point B, and (xm, zm) are the coordinates of M in the XZ frame. Considering a nonstretch cable model as shown in Figure 8, well-known equations of static catenary displacement are simplified as follows [9–15]:(33)xm=τxρLgsinh−1τzτx−sinh−1τz−ρLgLτx,(34)zm=1ρLgτx2+τz2−τx2+τz−ρLgL2,(35)τ=τx2+τz2,where ρL denotes the linear density of the cable material and g is the gravity acceleration.Figure 8
The cable sag model between two points.The sag model in (33)–(35) is a system of equations representing the nonlinear relationship of theoretical cable length, cable tension, sag cable length, and component cable tensions; this is a system of nonlinear equations that can be solved by a numerical method. The Trust-Region-Dogleg algorithm [21] was used to solve this system. Equations (33)–(35) are rewritten as equation (36) with the definition “Given a set of n nonlinear functions Fi(x), where n is the number of elements in the vector x, the goal of this algorithm is to find a vector x that makes all Fi(x) = 0.”(36)Fi=τxρLgsinh−1τzτx−sinh−1τz−ρLgLτx−xm,1ρLgτx2+τz2−τx2+τz−ρLgL2−zm,τx2+τz2−τ,where n = 3, x = [τxτzL].For each input condition (τ xmzm) in Sections 3 and 4, the Trust-Region-Dogleg algorithm will result in the cable length with sagging and two-component cable tensions x = [τxτzL]. The result of this step is used for training the ANFIS algorithm in the next section for computing the sag of cables in the whole workspace of CDPRs.


## 5. ANFIS

With the rapid development of information technology, soft computing techniques (SCTs) are used to solve many problems in engineering such as geological industry [22, 23], construction [24], mobile robot [25], and industrial robot [26, 27]. Here, the ANFIS structure is one of the useful algorithms of SCT usually used to calculate the kinematics and trajectory planning of the robot. Duka [26] applies ANFIS to calculate the inverse kinematic problem of 3-DOF planar robot; this model was built based on the data obtained from forward kinematics. Narayan et al. [27] developed a method to generate the path for 5-DOF spatial industrial serial robots based on ANFIS. This section describes the application of the ANFIS structure (adaptive neuro-fuzzy inference system) to predict cable sagging based on the reference results of Sections 3 and 4. ANFIS is structured based on the Takagi–Sugeno fuzzy inference system. Roger Jang was one of the first to develop the ANFIS structure. the ANFIS architecture can be used to determine the online nonlinear components in the control system and model nonlinear functions [28]. ANFIS is a combination of FIS (fuzzy inference system) with the learning mechanism of an artificial neural network in determining the membership functions or fuzzy rules from the training data. Therefore, it is possible to generate an ANFIS model from a nonlinear representation of the system based on the ability of ANFIS to learn from training data. In the next section, the ANFIS model is used to define the fuzzy rules and membership functions of the FLC to achieve the desired input-output mappings.The structure ANFIS consists of five layers [29]; assume that the fuzzy system has p inputs xi, i = 1, …, p, and let Ol,i be the output symbol of node i in layer l, respectively. All nodes in layer 1 are adaptive nodes (square nodes):(37)O1,i=Νixifori=1,...,p.The node functionsN1, N2, …, Nk have the same role as the membership function μx of the fuzzy system, and k denotes the number of nodes of each input. The membership functions have many different forms, of which the bell-shaped is the typical choice.All nodes of layer 2 are circle nodes (fixed nodes). The outputO2,i in this layer is a product of AND function for all the output signals of layer 1. Each node output of this layer represents the firing strength of the reasoning rule:(38)O2,i=MlxlMjxj.Layer 3 also contains fixed nodes, and outputs of this layer will be called normalized firing strengths which are used to determine the ratio of theith rule’s firing strength by summing of all these rules.(39)O3,i=O2,i∑O2,i.Layer 4 contains adaptive nodes and is used to perform a Sugeno-type fuzzy system; this class performs the integration of the sum of the input variablesx1, x2, …, xp and constant factor c1, c2, …, cp, from the output of IF-THEN rules.(40)O4,i=O3,i∑j=1pPjxj+cj,where c1, c2, …, cp and P1, P2, …, Pp are the parameter set of this layer, also called the consequential parameters.Layer 5 contains a circle node; this single node is used to compute the overall output by summing all input signals, this is the defuzzification step performed by the weighted average method.(41)O5,i=∑iO4,i.The above ANFIS model can update parameters by using the gradient descent procedure. Some ANFIS structures have a lot of FIS types, and defuzzification methods can be found in Jang [28]. In this section, the cable sagging is predicted by the first-order Sugeno fuzzy model [29].According to the calculation results mentioned in Sections2–4. The cable sagging calculation model is a highly nonlinear model due to the dynamic constraints and equilibrium conditions of the system. The problem of calculating cable sag for cable robots is a multi-input and multi-output system. To solve the problem of calculating cable presented in this work, a parallel ANFIS system is proposed. This system depicted consists of 8 parallel 1-degree-of-freedom layers, where all of them take the Cartesian coordinates of the MP as input. The ANFIS model was developed for inverse kinematics of CDPRs taking into account cable sag illustrated in Figure 9. The position vector of MP (R6) is used as input to ANFIS models, which are nonlinear inputs to calculate cables according to constraints and calculation in Sections 2–4. The Sugeno model with 81 rules and Gaussian membership functions (GMFs) are used to structure ANFIS. In this study, six inputs are presented by 3 GMFs and the membership functions are defined by equation (42). The number of membership functions of each ANFIS was established experimentally.(42)μAix;ci,σi=exp−12x−ciσi2,where x is the input of node i, the GMFs are defined by two premise parameters (ci, σi); ci is the center of GMFs, and σi is the width of GMFs. The shape of GMFs depends on the value of these premise parameters with a minimum equal to 0 and a maximum equal to 1.Figure 9
Proposed ANFIS architecture for cable sagging prediction.ANFIS structure phasei (1, …, 8) is a multilayer feedforward adaptive network. Layer 1 has 3 input nodes including the Gaussian transfer functions, and this layer is used to transfer input values to linguistic values, where the input values are the Cartesian coordinates of poses of CDPRs. MP position coordinates and cable sagging are used as ANFIS training data, where 6 coordinates represent MP position role as input and cable sagging role as the corresponding output for ANFIS. The hybrid algorithm is used in the training process to adjust the weights and generate fuzzy rule bases that will stop when the training error is equal to setting up an error or the values of present epochs are over the setup values. The consequence parameters of rule functions are adjustable automatically by the least square method of a hybrid learning algorithm [29].


## 6. Experiments and Discussion

### 6.1. Computation

In this section, experiments are implemented on overconstrained CDPRs and this structure is illustrated in Figure4. The parameters of the robot are shown in Table 1. To evaluate the effectiveness of the model, the sag of cables S data generated by TRDA and ANFIS was compared by correlation coefficient (CC).(43)CC=∑i=1nSTRi−S¯TRSANi−S¯AN∑i=1nSTRi−S¯TR2∑i=1nSANi−S¯AN2,where STRi and SANi represent the computed and predicted sag, respectively, S¯TR and S¯AN are the average value of computed and predicted sag samples, and n denotes the number of samples. The higher the CC value, the better the fit of the results from the predictive model to the computational method. For an accurate evaluation, scatter index (SI) and root-mean-square error (RMSE) are also applied with the following equation:(44)SI=RMSES¯TR,(45)RMSE=1n∑i=1nSTRi−SANi2.Table 1
Specification of the cable robot.
SpecificationDegree of freedom6 (3 rotations, 3 prismatic)Number of cables8Fixed frame size (m)6 × 6 × 3End effector size (m)0.4 × 0.4 × 0.6End effector load (kg)120WorkspaceL x W x H (m)5 × 5 × 2.5Linear density of cableρL(kg/m)0.1543Diameter of cables (mm)5The test data and trained data are obtained by the process in Sections3 and 4. The sag data of 8 cables are collected in the whole of the feasible workspace of the cable robot with specification in Table 1. More than 8000 poses of MP were obtained by the invert kinematic problem. For each specific position of MP, a set of tensions has been calculated by Dual Simplex Algorithm and Force Distribution in Close Form. The result of invert kinematic and corresponding tensions was used as the inputs of the Trust-Region-Dogleg algorithm to find 8 corresponding lengths of cables taking into account sags of cables. In general, cable sagging is a function that depends on cable length, cable tension, and cable position in space.Table2 shows test data and trained data used to calculate statistical measurements; 8420 data samples for training and 1000 data samples for the test were used to analyze the obtained data between TRDA and the ANFIS. Both models were built based on FDCF, and all ANFIS models for 8 cables show the trained data have CCs higher than 0.9800 and for test data, they are higher than 0.9900. RMSE is less than 0.1403 and 0.1286 for trained data and test data, respectively, while SI is less than 0.3832 and 0.2132 for trained data and test data. Table 2 and Figures 10 and 11 show that the error of ANFIS models is suitable for predicting sag of cables with all correlation coefficients higher than 0.98.Table 2
The ANFIS model with correlation coefficients of eight cables.
CableiTrained dataTest dataCCtrainRMSESICCtestRMSESI10.98280.13480.36440.99120.12030.193520.98660.11730.33480.99480.09880.164530.98450.12660.34170.99110.11820.190540.98640.11320.32440.99270.11380.189150.98340.12790.34780.99080.12200.194860.98770.11050.31760.99090.12860.213270.98030.14030.38320.99030.12760.203980.98290.12970.37400.99220.12230.2019Figure 10
Comparison of sag of cable 1 predicted by ANFIS and computed by TRDA.Figure 11
Comparison of sag of cable 4 predicted by ANFIS and computed by TRDA.Next, the trajectories that control the robot to move along the basic paths are calculated by both TRDA and ANFIS methods with 2 methods of calculating cable tension, DSA and FDCF, to evaluate the response and accuracy of the ANFIS model in both cases. Figure12 shows the trajectory and joint responses of CDPRs for the circle path with radius 1000 (mm) and z 1000 (mm). Figure 13 shows the trajectory and joint responses of CDPRs for the square path with side 1600 (mm) and z 1050 (mm); both of the paths were placed on the XY plane and divided into multiple knot points.Figure 12
Trajectory and joint response of circle path withr = 1000 (mm) and z = 1000  m in XY plane.Figure 13
Trajectory and the joint response of 1600 mm square path withz = 1050 mm in XY plane.An algorithm performs whether these points are in the workspace of the robot or not (satisfying the equilibrium equation (23)). If the trajectory is possible, these coordinate data will be inserted into the algorithm to find the corresponding cable tension. In the first method, the DSA or FDCF was used to find the set of tension combinations, provided that the tension force must be within the upper and lower limit; the lower limit of the tension is selected based on the equilibrium conditions, ensuring the rigidity and stability of the moving platform. The upper limit of the tensioners is selected based on the motor capacity. The Trust-Region-Dogleg algorithm and ANFIS were used to calculate the cable length, taking into account cable sag. For the second method, only the ANFIS model for DAS or FDCF was used to predict the cable length taking into account the sag of cables.Figure14 shows the computation results of the sag of 8 cables when the robot moves along the 2 m-diameter circle path at z = 1000 m. The simulation trajectory is continuous, showing that all the node points are in the WFW. The cable lengths change from 3400 mm to 5700 mm with 126 node points. The sags of cables were computed by two methods, TRDA and ANFIS, based on Dual Simplex Algorithm to minimize the sum of tension forces of CDPRs. The TRDA generated the sag response curve with undulation, while the sag response curve predicted by ANFIS is more continuous. The maximum error is 1.1111 mm according to this trajectory. The largest errors tend to occur where the sag changes abruptly in response to a sudden change in the corresponding tension, while the maximum RMSE is only 0.2521 mm; this shows that the number of large errors is small, occurring only at the points where the cable sag has a large change. Figure 15 shows the computation results of the sag of 8 cables when the robot moves along the 2 m-diameter circle path at z = 1000 m and with 126 node points; the sags of cables were computed by two methods TRDA and ANFIS based on Force Distribution in Closed Form. Similar to Figure 14, TRDA also generated the sag response curve with undulation but without sudden changes in cable sag values, while the sag response curve predicted by ANFIS is more continuous and both change along the corresponding joint trajectory and tension of cables in Figure 7. The maximum error is only 0.1621 mm according to this trajectory with the maximum RMSE only 0.0668 mm.Figure 14
Sag of 8 cables of the 1000 m-radius circle path, withz = 1000 m, 126 note points, and minimum tension.Figure 15
Sag of 8 cable of the 1000 m-radius circle path, withz = 1000 m.The offset length of each cable is inversely proportional to the tension and cable length. Because the cable is inelastic, the offset length is always positive. The longer the cable and the larger the cable weight, the greater the cable. For cable tension, when the tension is bigger, the cable has more tension, so the smaller the cable. The results of this calculation showed that this calculation method gives suitable results, which can be applied to calculate the control effect for the winch actuators. The tension of all cables is maintained equal to or greater than the lower boundτmin set at 50 N and less than the upper bound τmax, set at 500 N. During this trajectory, the offset lengths range from 0 mm to a maximum of 2 mm. When the cable tension is greater than 300 N, the offset length reaches zero (mm).Figures16 and 17 show similar results for the trajectory of the 1600 mm square path with z = 1050 mm. The maximum error and RMSE of 0.9383 mm and 0.2006, respectively, for the ANFIS model based on DSA are much larger than the results calculated by the ANFIS model based on FDCF with max error = 0.1610 mm and RMSE = 0.0548. The calculation results show that the ANFIS model based on the FCDR tension synthesis algorithm gives better accuracy than that of the DSA algorithm with the same computational trajectory as well as for trained data and test data. The response of the ANFIS is suitable for calculating the trajectory problem for large-sized cable robots, with a faster calculation time than the numerical method. Continuity is guaranteed for controllers designed for different cable robot configurations. In general, the errors in this work depend on the data collection method, because the relationship between the input and the output is highly nonlinear, in which the output reference data are used to build the cable prediction model depending on the method of calculating the cable tension distribution and the coordinates of the MP. The cable tensions corresponding to the positions of the MP must satisfy the constraints of kinematics and dynamics. In this paper, two methods DSA and FCDR are selected to generate the cable tension sets and they give different errors. The ANFIS model gives a better response with FCDR due to the continuity of the cable tensions and the data are taken over the entire workspace of the analyzed robot configuration with a large number of sample coordinates, thus limiting the influence of the uncertainty of input data. This has been verified through the calculation results of the ANFIS model for the number of test data being 1000 random samples.Figure 16
Sag of 8 cable of the 1600 mm square path, withz = 1050 m.Figure 17
Sags of 8 cables of the 1600 mm square path TRDA vs RNN, withz = 1050 m.


### 6.2. Experiment

The prototype of CDPR and moving platform and parameters are shown in Figure18 and Table 1. The control system structure [3] has eight similar subcontrollers for controlling eight winches. Each subcontroller contains a set of AC servo motors and feedback sensors controlled by Card PCI-1285-AE 8-Axis DSP-Based Soft Motion Controller through two CIRCUIT MODULE ADAM 3956 AE boards. Each cable is stored inside the winch and delivered by AC Delta Servo Motor ECMA-C20604RS-400 W. The feedback control data are the length and the tension of each cable obtained using an encoder and a loadcell placed in the winches. The encoder will collect feedback signals for the AC servo controller, while the loadcell provides the tension of the cable and transmits it to PC via the AD converter. The PC acts as a central controller, having the function of calculating and giving control signals to the subcontrollers based on the requested trajectory and feedback signal from the control elements.Figure 18
CDPR prototype (a); moving platform (b).
(a)(b)The experimental data are measured in a stationary state at the nodal points due to the limitation of the measurement technique. Two fixed cameras were installed on the top and side of CDPR (Figure18) used to capture the MP position at node points. An image processing program had been developed to determine the actual coordinates of the MP based on the pixel coordinates obtained from the images of the two cameras. This program has been corrected to match the position of the CDPR and the camera.The set of experimenting positions is taken from wrench-feasible workspace randomly and listed in Table3. The CDPR is programmed to move through multiple nodes with linear interpolation with the robot control system. This control system consists of two closed-loop controllers. The first controller uses the cable tension and poses MP as reference signals. The second controller is an AC servo driver with a PID position controller; it controls the AC servo motor with an encoder signal feedback. The robot will stop at 11 node points. while measurement and error calculations have done. The experiment results are presented in Table 3, and equation (46) was used to calculate the errors.(46)ExiEyiEziEαiEβiEγiT=xDiyDizDiαDiβDiγDiT−xAiyAizAiαAiβAiγAiT.Table 3
Experiment result of our CDPR with 11 node points.
PoseDesired positions (mm)Actual positions (mm)Errors (mm)(xDi, yDi, zDi, αDi, βDi, γDi)(xAi, yAi, zAi, αAi, βAi, γAi)(Exi, Eyi, Ezi, Eαi, Eβi, Eγi)P1(4, 4, 404, 2.3, 0.5, 0.9)(−8, −9, 413, 8, 6, 7)(12, 13, −9, −5.7, −5.5, −6.1)P2(400, 400, 800, 2.3, 0.5, 0.9)(348, 390, 812, 7, 7, 9)(16, 10, 12, −4.7, −6.5, −8.1)P3(−200, −100, 1000, 17.2, 17.2, 22.9)(−208, −107, −1007, 12, 10, 18)(8, 7, −7, 5.2, 7.2, 4.9)P4(−1050, −250, 1055, 5.7, 22.9, 34.4)(−1042, −241, −1059, 9, 17, 30)(−8, −9, −2, −3.3, 5.9, 4.4)P5(−1155, −1055, 1152, 17.2, 28.7, 45.9)(−1144, −1065, −1145, 11, 23, 41)(−11, 10, 7, 6.2, 5.7, 4.9)P6(−555, −355, 1552, 34.4, 40.1, 40.1)(−552, −360, 1549, 33, 43, 43)(−3, 5, 3, 1.4, −2.9, −2.9)P7(45, 345, 1587, 40.1, 28.7, 28.7)(48, 342, 1586, 39, 30, 32)(−3, 3, 1, 1.1, −1.3, −3.3)P8(268, 866, 1332, 45.9, 17.2, 11.5)(273, 875, 1335, 48, 22, 14)(−5, −9, −3, −2.1, −4.8, −2.5)P9(673, 365, 707, 28.7, 11.5, 0)(662, 374, 719, 33, 16, 3)(11, −9, −12, −4.3, −4.5, −3.0)P10(895, 36, 872, 11.5, 5.7, 7.2)(882, 24, 882, 8, 10, 12)(13, 12, −10, 3.5, −4.3, 5.2)P11(−360, 40, 440, 0, 0, 0)(−375, 28, 451, 5, 4, 6)(15, 12, −11, −5.0, −4.0, −6.0)The converted signal of loadcells for measuring tensions and the signal of encoders for measuring the length of cables are shown in Figures19 and 20 when CDPRs are moving along the trajectory. The experiment was completed in about 10 minutes with 100 samples/min. However, the robot had to stop for a period to facilitate measuring the position of the moving platform. The robot will stop at 11 node points (dot-dash lines) for measuring the position of the robot. The robot moves at pose P1 = [4 4 404 2.3 0.5 0.9]T  and finishes at P11 = [−360 40 440 0 0 0]T. The cable tension diagram shows that there are fluctuations with larger amplitude at the time of moving a segment at the dot-dash lines, leading to a jerky phenomenon at the beginning. This is due to the overshoot of the PID controller.Figure 19
Loadcell signal response in the experiment.Figure 20
Encoder signal in the experiment for measuring the length of the cable.Figure21 shows the node points and moving orientation of the experiment with the size of the nodes representing their error values; the larger the size, the larger the error. The position error of the cable robot can originate from the following reasons: accuracy of mechanical structure, the large size of the robot, error of control, error of the actuator, error of cable distribution, cable heterogeneity, and especially the error of measurement methods and measuring equipment. Table 3 and Figure 21 also show that the error tends to increase when the MP is at a low position or the working head approaches the columns of the robot fixed frame. This is because the distribution of cable forces at low positions has a small value, and at corner positions, there is a large difference in cable tension, both of which cause low stability of the moving platform.Figure 21
Point-to-point paths with 11 node points in the experiment and mean error of positions.


## 6.1. Computation

In this section, experiments are implemented on overconstrained CDPRs and this structure is illustrated in Figure4. The parameters of the robot are shown in Table 1. To evaluate the effectiveness of the model, the sag of cables S data generated by TRDA and ANFIS was compared by correlation coefficient (CC).(43)CC=∑i=1nSTRi−S¯TRSANi−S¯AN∑i=1nSTRi−S¯TR2∑i=1nSANi−S¯AN2,where STRi and SANi represent the computed and predicted sag, respectively, S¯TR and S¯AN are the average value of computed and predicted sag samples, and n denotes the number of samples. The higher the CC value, the better the fit of the results from the predictive model to the computational method. For an accurate evaluation, scatter index (SI) and root-mean-square error (RMSE) are also applied with the following equation:(44)SI=RMSES¯TR,(45)RMSE=1n∑i=1nSTRi−SANi2.Table 1
Specification of the cable robot.
SpecificationDegree of freedom6 (3 rotations, 3 prismatic)Number of cables8Fixed frame size (m)6 × 6 × 3End effector size (m)0.4 × 0.4 × 0.6End effector load (kg)120WorkspaceL x W x H (m)5 × 5 × 2.5Linear density of cableρL(kg/m)0.1543Diameter of cables (mm)5The test data and trained data are obtained by the process in Sections3 and 4. The sag data of 8 cables are collected in the whole of the feasible workspace of the cable robot with specification in Table 1. More than 8000 poses of MP were obtained by the invert kinematic problem. For each specific position of MP, a set of tensions has been calculated by Dual Simplex Algorithm and Force Distribution in Close Form. The result of invert kinematic and corresponding tensions was used as the inputs of the Trust-Region-Dogleg algorithm to find 8 corresponding lengths of cables taking into account sags of cables. In general, cable sagging is a function that depends on cable length, cable tension, and cable position in space.Table2 shows test data and trained data used to calculate statistical measurements; 8420 data samples for training and 1000 data samples for the test were used to analyze the obtained data between TRDA and the ANFIS. Both models were built based on FDCF, and all ANFIS models for 8 cables show the trained data have CCs higher than 0.9800 and for test data, they are higher than 0.9900. RMSE is less than 0.1403 and 0.1286 for trained data and test data, respectively, while SI is less than 0.3832 and 0.2132 for trained data and test data. Table 2 and Figures 10 and 11 show that the error of ANFIS models is suitable for predicting sag of cables with all correlation coefficients higher than 0.98.Table 2
The ANFIS model with correlation coefficients of eight cables.
CableiTrained dataTest dataCCtrainRMSESICCtestRMSESI10.98280.13480.36440.99120.12030.193520.98660.11730.33480.99480.09880.164530.98450.12660.34170.99110.11820.190540.98640.11320.32440.99270.11380.189150.98340.12790.34780.99080.12200.194860.98770.11050.31760.99090.12860.213270.98030.14030.38320.99030.12760.203980.98290.12970.37400.99220.12230.2019Figure 10
Comparison of sag of cable 1 predicted by ANFIS and computed by TRDA.Figure 11
Comparison of sag of cable 4 predicted by ANFIS and computed by TRDA.Next, the trajectories that control the robot to move along the basic paths are calculated by both TRDA and ANFIS methods with 2 methods of calculating cable tension, DSA and FDCF, to evaluate the response and accuracy of the ANFIS model in both cases. Figure12 shows the trajectory and joint responses of CDPRs for the circle path with radius 1000 (mm) and z 1000 (mm). Figure 13 shows the trajectory and joint responses of CDPRs for the square path with side 1600 (mm) and z 1050 (mm); both of the paths were placed on the XY plane and divided into multiple knot points.Figure 12
Trajectory and joint response of circle path withr = 1000 (mm) and z = 1000  m in XY plane.Figure 13
Trajectory and the joint response of 1600 mm square path withz = 1050 mm in XY plane.An algorithm performs whether these points are in the workspace of the robot or not (satisfying the equilibrium equation (23)). If the trajectory is possible, these coordinate data will be inserted into the algorithm to find the corresponding cable tension. In the first method, the DSA or FDCF was used to find the set of tension combinations, provided that the tension force must be within the upper and lower limit; the lower limit of the tension is selected based on the equilibrium conditions, ensuring the rigidity and stability of the moving platform. The upper limit of the tensioners is selected based on the motor capacity. The Trust-Region-Dogleg algorithm and ANFIS were used to calculate the cable length, taking into account cable sag. For the second method, only the ANFIS model for DAS or FDCF was used to predict the cable length taking into account the sag of cables.Figure14 shows the computation results of the sag of 8 cables when the robot moves along the 2 m-diameter circle path at z = 1000 m. The simulation trajectory is continuous, showing that all the node points are in the WFW. The cable lengths change from 3400 mm to 5700 mm with 126 node points. The sags of cables were computed by two methods, TRDA and ANFIS, based on Dual Simplex Algorithm to minimize the sum of tension forces of CDPRs. The TRDA generated the sag response curve with undulation, while the sag response curve predicted by ANFIS is more continuous. The maximum error is 1.1111 mm according to this trajectory. The largest errors tend to occur where the sag changes abruptly in response to a sudden change in the corresponding tension, while the maximum RMSE is only 0.2521 mm; this shows that the number of large errors is small, occurring only at the points where the cable sag has a large change. Figure 15 shows the computation results of the sag of 8 cables when the robot moves along the 2 m-diameter circle path at z = 1000 m and with 126 node points; the sags of cables were computed by two methods TRDA and ANFIS based on Force Distribution in Closed Form. Similar to Figure 14, TRDA also generated the sag response curve with undulation but without sudden changes in cable sag values, while the sag response curve predicted by ANFIS is more continuous and both change along the corresponding joint trajectory and tension of cables in Figure 7. The maximum error is only 0.1621 mm according to this trajectory with the maximum RMSE only 0.0668 mm.Figure 14
Sag of 8 cables of the 1000 m-radius circle path, withz = 1000 m, 126 note points, and minimum tension.Figure 15
Sag of 8 cable of the 1000 m-radius circle path, withz = 1000 m.The offset length of each cable is inversely proportional to the tension and cable length. Because the cable is inelastic, the offset length is always positive. The longer the cable and the larger the cable weight, the greater the cable. For cable tension, when the tension is bigger, the cable has more tension, so the smaller the cable. The results of this calculation showed that this calculation method gives suitable results, which can be applied to calculate the control effect for the winch actuators. The tension of all cables is maintained equal to or greater than the lower boundτmin set at 50 N and less than the upper bound τmax, set at 500 N. During this trajectory, the offset lengths range from 0 mm to a maximum of 2 mm. When the cable tension is greater than 300 N, the offset length reaches zero (mm).Figures16 and 17 show similar results for the trajectory of the 1600 mm square path with z = 1050 mm. The maximum error and RMSE of 0.9383 mm and 0.2006, respectively, for the ANFIS model based on DSA are much larger than the results calculated by the ANFIS model based on FDCF with max error = 0.1610 mm and RMSE = 0.0548. The calculation results show that the ANFIS model based on the FCDR tension synthesis algorithm gives better accuracy than that of the DSA algorithm with the same computational trajectory as well as for trained data and test data. The response of the ANFIS is suitable for calculating the trajectory problem for large-sized cable robots, with a faster calculation time than the numerical method. Continuity is guaranteed for controllers designed for different cable robot configurations. In general, the errors in this work depend on the data collection method, because the relationship between the input and the output is highly nonlinear, in which the output reference data are used to build the cable prediction model depending on the method of calculating the cable tension distribution and the coordinates of the MP. The cable tensions corresponding to the positions of the MP must satisfy the constraints of kinematics and dynamics. In this paper, two methods DSA and FCDR are selected to generate the cable tension sets and they give different errors. The ANFIS model gives a better response with FCDR due to the continuity of the cable tensions and the data are taken over the entire workspace of the analyzed robot configuration with a large number of sample coordinates, thus limiting the influence of the uncertainty of input data. This has been verified through the calculation results of the ANFIS model for the number of test data being 1000 random samples.Figure 16
Sag of 8 cable of the 1600 mm square path, withz = 1050 m.Figure 17
Sags of 8 cables of the 1600 mm square path TRDA vs RNN, withz = 1050 m.


## 6.2. Experiment

The prototype of CDPR and moving platform and parameters are shown in Figure18 and Table 1. The control system structure [3] has eight similar subcontrollers for controlling eight winches. Each subcontroller contains a set of AC servo motors and feedback sensors controlled by Card PCI-1285-AE 8-Axis DSP-Based Soft Motion Controller through two CIRCUIT MODULE ADAM 3956 AE boards. Each cable is stored inside the winch and delivered by AC Delta Servo Motor ECMA-C20604RS-400 W. The feedback control data are the length and the tension of each cable obtained using an encoder and a loadcell placed in the winches. The encoder will collect feedback signals for the AC servo controller, while the loadcell provides the tension of the cable and transmits it to PC via the AD converter. The PC acts as a central controller, having the function of calculating and giving control signals to the subcontrollers based on the requested trajectory and feedback signal from the control elements.Figure 18
CDPR prototype (a); moving platform (b).
(a)(b)The experimental data are measured in a stationary state at the nodal points due to the limitation of the measurement technique. Two fixed cameras were installed on the top and side of CDPR (Figure18) used to capture the MP position at node points. An image processing program had been developed to determine the actual coordinates of the MP based on the pixel coordinates obtained from the images of the two cameras. This program has been corrected to match the position of the CDPR and the camera.The set of experimenting positions is taken from wrench-feasible workspace randomly and listed in Table3. The CDPR is programmed to move through multiple nodes with linear interpolation with the robot control system. This control system consists of two closed-loop controllers. The first controller uses the cable tension and poses MP as reference signals. The second controller is an AC servo driver with a PID position controller; it controls the AC servo motor with an encoder signal feedback. The robot will stop at 11 node points. while measurement and error calculations have done. The experiment results are presented in Table 3, and equation (46) was used to calculate the errors.(46)ExiEyiEziEαiEβiEγiT=xDiyDizDiαDiβDiγDiT−xAiyAizAiαAiβAiγAiT.Table 3
Experiment result of our CDPR with 11 node points.
PoseDesired positions (mm)Actual positions (mm)Errors (mm)(xDi, yDi, zDi, αDi, βDi, γDi)(xAi, yAi, zAi, αAi, βAi, γAi)(Exi, Eyi, Ezi, Eαi, Eβi, Eγi)P1(4, 4, 404, 2.3, 0.5, 0.9)(−8, −9, 413, 8, 6, 7)(12, 13, −9, −5.7, −5.5, −6.1)P2(400, 400, 800, 2.3, 0.5, 0.9)(348, 390, 812, 7, 7, 9)(16, 10, 12, −4.7, −6.5, −8.1)P3(−200, −100, 1000, 17.2, 17.2, 22.9)(−208, −107, −1007, 12, 10, 18)(8, 7, −7, 5.2, 7.2, 4.9)P4(−1050, −250, 1055, 5.7, 22.9, 34.4)(−1042, −241, −1059, 9, 17, 30)(−8, −9, −2, −3.3, 5.9, 4.4)P5(−1155, −1055, 1152, 17.2, 28.7, 45.9)(−1144, −1065, −1145, 11, 23, 41)(−11, 10, 7, 6.2, 5.7, 4.9)P6(−555, −355, 1552, 34.4, 40.1, 40.1)(−552, −360, 1549, 33, 43, 43)(−3, 5, 3, 1.4, −2.9, −2.9)P7(45, 345, 1587, 40.1, 28.7, 28.7)(48, 342, 1586, 39, 30, 32)(−3, 3, 1, 1.1, −1.3, −3.3)P8(268, 866, 1332, 45.9, 17.2, 11.5)(273, 875, 1335, 48, 22, 14)(−5, −9, −3, −2.1, −4.8, −2.5)P9(673, 365, 707, 28.7, 11.5, 0)(662, 374, 719, 33, 16, 3)(11, −9, −12, −4.3, −4.5, −3.0)P10(895, 36, 872, 11.5, 5.7, 7.2)(882, 24, 882, 8, 10, 12)(13, 12, −10, 3.5, −4.3, 5.2)P11(−360, 40, 440, 0, 0, 0)(−375, 28, 451, 5, 4, 6)(15, 12, −11, −5.0, −4.0, −6.0)The converted signal of loadcells for measuring tensions and the signal of encoders for measuring the length of cables are shown in Figures19 and 20 when CDPRs are moving along the trajectory. The experiment was completed in about 10 minutes with 100 samples/min. However, the robot had to stop for a period to facilitate measuring the position of the moving platform. The robot will stop at 11 node points (dot-dash lines) for measuring the position of the robot. The robot moves at pose P1 = [4 4 404 2.3 0.5 0.9]T  and finishes at P11 = [−360 40 440 0 0 0]T. The cable tension diagram shows that there are fluctuations with larger amplitude at the time of moving a segment at the dot-dash lines, leading to a jerky phenomenon at the beginning. This is due to the overshoot of the PID controller.Figure 19
Loadcell signal response in the experiment.Figure 20
Encoder signal in the experiment for measuring the length of the cable.Figure21 shows the node points and moving orientation of the experiment with the size of the nodes representing their error values; the larger the size, the larger the error. The position error of the cable robot can originate from the following reasons: accuracy of mechanical structure, the large size of the robot, error of control, error of the actuator, error of cable distribution, cable heterogeneity, and especially the error of measurement methods and measuring equipment. Table 3 and Figure 21 also show that the error tends to increase when the MP is at a low position or the working head approaches the columns of the robot fixed frame. This is because the distribution of cable forces at low positions has a small value, and at corner positions, there is a large difference in cable tension, both of which cause low stability of the moving platform.Figure 21
Point-to-point paths with 11 node points in the experiment and mean error of positions.


## 7. Conclusions

Calculation of cable sag is necessary to improve the accuracy of CDPRs. Numerical methods have been applied to simulate the problem of finding cable sags, but the computation time is an issue that needs improvement. In this paper, the ANFIS model has been built based on the kinematics problem of a large-sized cable robot to predict cable sag. Parameters affecting cable sag such as kinematic structure, cable tension, and cable tension distribution method are also taken into account when generating the input data for the ANFISs. Eight ANFIS models based on two tension distribution algorithms are constructed to predict the sag of cables. ANFIS models were structured by first-order Sugeno with 81 rules and 3 generalized Gaussian membership functions. ANFIS models are applied to calculate simulations on the trained and test data sets, as well as data from basic moving trajectories. The statistical results consisting of the correlation coefficient, root-mean-square error, and scatter index show that the effectiveness of the approach is appropriate. The ANFIS model can be used to generate sag prediction for CDPRs with fast calculation time and high accuracy, thus making ANFIS an alternative to numerical methods. This calculation procedure can be applied to build ANFIS models that predict cable sags for different CDPR configurations. This procedure builds a model to predict this cable sag based on the coordinates of the MP, so the prediction model depends on the structure of the particular CDPRs as well as the method of calculating the corresponding cable tension distribution. This means that the ANFIS model that predicts cable sag is only applicable to a specific type of CDPRs and a specific tension distribution method. However, according to the sagging model in Section4, cable sag depends on cable length and cable tension in a local frame, so it is possible to build a common cable sag prediction model for all CDPRs by synchronizing the input data including CDPR configuration and tension distribution method, to obtain the input data for the cable sag calculation model which include the cable coordinates and the cable tension in the respective local axis system. This method has the advantage that it can be applied to any configuration. However, the computation time increases due to the need to solve the CDPR kinematics and cable tension distribution problems. In future works, the ANFIS models in Section 4 are going to be modified and applied to predict cable sag for different CDPRs configurations. Other parameters such as the stiffness matrix and the external wrench are also analyzed to improve the accuracy of CDPRs. The calculated results are going to be compared with existing methods to evaluate the effectiveness of these models.



---

*Source: 4776317-2021-11-29.xml*