# Task-Oriented Evaluation of the Feasible Kinematic Directional Capabilities for Robot Machining
## 2 Materials and Methods
### Translational and Rotational Manipulability  
Due to the physical inconsistency of the twist space manipulability ellipsoids and polytopes, the capabilities of translational and angular velocity should be handled individually. For this purpose, [PERSON] [36] decomposed the task space into translational and rotational subspaces. He defined the translational (rotational) manipulability ellipsoid in the weak sense as a set of all translational velocities that are realizable under the constraint \(\left\|\hat{\theta}\right\|_{2}\leq 1\). The translational (rotational) manipulability ellipsoid in the strong sense has an additional constraint, which requires the end-effector orientation to stay constant (angular velocity is zero, \(\omega=0\)). Similarly to the [PERSON] approach, in the case of a manipulability ellipsoid, the translational and rotational velocity capabilities were also handled separately for the polytope approach [28]. Since the polytopes provide a more accurate estimation of the maximum achievable end-effector velocities compared to the ellipsoids, only decomposed manipulability polytopes will be considered in the following. In this case, the weak sense polytope may result in two different types, i.e., with the minimum \(L_{\infty}\) norm and with the least \(L_{2}\) norm solution of joint velocities, respectively. The translational (rotational) velocity polytope \(P_{\infty}^{T}(P_{\infty}^{R})\) in the \(L_{\infty}\) weak sense is defined as the set of all linear (angular) velocities that are realizable under the constraints (8) with the minimum infinity norm solution, if the joint velocity polytope is transformed to the task space via \(J_{T}\) (\(J_{R}\)):  
\[P_{\infty}^{T}=\left\{v\in\mathbb{R}^{3}\Big{|}\;v=J_{T}\hat{ \theta},\;\left\|\hat{\theta}\right\|_{\infty}\leq 1\right\} \tag{13}\] \[P_{\infty}^{R}=\left\{\omega\in\mathbb{R}^{3}\Big{|}\;\omega=J_ {R}\hat{\theta},\;\left\|\hat{\theta}\right\|_{\infty}\leq 1\right\} \tag{14}\]  
where the Jacobian matrix is partitioned into translational and rotational (\(3 xn\)) submatrices:  
\[J= \begin{bmatrix}J_{T}\\ J_{R}\end{bmatrix}  \tag{15}\]  
Note that mapping \(v=J_{T}\hat{\theta}\) in (13) (\(\omega=J_{R}\hat{\theta}\) in (14)) describes the under-determined linear system. The translational polytope \(P_{\infty}^{T}\) is illustrated in Figure 1.  
In Figure 1b,c, the example of a translational velocity polytope \(P_{\infty}^{T}\) in comparison to the twist polytope \(P^{\it twist}\) is presented in two different views in the task space. From Figure 1c, it can easily be seen that the translational velocity polytope \(P_{\infty}^{T}\) fits to the orthogonal projection of the twist manipulability polytope \(P^{\it twist}\) in the translational subspace. When an \(n\)-dimensional polytope is mapped to a space of lower dimension (\(k<n\)), some of the vertices of the original polytope are mapped into an internal region of the \(k\)-dimensional polytope [47]. For this kind of redundancy, part of the joint velocities may produce end-effector velocities with non-zero rotation (translation) components. The maximum feasible linear end-effector velocity (which could be denoted by \(v_{\infty}\)) in a certain translational direction \(\hat{u}_{T}\in\mathbb{R}^{3}\), or the maximum feasible angular end-effector velocity (which could be denoted by \(\omega_{\infty}\)) in the specific rotational direction \(\hat{u}_{R}\in\mathbb{R}^{3}\), can be determined by geometry-based methods [43; 45; 48] as the vector length from the origin of the translational (rotational) velocity polytope \(P_{\infty}^{T}\) (\(P_{\infty}^{R}\)) to the intersection with its boundary in the specified direction. One may select one of the subspace manipulability polytopes, depending on the task at hand. If the main concern of the task is maximal linear velocity, then the vector length of the translational velocity polytope will be considered, and vice versa.