# Defining Feasible Joint and Geometric Workspaces Through Boundary Functions
## 4 Boundary Functions for Workspace Definition  
The feasible workspace of the planar robot is determined by analyzing its geometric and kinematic constraints. To accurately characterize this workspace, boundary functions are derived to define the permissible motion range while preventing self-collisions. These functions capture the spatial relationships imposed by the robot's structure, joint limits, and possible internal interferences. The formulation of these boundary conditions is guided by the theoretical framework established in Theorem 1, which provides the necessary conditions for detecting collisions within the kinematic chain. However, this theorem is not the sole tool employed in the analysis. Additional kinematic formulations, geometric considerations, and spatial transformations are integrated to comprehensively define the feasible workspace. The combination of these methods ensures a robust characterization of motion constraints, allowing for a detailed evaluation of collision-free configurations. To systematically define these constraints, four tables are presented, each illustrating the computation of boundary functions along with a diagram marking critical collision \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Frames Connected** & **Parameter** & **Symbol** & **Value (cm)** \\ \hline \(o_{0}\prec o_{1}\) & Offset \(z\) (Base to Joint 1) & \(z_{0,1}\) & 22.5 \\ \hline \(o_{1}\prec o_{2}\) & Offset \(z\) (Joint 1 to Joint 2) & \(z_{1,2}\) & 25.98 \\ \hline \(o_{1}\prec o_{2}\) & Offset \(x\) (Joint 1 to Joint 2) & \(x_{1,2}\) & 15 \\ \hline \(o_{2}\prec o_{3}\) & Offset \(x\) (Joint 2 to Joint 3) & \(x_{2,3}\) & 25 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Geometric offsets of planar robot. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Point** & **Position Vector** & **Matrix** & **Orientation** \\ \hline \(\mathbf{r}_{0,0}\) & \(\begin{bmatrix}0&0&0\\ 0&0&z_{0,1}\end{bmatrix}^{T}\) & \(R_{0,0}\) & \(I\) \\ \(\mathbf{r}_{0,1}\) & \(\begin{bmatrix}0&0&z_{0,1}\end{bmatrix}^{T}\) & \(R_{0,1}\) & \(R_{y}(q_{1})\) \\ \(\mathbf{r}_{1,2}\) & \(\begin{bmatrix}x_{1,2}&0&z_{1,2}\end{bmatrix}^{T}\) & \(R_{1,2}\) & \(R_{y}(q_{2})\) \\ \(\mathbf{r}_{2,3}\) & \(\begin{bmatrix}x_{2,3}&0&0\end{bmatrix}^{T}\) & \(R_{2,3}\) & \(I\) \\ \(\mathbf{r}_{0,2}\) & \(\mathbf{r}_{0,1}+R_{0,1}\mathbf{r}_{1,2}\) & \(R_{0,2}\) & \(R_{0,1}R_{1,2}\) \\ \(\mathbf{r}_{0,3}\) & \(\mathbf{r}_{0,2}+R_{0,2}\mathbf{r}_{2,3}\) & \(R_{0,3}\) & \(R_{0,2}R_{2,3}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Direct kinematics equations in recursive notation. Figure 3: Representation of the kinematic chain for MinervaBotV2. points in the planar robot. These functions correspond to what are referred to as point boundary functions, where each function \(\beta_{i,j}\) represents a specific constraint associated with a given collision point. In this type of boundary function, all components indexed by \(j\) must be satisfied simultaneously to confirm the occurrence of a collision. This simultaneous fulfillment is necessary because each \(\beta_{i,j}\) corresponds to a different coordinate component, meaning that the collision is only valid when the spatial conditions for all coordinates hold true at the same time. By enforcing these constraints, it is possible to determine precise conditions under which the manipulator self-intersects at distinct locations in its configuration space. In addition to these point boundary functions, a final table is included to introduce a different category of constraints known as geometric boundary functions. Unlike point boundary functions, these functions do not necessarily require all components to be satisfied simultaneously, as they do not define collisions at a discrete location but rather establish broader geometric constraints. Geometric boundary functions define spatial limits that the manipulator must respect, preventing it from exceeding predefined regions in its workspace.