## 4 Target Cooperative Capture
### Improved Neural Self-Organizing Map (INSOM) Algorithm  
SOM is an unsupervised clustering algorithm that uses the target as the input layer of the neural network and the current position of the robot as the output layer (Figure 8), and determines the winner of the next iteration position by competing for distance attributes [10], while the weight update rules for the winning neuron and its neighbors as they move towards the input neuron (the target) are defined as:  
\[R_{j}(k+1)=\left\{ \begin{array}{ll}T_{l},&D_{jl}<D_{min}\\ R_{j}(k)+\alpha\cdot f(d_{m},G)\cdot(T_{l}-R_{j}(k)),&\text{others}\end{array} \right. \tag{14}\]  
where \(R_{j}=\left(w_{jk},w_{jp},w_{jz}\right)\) denotes the position of the \(j\)-th AUV, \(T_{l}=(x_{l},y_{l},z_{l})\) denotes the position of the \(i\)-th target, \(\alpha\) (\(0<\alpha\leq 1\)) is the learning rate, \(D_{min}\) denotes the minimum decision distance to reach the target, and the neighborhood function \(f\) determines the degree of attraction of the winner to the neighborhood neurons, given by Equation (15):  
\[f(d_{m},G)=\left\{\begin{array}{ll}e^{-d_{m}^{2}/G^{2}(t)},&d_{m}\leq\lambda \\ 0,&d_{m}>\lambda\  
cases where the steering exceeds \(90^{\circ}\) (e.g., in Figure 9, if the robot drives from the green node to the red node, the next iteration point should not return to the plane where the green node is located).  
To solve the above problems, this paper proposes an improved neural self-organizing map (INSOM) algorithm, which takes the target as the global origin of activity and the obstacle as the local origin. The activity value of neurons decreases layer by layer, with the origin point as the center, and the robot only needs to calculate and compare the activity value magnitude of neighboring neurons to update the path points to achieve path-planning. The algorithm flow is as follows:  
1. Denote \(P_{tm}\in\overset{\circ}{U}(P_{t},r)\) as the neighboring node \(\left(r\leq\sqrt{3}\right)\) of the current node \(P_{t}(x_{t},y_{t},z_{t})\), and \(\cos\left(\overset{\rightarrow}{A},\overset{\rightarrow}{B}\right)\) denotes the angle between the vector \(\overset{\rightarrow}{A}\) and \(\overset{\rightarrow}{B}\). Then, the neighboring nodes should satisfy the steering constraint: \[\cos\left\langle\overrightarrow{P_{t-1}P_{t}},\overrightarrow{P_{t}P_{tm}} \right\rangle\leq\frac{\pi}{2}\] (18)
2. A simplified activity value calculation method (Equation (19)) is proposed, where the activity value of a node does not depend on the activity of neighboring nodes, thus reducing the waste of resources caused by the cumulative calculation in Equation (16). \[X_{tm}(i)=E_{t}-\gamma\cdot D_{T-i}+g(D_{ob-i})\cdot E_{ob}\] (19) where \(X_{tm}(i)\) denotes the activity of the \(i\)-th neighbor node of the current node, \(E_{t}\) and \(E_{ob}\) are the activities of the target and obstacle nodes, respectively, the target point gravitational factor \(\gamma\) satisfies \(0<\gamma<1\), \(D_{T-i}\) denotes the distance from the \(i\)-th neighbor node to the target point, and \(g(D_{ob-i})\) is the obstacle influence activation function given by Equation (20): \[g(D_{ob-i})\ =\ \left\{ \begin{array}{ll}\beta/D_{ob-i}^{2}&D_{ob-i}\leq R_{ ob}\\ 0,&others\end{array} \right.\] (20) where \(\beta\) is the obstacle local repulsion factor, \(D_{ob-i}\) denotes the distance from the \(i\)-th neighborhood node to the obstacle, and \(R_{ob}\) is the influence range of the obstacle. 3. The next virtual iteration point \(Q_{t+1}\) of the robot can be calculated by Equation (21): \[Q_{t+1}=argmax\bigg{\{}X_{P_{tm}},P_{tm}\in\overset{\circ}{U}(P_{t},r)\cap \cos\left\langle\overrightarrow{P_{t-1}P_{t}},\overrightarrow{P_{t}P_{tm}} \right\rangle\leq\frac{\pi}{2}\bigg{\}}\] (21)  
Figure 9: Twenty-six neighborhood points of AUV. 4. In conclusion, the next path point \(P_{t+1}\) of AUV can be calculated by Equation (22): \[P_{t+1}=\left\{ \begin{array}{cc}T,&D_{T-P_{t}}\leq D_{min}\\ P_{t}+\alpha\cdot f\cdot(Q_{t+1}-P_{t}),D_{T-P_{t}}>D_{min}\end{array}