## 4 Dense Point Cloud Map Construction Based on Point-Line Features
### Octree Map Construction and Update  
This work presents an efficient approach for constructing octree maps, which are typically utilized in navigation systems, demonstrating superior compression performance. Figure 8a illustrates a giant cube being systematically and consistently partitioned into eight smaller cubes until the minimal divisible unit is attained, with white areas denoting vacant space and black portions indicating occupied sections that cannot be further subdivided. Figure 8b illustrates the octree structure, wherein each node is represented as a voxel and vacant nodes are recursively partitioned into eight child nodes. Figure 6: Pose optimization principle: (**a**) BA graph optimization model; (**b**) pose graph. Figure 7: Dense point cloud loop closure flowchart. Dense point cloud maps represent three-dimensional scenes, encompassing substantial quantities of dense point cloud data that effectively recreate the existing environment and convey item information. Nevertheless, dense point cloud maps generally incur significant storage overhead, rendering them suboptimal for path planning in coal mine robotics. This work presents an octree map creation method that preserves the benefits of dense point cloud maps while minimizing storage requirements and enabling real-time updates. The fundamental premise of octrees involves the recursive partitioning of a cubic space into eight equal sub-cubes, with each sub-cube then divided similarly until achieving the requisite precision or fulfilling specific criteria. This approach can be perceived as a progressively enlarging octree, wherein each child node extends solely when required, circumventing superfluous expansion and conserving storage capacity. Although octree maps may accurately represent intricate details in complex mining environments, their storage demands in path planning can be considerable and may impact computational efficiency. Consequently, to enhance the operational efficiency of path planning algorithms, this study converts the octree map into a two-dimensional grid map. The grid map's resolution is intricately linked to the precision of octree nodes, while the dimensionality reduction procedure streamlines the data structure and facilitates a more efficient computational environment. This approach allows octree maps to decrease storage needs while preserving spatial features substantially. Because of the interconnected distributions of objects in real environments and the prevalence of continuous vacant spaces, most octree nodes do not require expansion to the leaf level, significantly minimizing the storage overhead. This optimization strategy allows octree maps to sustain effective environmental modeling while enhancing storage and computing efficiency, rendering them appropriate for path planning in intricate situations. Each octree node has data indicating its occupancy; from the perspective of a point cloud, 0 signifies unoccupied space, whereas 1 denotes occupied space. The noise may result in erroneous occupancy data within nodes, causing fluctuations between unoccupied and occupied states and perhaps leading to unknown states. This work proposes utilizing log-odds values to indicate the occupancy status of a node. Let \(y\in R\) represent the log-odds value and \(x\) denote a probability within the interval (0, 1); the _logit_ transformation defines the relationship between them. \[y=\log it(x)=\log\biggl{(}\frac{x}{1-x}\biggr{)} \tag{15}\]  
When a node is consistently noted as occupied, the \(y\) value ascends; when noted as unoccupied, the \(y\) value descends. Mathematically expressed, let \(n\) denote a node and  
Figure 8: Octree schematic diagram: (**a**) octree space partition diagram; (**b**) octree node relationship diagram. signify the observation data; hence, the log-odds value, \(L(n|z_{1:t})\), of a node from the initial moment until time \(t\) and at time \(t+I\), is the following:  
\[L(n|z_{1:t+1}) =L(n|z_{1:t-1})+L(n|z_{t})\] \[L(n|z_{1:t+1}) =\left\{ \begin{array}{c}\epsilon_{occupy}\\ 0\end{array}