# Topological Map-Based Autonomous Exploration in Large-Scale Scenes for Unmanned Vehicles
## 3 Methods
### Agent Extraction and Priority Assignment  
When the position of a global target \(s_{i}\) is explored by the robot, other global targets \(s_{j}\) connected to \(s_{i}\) will be searched on a topological map. Then, the directed line segment \(\overline{e_{k}}=(s_{i},s_{j})\) is constructed based on \(e_{k}=(s_{i},s_{j})\), indicating from \(s_{i}\) to \(s_{j}\). During implementation, we set up some satellite points for each global target to prevent the robot from missing them. The satellite points are evenly distributed at a set distance around the global target point.  
The Oriented Bounding Box (OBB) of each new frontier cluster is extracted by principal component analysis (PCA), which is used to extract agents. As shown in Figure 4a, if \(f^{k}\) is crossed by \(\overline{e_{k}}\), OBB of \(f^{k}\) must be crossed, and the following condition is met:  
\[\begin{array}{c}\big{(}(s_{j}-s_{i})\times\big{(}obb_{p}-s_{i}\big{)}\big{)} _{z}\big{(}(s_{j}-s_{i})\times\big{(}obb_{q}-s_{i}\big{)}\big{)}_{z}<0,\\ p,q\in\{0,1,2,3\},\ p\
eq q,\end{array} \tag{3}\]  
where \(obb\) are vertices of OBB. For the new frontier clusters that meet the condition, proceed with the following secondary evaluation to identify which global target the forthcoming agent will belong to:  
\[\begin{array}{c}\pi>\cos^{-1}\Big{(}(R-f^{k}_{ave})\cdot\Big{(}s_{j}-f^{k}_ {ave}\Big{)}\Big{)}\geq\chi,\\ 0<\cos^{-1}\Big{(}(R-f^{k}_{ave})\cdot\Big{(}s_{i}-f^{k}_{ave}\Big{)}\Big{)} \leq\psi,\end{array} \tag{4}\]  
where \(R\) is the position of the robot, and \(f^{k}_{ave}\) is the average position of \(f^{k}\), as shown in Figure 4b.  
If the above conditions are met with the newly extracted frontier cluster \(f^{k}\), the cell closest to \(f^{k}_{ave}\) in \(f^{k}\) will be defined as an agent \(a^{j}\) for global target \(s_{j}\). An agent of the global target is independent of the frontier cluster but is associated with it; if a frontier cluster is deleted or updated, the corresponding agent will be deleted.  
The movement cost between an agent \(a^{j}\) and other nodes of PCATSP are calculated as follows:  
\[\begin{array}{c}c\big{(}R,a^{j}\big{)}=C,\\ c\big{(}a^{j},R\big{)}=0,\\ c\big{(}a^{j},x\big{)}=c\big{(}x,a^{j}\big{)}=\frac{L\big{(}p_{a^{j},x}\big{)} }{v_{\max}},\ x=vp^{k}_{1},a^{j},\end{array} \tag{5}\]  
where \(C\) is a large value, ensuring that the robot prioritizes exploring scenes outside prior information.  
The priority \(pry_{a^{j}}\) of agent \(a^{j}\) is assigned as follows:  
\[pry_{a^{j}}=\left\{\begin{array}{c}u,\ \overline{e_{k}}=\overline{o_{u}}\\ size(O)+1,\ others\end{array}\right., \tag{6}\]  
which is determined by the sequential position of its \(\overline{e_{k}}\) in \(O\). \(\overline{o_{u}}\) is a directed line segment in \(O\), where \(u\) represents its ordinal position in \(O\). The higher the sequential position of \(\overline{e_{k}}\), the lower the priority of the agent extracted from \(\overline{e_{k}}\). If \(\overline{e_{k}}\) is not found in \(O\), the priority of  
Figure 4: Method of agent extraction. (**a**) Crossing determination. (**b**) Angle determination.  
the agent equals \(size(O)+1\), and these agents with the lowest priority will not be actively explored, as shown in Figure 3. Additionally, during exploration, not only will one agent be generated by a directed line segment, but all agents will point towards the same global target. In such cases, we define the agent that is further away from the global target to have a higher priority, ensuring the robot does not miss the scene during exploration.