## 2 Developed Methodology
### Global Pose Input  
The component responsible for the input of the initial pose is defined by the operator's input. In fact, obtaining the initial pose involves manual input from the user, offering a reliable and lightweight alternative to, for instance, deep learning approaches. At this point, TTool receives either the rotation in degrees and the rotation axis or the translation distance in pixels. It computes the transformation matrix and applies it to the current 3D model managed by the model manager (see Section 2.1). By allowing a global pose input via human-computer interaction, the algorithm can benefit from the human capacity while approximating a rough pose estimation. The proposed global pose manipulator allows for the user to adjust the translation as well as the rotation on three axes (see Figure 9). The translation is performed on the world axis, whereas the rotation is performed on the local axis. We define the origin of the local axis as the mass center of the object, which aligns with its orientation. Each axis represents a specific direction in the object's local coordinate system. We consider this presented approach to be more user-friendly, intuitive, and robust for the user to adjust the initial pose rather than deploying an AI-based one-shot approach. The following paragraph presents the global input mechanism in detail. Each 3D object is characterized by its pose matrix \(T_{cm}\). This matrix represents the transformation of the object from the origin with translation \(t\) and rotation \(R\). Additionally,  
Figure 9: TTool can detect the 6 DoF pose of a tool head via a monocular sensor installed on a power tool. To achieve this, the object must initially be positioned within the camera’s frame and subsequently undergo refinement by the user. the center of the model might be off the origin. That is, the center of each given model might not be exactly at the origin of the world axis. To address this, the normalization matrix \(T_{n}\) is introduced. The last one translates the local model to the origin. On the one hand, the translation to the world axis can be expressed as the translation matrix applied to the model's pose \(T_{cm}\). For rotation, on the other hand, local-to-world transformation is required. Given rotation axis \(A_{local}^{\vec{\ \ \ }}\), the local axis rotation is performed by transforming the local axis into world coordinate system \(A_{global}^{\vec{\ \ \ }}\). Further, a rotation operation around \(A_{global}^{\vec{\ \ \ }}\) is applied next. For instance, rotating the model around the local z-axis produces \(A_{local}^{\vec{\ \ \ }}= \begin{bmatrix}0&0&1\end{bmatrix} \). To perform these operations, a local axis transformation is first required. \[A_{global}^{\vec{\ \ \ }}=T_{cm}\cdot T_{n}\cdot \begin{bmatrix}A_{local}^{\vec{ \ \ }}|0\end{bmatrix}  \tag{1}\]  
The local axis, represented by vector \(A_{local}^{\vec{\ \ \ }}\), is transformed from the object's local to world coordinate system. This transformation takes into account the current pose of the object (\(T_{cm}\)) and any normalization adjustments (\(T_{n}\)). Note that the vector is assumed to always pass through the world's origin and not yet be exactly at the center of the model. Next, the rotation is performed by translating the model to the origin of the world coordinate and rotating it around \(A_{global}^{\vec{\ \ }}\). Finally, the model is translated back to its original position. We let \(C\) be the translation matrix from the origin to the center of the model in the world coordinate system and \(R\) be the rotational matrix around \(A_{global}^{\vec{\ \ \ }}\). Rotated pose \(T_{cm}^{\prime}\) is as follows:  
\[T_{cm}^{\prime}=C\cdot R\cdot[-C]\cdot T_{cm} \tag{2}\]  
To resume, the local axis is first transformed into the global coordinate system, and rotation is applied around the same transformed axis. This approach allows for precise control over the rotation of the object relative to its inherent orientation and structure. The transformation system's callbacks are accessible via TTool's API.