# Real-Time Tension Distribution Design for Cable-Driven Parallel Robot
## 2 Problem Formulation  
### Robot Kinematics Analysis  
The general kinematics model of cable-driven parallel robots is shown in Figure 1.  
A cable-driven robot consists of n cables and one end-effector. Each cable is driven by one motor. To explain how the robot moves, we can use the following two coordinate systems: first, an base coordinate system \(\mathbb{C}_{o}=\left\{O_{o},x_{o},y_{o},z_{o}\right\}\) fixed at one point at the workspace, and second, an end-effector coordinate system \(\mathbb{C}_{p}=\left\{O_{p},x_{p},y_{p},z_{p}\right\}\) attached at one point of the end-effector.  
Moreover, in Figure 1, the position of the gravity center represented in \(\mathbb{C}_{o}\) and \(\mathbb{C}_{p}\) is denoted as \(p_{G}\) and \({}^{p}p_{G}\), respectively; \(b_{G}\) denotes the vector from the selected origin of \(\mathbb{C}_{p}\) with the unknown gravity center \(p_{G}\) in \(\mathbb{C}_{o}\), and \({}^{p}b_{G}\) represents the same vector in \(\mathbb{C}_{p}\). The location of the \(i\)th motor in the original coordinate system is denoted as \(A_{i}\), with \(i=1\),..., \(n\) in \(\mathbb{C}_{o}\), and the cable anchor point at the end-effector is represented as \(B_{i}\) and \({}^{p}B_{i}\) in \(\mathbb{C}_{o}\) and \(\mathbb{C}_{p}\), respectively. Here, \(b_{po}\) represents the vector from the origin of \(\mathbb{C}_{o}\) to the origin of \(\mathbb{C}_{p}\) in \(\mathbb{C}_{o}\), and the rotation relation between the two coordinate systems is formulated by the rotation matrix \(R\) shown below, which is associated with the three Euler angles \(\phi,\theta,\psi\), respectively representing the roll, pitch, and yaw angles [15].  
\[R=\begin{bmatrix}c_{\psi}c_{\theta}&c_{\psi}s_{\theta}s_{\phi}-s_{\psi}c_{\phi} &c_{\psi}s_{\theta}c_{\phi}+s_{\psi}s_{\phi}\\ s_{\psi}c_{\theta}&s_{\psi}s_{\theta}s_{\phi}+c_{\psi}c_{\phi}&s_{\psi}s_{\phi} c_{\phi}-c_{\psi}s_{\phi}\\ s_{\theta}&c_{\theta}s_{\phi}&c_{\theta}c_{\phi}\end{bmatrix} \tag{1}\]  
Figure 1: Model of cable-driven parallel robot.  
Thus, the relationship between the time variation of cable length and the motion of the gravity center of the end-effector can be shown as follows:  
\[l=\int[{p_{G}}^{T}\quad\Omega^{T}]^{T} \tag{2}\]  
where \(l:=\left[L_{1},\dots,L_{m}\right]^{T}\in\mathbb{R}^{m\times 6}\); here, \(l\) represents the vector of the cable length and \(L_{i}\) represents the cable length of the \(i\)-th cable. Here, \(\bar{J}\) is defined as [15]:  
\[\bar{J}:=\begin{bmatrix}{z_{1}}&\dots&{\zeta_{m}}\end{bmatrix}^{T} \tag{3}\]  
where \(\zeta_{i}:=\begin{bmatrix}u_{i}^{T}&,(b_{Gi}\times u_{i})^{T}\end{bmatrix}^{T} \in\mathbb{R}^{6\times 1}\) for \(i=1,\dots,n\), with \(b_{Gi}:=B_{i}-p_{G}\), and \(u_{i}:=l_{i}/L_{i}=(B_{i}-A_{i})/L_{i}\) represents the normalized cable direction; furthermore, \(l_{i}=L_{i}u_{i}\) represents the cable vector. Note that \(b_{Gi}\) can be rewritten as \(b_{Gi}=R(^{p}b_{gi}-^{p}b_{oE})\), where \({}^{p}b_{oE}\) is the position of the gravity center. The angular velocities can be related to the Euler angles as follows:  
\[\Omega:=\Theta\omega=\Theta\big{[}\dot{\phi}\quad\dot{\theta}\quad\dot{\psi} \big{]}^{T} \tag{4}\]  
with \(\omega=[\dot{\phi},\dot{\theta},\dot{\psi}]^{T}\) and the matrix \(\Theta\in\mathbb{R}^{3\times 3}\) is calculated as follows:  
\[\Theta:=\begin{bmatrix}1&0&-s_{\theta}\\ 0&c_{\phi}&c_{\theta}s_{\phi}\\ 0&-s_{\phi}&c_{\theta}c_{\phi}\end{bmatrix} \tag{5}\]