# Kinematic and Workspace Analysis of RRU-3 RSS: A Novel 2T2R Parallel Manipulator
## 4 Workspace Analysis
### Obtaining the Useful WS
#### 4.2.3. Collisions between KCs (WS\({}_{\text{KCs}}\))  
When calculating the WS\({}_{\text{useful}}\), we also need to consider the possible collision between the KCs of the PM. This type of collision depends on the geometry of the links of each KC. In fact, the identification of WS regions free of KCs collisions (WS\({}_{\text{KCs}}\)) is essential during the iterative design stage and for the selection of the initial position of the mechanism. In this paper, all the links are considered as cylindrical bars of constant thickness, and the implemented code in MATLAB verifies each discrete pose of the translational and rotational WS, whether a collision between KCs happens or not. To do so, the first step is to check the relative position of the two links whose collision is to be verified. Let us consider the links \(B_{i}A_{i}\) and \(B_{j}A_{j}\), whose directions are given by \(s_{i}\) and \(s_{j}\) unit vectors, respectively. We can obtain the minimum distance between them, taking into account whether they are parallel or not (e.g., they skew each other or intersect):  
* **The links are parallel**: this happens if the cross product of their unit vectors is zero. For this case, the minimum distance (\(d_{min}\)) can be obtained with Equation (24). \[d_{min}=\frac{\left|s_{i}\times B_{i}A_{j}\right|}{s_{i}}\] (24) If \(d_{min}\) is bigger than the sum of the radii of the two links (\(r_{i},\;\;r_{j}\)), there is no collision. However, if it is smaller, a collision takes place if and only if Equation (25) is fulfilled. This equation checks whether the collision point is between the two extremes (\(A,B\)) of the links. In Figure 12, three different parallelism cases are depicted. According to Equation (25), in  
Figure 11: \(|J_{x}|\) values inside the rotational WS corresponding to different working modes, when \(x=0\;m\) and \(z=0.3\;m\) (\(\varphi\) and \(\theta\) range is \(\pm\) 180\({}^{\circ}\)). Red curves represent the DKP singularity locus. cases (a-b) a collision may take place if \(d_{min}<r_{i}+r_{j}\). However, for case (c), the collision will not take place independently of the \(d_{min}\) value. \[sign\Big{(}B_{i}A_{j}^{T}\cdot\mathbf{s}_{i}\Big{)}\
eq\ sign\Big{(}A_{i}B_{j}^ {T}\cdot\mathbf{s}_{i}\Big{)} \tag{25}\]  
**The links are not parallel**: Equation (26) provides the \(d_{min}\) between them. Analogous to the parallelism case, it must be verified whether \(d_{min}\) is smaller or bigger than the sum of the radii and, in case it is smaller, whether the collision point is between \(A\) and \(B\). \[d_{min}=\frac{\mathbf{s}_{i}\cdot\big{(}\mathbf{s}_{j}\times A_{i}B_{j}\big{)} }{|\mathbf{s}_{i}\times\mathbf{s}_{j}|} \tag{26}\]  
In general, \(d_{min}\) between two lines coincides with the module of a vector (\(\mathbf{c}\)) that is perpendicular to both of them (see Figure 13a). Nonetheless, since we are working with segments and not lines, it must be checked that the two extremes \((\mathbf{c}_{i},\mathbf{c}_{j})\) of this vector are inside \(B_{i}A_{i}\) and \(B_{j}A_{j}\). This condition will be satisfied whenever the parameters \(\lambda\) and \(\gamma\), which appear in Equations (27) and (28), take values between \([0,\ L_{i}]\) and \([0,\ L_{j}]\), respectively. \[\mathbf{c}_{i} =\mathbf{B}_{i}+\lambda\cdot\mathbf{s}_{i} \tag{27}\] \[\mathbf{c}_{j} =\mathbf{B}_{j}+\gamma\cdot\mathbf{s}_{j}\] (28) \[\mathbf{c} =\big{(}\mathbf{c}_{j}-\mathbf{c}_{i}\big{)}=\big{(}\mathbf{B}_{j}-\mathbf{B}_{i} \big{)}+\big{(}\gamma\cdot\mathbf{s}_{j}-\lambda\cdot\mathbf{s}_{i}\big{)} \tag{29}\]  
The value of the parameters \(\lambda\) and \(\gamma\) can be obtained by setting up the condition of perpendicularity between \(\mathbf{c}\) and the unit vectors \(\mathbf{s}_{i}\) and \(\mathbf{s}_{j}\), which leads to the expressions shown in Equations (30) and (31), where \(n=\mathbf{s}_{i}\textsuperscript{{}^{T}}\cdot\mathbf{s}_{j}\).