## 4 The Improved Self-Collision Detection Technology
### Improve the Judgment of Self-Collision Detection  
At present, the main judgment principles are mainly determined directly by the surface points of different parts or by the relationship between the centers and the radius of different spherical approximations. In the following, we describe in detail the principles of various types of collision determination. After completing the positioning of each component in the three-dimensional space, the surface of approximation can be used to describe the structure shape of each component in the mobile manipulator robot. Therefore, self-collision detection between different components can be directly judged by the nearest point on the surface of different spheres. Particular attention should be paid to determining the surface points of each spherical object and solving the minimum distance between the multiple points on various surfaces. Following the transformation of the approximate object to the position of the corroding component, the shortest distance between non-adjacent spherical objects can be obtained. After acquiring all distances of the surfaces' points, the minimum distance can be regarded as the basic judgment of collision detection. In theory, the distance between the surfaces' points maybe not be smaller than zero in all states. If the minimum distance between the surface points of two objects is equal to zero, the corresponding components are colliding. Otherwise, it is assumed that no collision occurs. This can be described as follows:  
\[\left\{ \begin{array}{ll}collision(i,j)=1,&min(dis(i,j))=0;\\ collision(i,j)=0,&min(dis(i,j))>0;\\ dis(i,j)=\sqrt{(p_{xi}-p_{xj})^{2}+(p_{yi}-p_{yi})^{2}+(p_{zi}-p_{zj})^{2}},& (1\leq i\
eq j\leq 11);\end{array} \right. \tag{18}\]  
where \(collision()\) expresses the collision detection; \(min()\) is the shortest distance of the surface points between part \(i\) and part \(j\); \(collision=1\) means occurrence of collision between two objects; \(collision=0\) means that the objects do not collide; \(dis()\) indicates the distance between each surface point of different spherical objects; \([p_{xi},p_{yi},p_{zi}]\) indicates the position of the discredited surface point of one approximation; and \([p_{xj},p_{yi},p_{zj}]\) indicates the position of the discredited surface point of another approximation. When these components of the mobile manipulator are converted into multiple spherical objects, the shortest distance between the spheres' center and the sum of the corresponding radius of different spherical objects can also be used as the criterion of self-collision detection. When the shortest distance between the two approximations is greater than the sum of the radius of the sphere, the two components of the mobile manipulator robot will not collide. Otherwise, there will be a collision between the two components. The corresponding collision determination formula can be expressed as follows:  
\[\left\{ \begin{array}{ll}collision(i,j)=1,&min(dis(S_{i},B_{j}))\leq R_{i}+R_ {j};\\ collision(i,j)=0,&min(dis(S_{i},B_{j}))>R_{i}+R_{j};\\ dis(S_{i},B_{j})=\parallel S_{i}-B_{j}\parallel,&(1\leq i\
eq j\leq 11); \end{array} \right. \tag{19}\]  
where \(min()\) represents the shortest distance between two components, \(R_{i}\) represents the radius of one spherical object, \(R_{j}\) represents the radius of another spherical object that is not adjacent to another spherical object, \(dis(S_{i},B_{j})\) indicates the distance between the center of different spherical approximations, \(S_{i}\) indicates the position of the center of the sphere objects for the approximation of one component, and \(B_{j}\) indicates the position of the center of the sphere objects for the approximation of another component. However, the shortest distance of the surfaces' points of the two spherical objects may not equal zero in the actual self-collision detection. Moreover, not all components in the mobile manipulator robot will collide with other components.