# Efficient Reachable Workspace Division under Concurrent Task for Human-Robot Collaboration Systems
## Appendix A  
In this research, we simulated the human upper limb workspace, selected 200,000 reachable position points, and performed clustering to select the target position points in the 3D workspace, the detailed procedure is as follows. According to neuroscience research results [32], the robotic limb is anatomically similar to the natural hands. Firstly, we designed a robotic arm with 8 DOF to simulate the human workspace using the robotics toolbox of MATLAB, and the joint configuration is similar to the human natural upper limb [33], we increased 1 DOF on the rotation of the lumbar. The length of the robotic limb is also the same as the simulation human-size according to the international standard ISO-7250-1:2008 [34] and ISO/TR250-2:2010 [35]. The D-H parameter is shown in Table A1. The end position vector of the robotic arm was obtained by positive kinematics calculation, and the scatter plot of the end position of the workspace was obtained by selecting 200,000 random joint variables using the Monte Carlo method.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline \(i\) & \(a_{i}\) & \(\alpha_{i}\) & \(d_{i}\) & \(\theta_{i}\) \\ \hline
1 & 220 & \(-\pi/2\) & 468 & \(\theta_{1}\in[-\pi/6,\pi/6]\) \\
2 & 0 & \(\pi/2\) & 0 & \(\theta_{2}\in[-13\pi/18,0]\) \\
3 & 0 & \(\pi/2\) & 0 & \(\theta_{3}\in[-\pi/2,3\pi/4]\) \\
4 & 0 & \(\pi/2\) & 313 & \(\theta_{4}\in[-\pi/6,\pi/9]\) \\
5 & 0 & \(\pi/2\) & 0 & \(\theta_{5}\in[-\pi,-2\pi/9]\) \\
6 & 0 & \(\pi/2\) & 237 & \(\theta_{6}\in[-\pi/2,\pi/2]\) \\
7 & 0 & \(\pi/2\) & 0 & \(\theta_{7}\in[\pi/6,3\pi/4]\) \\
8 & 148 & 0 & 0 & \(\theta_{8}\in[-\pi/6,\pi/6]\) \\ \hline \hline \end{tabular}
\end{table}
Table A1: Standard D-H Parameter.  
Secondly, we clustered the points in the workspace uniformly using the K-mean and found the optimal number of clusters, the position of the points in each region is similar. The cluster center is the most representative point in each region, set as the target point in the experiment. K-means is the most commonly used clustering algorithm. For target points, each point has M dimensions, given the number of clusters as K and the initial cluster center as \(\{C_{1},C_{2},C_{3},\ldots,C_{n}\},1\leq K\leq N\). The Euclidean distance from each sample point to each cluster center is calculated as:  
\[dis\big{(}X_{i},C_{j}\big{)}=\sqrt{\sum_{t=1}^{m}\big{(}X_{it}-C_{it}\big{)}^{2}} \tag{1}\]  
in which \(X_{i}\) represent the \(ith\) point, \(1\leq i\leq N\), \(C_{j}\) represent the \(jth\) cluster center, \(1\leq j\leq K\) has \(t\) dimensions, assign each point to the cluster represented by the nearest cluster center. After the assignment, the centroids are recalculated based on the points within the clusters. The steps of assigning points and updating cluster centroids are repeated sequentially until the changes are small or the specified number of iterations is reached. After that, we calculate the sum of the squares errors (SSE) and Silhouette Coefficient S for each cluster number.  
\[SSE=\sum_{i=1}^{K}\sum_{p\in m_{j}}\big{|}p-C_{j}\big{|}^{2} \tag{2}\]  
\[S=\frac{b-a}{max(a,b)},s\in[-1,1] \tag{3}\]  
in which \(m_{j}\) represent the \(jth\) cluster and \(p\) is the sample point in \(m_{j}\). \(a\) represents the average distance between the sample point and all other points in the same cluster, and \(b\) represents the average distance between the sample point and all points in the next closest cluster. when S is close to 1, the clustering effect is better. When the number of clusters is over 84, \(SSE\leq\) 0.01 and \(S=1\). Therefore, the optimal number of clusters in this study is chosen as 84. Cluster procedure and the position of centroids points in the 3D workspace as shown in Figure 11. In the experiment, the positions of these centroids point as target points.