Map generation method, electronic device, and computer-readable storage medium

CN122657417BActive Publication Date: 2026-10-20INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202611142282.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-07-30
Publication Date
2026-10-20
Estimated Expiration
2046-07-30

AI Technical Summary

Technical Problem

[0003]本申请提供了一种地图生成方法、电子设备及计算机可读存储介质,以解决相关技术中难以兼顾环境表达的准确性与计算资源的轻量化的技术问题

Benefits of technology

若候选拓扑节点为第二类型节点,获取第二类型节点之间的空间位置邻近度,基于空间位置邻近度将第二类型节点聚类为至少一个聚类簇,从聚类簇中筛选第二目标节点;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122657417B_ABST
    Figure CN122657417B_ABST
Patent Text Reader

Abstract

The application discloses a kind of map generation method, electronic equipment and computer readable storage medium, it is related to map generation technical field, including the working environment of mobile platform is decomposed into multiple space blocks, based on pose data selection to be handled space block;According to the distance of each to-be-processed space block center to the nearest obstacle, construct space geometry, determine candidate topological node based on space geometry size;If candidate topological node is the first type node, clustering and screening first target node are carried out based on normal vector similarity;If it is the second type node, clustering and screening second target node are carried out based on spatial position proximity;According to first target node and / or second target node, determine target topological node, generate topological map.Solve the technical problem that accuracy and light weight of computing resources of environment expression are difficult to consider in related technology, can improve the accuracy of environment expression while significantly reducing the consumption of computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of map generation technology, and in particular to a map generation method, electronic device, and computer-readable storage medium. Background Technology

[0002] With the widespread application of autonomous mobile platforms in scenarios such as smart logistics, security patrol, and multi-level parking management, map building technology faces the need to expand from two-dimensional planes to complex three-dimensional environments. In scenarios such as multi-level buildings, ramps, and spiral ramps, mobile platforms place higher demands on the dimensionality, accuracy, and computational efficiency of maps. Related map building methods are mainly divided into two categories: one is based on dense quantity representation, such as occupancy grid maps, octree maps, and Euclidean symbolic distance fields. Their storage and computational costs increase exponentially with the scale of the environment, making it difficult to meet real-time requirements. The other is based on topological representation, abstracting the environment into a graph structure composed of nodes and edges, but it lacks consideration for the movement constraints of mobile platforms and is insufficiently adaptable to complex terrains such as multi-level buildings and non-closed slopes. Summary of the Invention

[0003] This application provides a map generation method, an electronic device, and a computer-readable storage medium to solve the technical problem in related technologies that it is difficult to balance the accuracy of environmental representation with the lightweight nature of computing resources.

[0004] This application provides a map generation method, which includes: The working environment of the mobile platform is decomposed into multiple spatial blocks, and the spatial block that matches the pose data of the mobile platform is selected as the spatial block to be processed. Based on the distance from the center of each spatial block to its nearest obstacle, a spatial geometry is constructed, and candidate topological nodes are determined based on the comparison between the size of the spatial geometry and a preset threshold. The node type of the candidate topology node is determined based on the pose data; If the candidate topological node is a first type node, obtain the normal vector of the first type node, cluster the first type nodes into at least one community based on the similarity of the normal vectors between the first type nodes, and select the first target node from the community; If the candidate topology node is a second type node, obtain the spatial proximity between the second type nodes, cluster the second type nodes into at least one cluster based on the spatial proximity, and select the second target node from the clusters; Determine the target topology nodes based on the first target node and / or the second target node, establish topology edges between the target topology nodes, and generate a topology map.

[0005] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of the map generation method described in the following embodiments.

[0006] The working environment of the mobile platform is decomposed into multiple spatial blocks, and the spatial block that matches the pose data of the mobile platform is selected as the spatial block to be processed. Based on the distance from the center of each spatial block to its nearest obstacle, a spatial geometry is constructed, and candidate topological nodes are determined based on the comparison between the size of the spatial geometry and a preset threshold. The node type of the candidate topology node is determined based on the pose data; If the candidate topological node is a first type node, obtain the normal vector of the first type node, cluster the first type nodes into at least one community based on the similarity of the normal vectors between the first type nodes, and select the first target node from the community; If the candidate topology node is a second type node, obtain the spatial proximity between the second type nodes, cluster the second type nodes into at least one cluster based on the spatial proximity, and select the second target node from the clusters; Determine the target topology nodes based on the first target node and / or the second target node, establish topology edges between the target topology nodes, and generate a topology map.

[0007] This application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the map generation method in the following embodiments.

[0008] The working environment of the mobile platform is decomposed into multiple spatial blocks, and the spatial block that matches the pose data of the mobile platform is selected as the spatial block to be processed. Based on the distance from the center of each spatial block to its nearest obstacle, a spatial geometry is constructed, and candidate topological nodes are determined based on the comparison between the size of the spatial geometry and a preset threshold. The node type of the candidate topology node is determined based on the pose data; If the candidate topological node is a first type node, obtain the normal vector of the first type node, cluster the first type nodes into at least one community based on the similarity of the normal vectors between the first type nodes, and select the first target node from the community; If the candidate topology node is a second type node, obtain the spatial proximity between the second type nodes, cluster the second type nodes into at least one cluster based on the spatial proximity, and select the second target node from the clusters; Determine the target topology nodes based on the first target node and / or the second target node, establish topology edges between the target topology nodes, and generate a topology map.

[0009] Unlike related technologies, this application significantly reduces redundant computation by decomposing the mobile platform's working environment into spatial blocks and combining the platform's pose for local area filtering, laying the foundation for real-time online mapping. It constructs spatial geometry based on the distance from the center of each spatial block to its nearest obstacle and generates candidate topological nodes by comparing the geometry size with a preset threshold, balancing efficient coverage of open areas with detailed representation of complex areas. The application incorporates platform pose information into node classification, enabling clustering strategies to differentiate based on the geometric features of different node types. For the first type of nodes, community clustering is performed based on normal vector similarity, accurately capturing terrain orientation features and solving the problem of traditional methods failing to accurately extract topological structures in non-closed or asymmetric terrain. For the second type of nodes, clustering is performed based on spatial proximity, minimizing the number of nodes while maintaining connectivity. Finally, the two clustering results are merged to generate a topological map, achieving a balance between accurate environmental representation and lightweight computational resources. Attached Figure Description

[0010] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0011] Figure 1 A schematic flowchart illustrating a map generation method provided in an embodiment of this application; Figure 2 A schematic flowchart illustrating a map generation method provided in another embodiment of this application; Figure 3 A schematic flowchart illustrating a map generation method provided in yet another embodiment of this application; Figure 4 This is a schematic diagram of the structure of a map generation device provided in an embodiment of this application; Figure 5 This is an internal structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0012] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0013] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0014] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0015] With the deep integration of robotics and artificial intelligence, autonomous mobile robots have moved from laboratory environments to more complex and diverse real-world applications, widely serving fields such as smart logistics warehousing, disaster relief, building security patrols, and multi-level parking garage management. In these tasks, the environments are often large-scale, multi-story, unstructured, and contain complex geometric features such as ramps and spiral passages. To ensure that robots can perform long-term, highly efficient autonomous operations in these scenarios, map building and path planning systems must balance the accuracy of environmental representation with lightweight computational resources.

[0016] In autonomous navigation systems, lightweight map representation and real-time path planning are crucial for the operational efficiency of ground robots. Traditional navigation methods typically rely on dense metric representations, such as occupancy grids, voxel-based Euclidean distance fields (ESDF), or octree structures. While these representations provide fine-grained geometric accuracy in small or structured environments, their enormous memory consumption and computational overhead severely limit efficiency and response speed in large-scale or complex scenarios, making it difficult to achieve efficient path planning and decision-making. For example, in large logistics warehouses, global path planning based on dense grids is often time-consuming, causing robots to respond slowly when facing dynamic obstacles; in embedded rescue robots with limited computing resources, maintaining high-precision voxel maps can lead to memory overflows or system lag.

[0017] In this context, topological maps have emerged as a lightweight and expressive alternative, abstracting the environment as a sparse graph composed of key nodes and connecting edges, applicable to real-time navigation decisions in various scenarios. Current mainstream methods include geometric space segmentation-based and learning-based generative approaches.

[0018] However, various topology construction strategies have different focuses. For example, related 2D topology mapping methods are only applicable to single-layer planar scenes and cannot represent cross-layer connections. While related 3D skeleton extraction methods (such as those based on generalized Voronoi diagrams) can abstract free space, they mainly rely on pre-built high-quality metric maps, resulting in high computational costs and poor robustness in incomplete metric maps. Many methods based on geometric space abstraction (such as generating nodes with geometric centers) only focus on free space skeleton extraction, ignoring the actual kinematic constraints of the ground robot (such as traversable height limited by mobility). This leads to generated topology nodes potentially being located at heights or in areas inaccessible to the robot, causing cross-layer navigation to fail. Furthermore, relying solely on single-frame sensor data to construct topology structures easily leads to incomplete structures and difficulty in maintaining consistency in dynamic environments, lacking effective online fusion mechanisms to handle repeated observations and local updates. Real-world scenarios contain various ramp structures, such as straight ramp structures (without corners), spiral ramp structures, and ramp structures with varying inclination angles. Current methods for constructing 3D topological maps, particularly those based on geometric spatial segmentation, rely on the symmetry of geometric representations and require ray detection to determine if a region is the center of the geometric structure. However, for non-closed slope structures, this method struggles to obtain effective feedback in the height direction, making it difficult to correctly identify the slope center and leading to the failure of cross-layer topology construction.

[0019] The representation of related topology graphs is difficult to support autonomous navigation of ground robots in all scenarios. It cannot effectively handle multi-layer and sloping scenarios (dimensional limitations), lack of motion constraints for ground robots, incomplete structure and poor dynamic adaptability caused by single-frame observation, and inaccurate topology representation of sloping regions.

[0020] To address the aforementioned technical issues, such as Figure 1 As shown, one embodiment of this application provides a map generation method, which specifically includes the following steps: S1: Decompose the working environment of the mobile platform into multiple spatial blocks, and select the spatial block that matches the pose data of the mobile platform as the spatial block to be processed.

[0021] Specifically, the point cloud data of the working environment of the mobile platform is acquired. Based on the spatial distribution of the point cloud data and preset decomposition parameters, the working environment corresponding to the point cloud data is discretized into multiple spatial blocks, and an index relationship between each spatial block and the point cloud data is established. A bounding box is built based on the pose data of the mobile platform, and the height of the bounding box is adjusted according to the pitch angle of the mobile platform. The spatial blocks that overlap with the bounding box in space are taken as spatial blocks to be processed.

[0022] A mobile platform refers to a vehicle configured to move autonomously or remotely, possessing the capability to carry sensors and computing units. In specific embodiments of this application, a mobile platform can be a ground mobile robot, an automated guided vehicle, an autonomous mobile robot, an unmanned vehicle, a mobile composite robot, etc. The above examples are merely illustrative; the mobile platform in this application is not limited to the specific types mentioned above, but rather encompasses any vehicle or device with mobility capabilities, capable of carrying sensors and performing environmental perception and mapping tasks.

[0023] When the mobile platform enters an unknown working environment, it first collects environmental point cloud data using its onboard 3D LiDAR. Point cloud data is a discrete set of points obtained by scanning the environment using the mobile platform's onboard 3D LiDAR. Each point contains spatial coordinates (x, y, z) and information such as reflection intensity. Point cloud data is used to characterize the surface positions of obstacles in the environment and serves as the fundamental data source for subsequent distance field construction and obstacle detection.

[0024] The system receives point cloud data in real time, determines the environmental boundary based on the spatial distribution of the point cloud data, and then discretizes the spatial area covered by the boundary into multiple spatial blocks according to preset decomposition parameters. These preset decomposition parameters are a set of parameters used to control the granularity of environmental spatial discretization, including the size of the spatial blocks in three dimensions. The decomposition parameters are set according to the application scenario, such as indoor / outdoor, and environmental complexity, and directly affect the resolution and number of nodes in the topology map. Smaller decomposition parameters result in finer spatial blocks, more candidate topology nodes, and higher map resolution, but also higher computational cost. Larger decomposition parameters result in coarser spatial blocks, fewer candidate topology nodes, and a lighter map, but may lose environmental details.

[0025] A space block is a basic unit obtained by dividing the working environment of a mobile platform according to preset decomposition parameters. Each space block corresponds to a continuous sub-region in the environment. In this embodiment, the space block is a rectangular area of ​​fixed size; the indoor environment is typically set to 3m × 3m × 1.5m, and the outdoor environment is typically set to 6m × 6m × 2m. Each space block is uniquely identified by its index number.

[0026] Taking an indoor scene as an example, the preset decomposition parameters are 3m × 3m × 1.5m. Starting from the minimum coordinates of the environment space along the x, y, and z axes, and using this size as the step size, the entire environment space is divided into several spatial blocks. For each spatial block, the coordinates of its center point are calculated and a unique index number is assigned. Simultaneously, an ikd-Tree (incremental dynamic tree) spatial index structure is established to record the spatial block index to which each point cloud data point belongs, as well as the list of point cloud data points contained within each spatial block, thus establishing the index relationship between spatial blocks and point cloud data. The ikd-Tree is an efficient dynamic spatial index data structure used to organize 3D point cloud data and supports fast nearest neighbor search. In this embodiment, ikd-Tree is used to store environmental point cloud data and supports 1-NN search of the center of spatial blocks. 1-NN search is a spatial data query method used to find the point closest to the target point in the point cloud dataset. The distance to the nearest obstacle can be quickly queried through 1-NN search. A spatial index is established through ikd-Tree so that each spatial block can be quickly associated with all point cloud data points falling within it, providing data support for subsequent distance queries and obstacle determination.

[0027] Pose data is the position and attitude information of a mobile platform in three-dimensional space, containing six degrees of freedom: three-dimensional position coordinates (x, y, z) and three attitude angles (pitch, roll, and yaw). The pose data is obtained by fusing the positioning data with the IMU (Inertial Measurement Unit) onboard the mobile platform, and is used to determine the platform's current spatial state in the environment. The pitch angle refers to the angle of rotation of the mobile platform about its own lateral axis, used to characterize the degree of tilt of the platform in the forward and backward directions. In this embodiment, the pitch angle is used to adaptively adjust the height of the bounding box to adapt to slopes or undulating terrain.

[0028] The mobile platform can obtain six-DOF pose data in real time through the fusion of IMU and positioning data, and adaptively adjust the height of the bounding box according to the current pitch angle. Specifically, the height calculation formula is as follows: ; Where h is the height of the bounding box, h0 is the nominal height of the mobile platform (in this embodiment, it can be taken as 0.75m), h max θ is the maximum allowable clearance height (which can be taken as 2.0m in this embodiment). min θ is the lower limit of the pitch angle. min =0°, θ max The pitch angle is the upper limit θ max =10°, θ pitch"Sat" refers to the pitch angle, while "sat" refers to the safe distance threshold. During topology edge generation, it's a distance reference value used to determine whether a path is a collision-free path. That is, the distance from each location on the path to the nearest obstacle must be greater than "sat" to be considered safe and passable. In this application, the value of "sat" is set based on the physical dimensions of the mobile platform, typically greater than or equal to the platform's radius or half-width (i.e., the maximum circumscribed circle radius of the mobile platform in the horizontal direction), to ensure that the mobile platform will not collide with obstacles when traveling along the path.

[0029] Then, using the current position of the mobile platform as the center, and with the adjusted height *h*, preset width, and length as the bounding box dimensions, a bounding box aligned with the platform's pose is created. The bounding box is a virtual cuboid region in 3D space that encloses the current position of the mobile platform; its position and orientation dynamically change with the platform's pose. For example... Figure 2 As shown, the subset of discrete regions that intersect with the current bounding box is selected as the discrete region to be processed, and this spatial block is marked as a spatial block to be processed. Unmarked spatial blocks are not involved in subsequent processing, thus concentrating computational resources on local regions related to the platform's current location.

[0030] Thus, by setting bounding boxes, the node generation range is narrowed from the global to a local area, avoiding indiscriminate processing of all spatial blocks and significantly reducing computational load. The bounding box height is dynamically adjusted according to the platform's pitch angle, ensuring that the selection range still covers the platform's actually passable area even on slopes or undulating terrain. By establishing an index relationship between spatial blocks and point cloud data, subsequent steps can quickly obtain the point cloud data corresponding to each spatial block, providing data support for distance field queries and obstacle detection.

[0031] S2: Construct a spatial geometry based on the distance from the center of each spatial block to its nearest obstacle, and determine candidate topological nodes based on the comparison between the size of the spatial geometry and a preset threshold.

[0032] For each spatial block to be processed, the geometric center of the block is first used as a reference point. A 1-NN (1-Nearest Neighbor) search is performed on this reference point in the ikd-Tree to find the point cloud data point closest to the reference point. This point cloud data point corresponds to a position on the surface of an obstacle in the environment. The Euclidean distance from the reference point to the nearest point cloud data point is calculated, which is the distance from the center of the spatial block to the nearest obstacle.

[0033] Then, a sphere is constructed with the center of the spatial block as its center and the distance from that center to the nearest obstacle as its radius. This sphere is the spatial geometry. The radius of the sphere directly reflects the size of the largest collision-free spherical space within the spatial block. The larger the radius, the more open the spatial block; the smaller the radius, the narrower the spatial block or the closer it is to an obstacle. The spatial geometry is a basic geometric shape used to characterize the range of free space within a spatial block. In this embodiment, the spatial geometry is a sphere constructed with the center of the spatial block as its center and the distance from that center to the nearest obstacle as its radius. Its size (radius) directly reflects the size of the passable space within the spatial block.

[0034] The radius of the sphere is compared with a preset threshold, which is set to 0.65m. This value is related to the physical size of the mobile platform to ensure that the generated spatial geometry can accommodate the safe passage of the mobile platform.

[0035] When the radius of the sphere is greater than or equal to the splitting threshold, it indicates that the spatial block is sufficiently open to allow the mobile platform to pass safely. The center position of the sphere is recorded as a candidate topology node, and the spatial block is not further decomposed. The candidate topology node records the spatial coordinates and stores the sphere radius as an additional coverage attribute for use in subsequent path planning.

[0036] If the radius of the sphere is less than a preset threshold, it indicates that the spatial block area is relatively narrow or has a complex spatial structure, and a single spatial geometry cannot fully represent the passable space of the area. In this case, the spatial block to be processed corresponding to the sphere is recursively decomposed into multiple smaller sub-space blocks until a termination condition is met. The center of the sphere constructed based on each sub-space block that meets the termination condition is then used as a candidate topology node. Meeting the termination condition includes each sub-space block reaching a preset minimum resolution, or the radius of the sphere constructed based on each sub-space block being greater than or equal to a preset threshold. If the size of a sub-space block is equal to or less than the preset minimum resolution, further decomposition stops even if the radius of the sphere constructed within that sub-space block is still less than the preset threshold, and the center of the sphere constructed within that sub-space block is used as a candidate topology node. In this embodiment, the minimum resolution is set to 0.3m to ensure that the topology map still has sufficient spatial resolution in complex areas.

[0037] For a spatial block that needs to be decomposed, it is divided along three spatial axes according to its current size and preset minimum resolution, forming multiple sub-spatial blocks. This embodiment supports two decomposition strategies: The sphere radius is compared with the recursive decomposition threshold. When the sphere radius is greater than the recursive decomposition threshold, a six-sided decomposition strategy is adopted. Specifically, the center of the spatial block to be processed is taken as the origin, and the spatial block to be processed is expanded in the positive and negative directions along the three orthogonal axes of the spatial block to be processed, thus decomposing the spatial block to be processed into six sub-spatial blocks. This strategy is used when the spatial block is relatively open but has not yet reached the condition for direct retention. It can refine the spatial coverage while maintaining a large decomposition granularity.

[0038] When the radius of the sphere is less than or equal to the recursive decomposition threshold, an octree decomposition strategy is adopted. Specifically, this involves bisecting the spatial block along each of the three orthogonal axes to be processed, thus uniformly dividing the spatial block into eight sub-blocks. This strategy is used when the spatial block is relatively narrow, improving the coverage accuracy in complex spaces through finer-grained decomposition.

[0039] In a specific example, the decomposition strategy is shown in the following formula: ; Wherein D(R) j ) represents the decomposition strategy, and C represents the area that is fully covered by the sphere (Cover). This represents the area not fully covered by the sphere. When the sphere covers the area, the maximum inscribed free sphere S(R) is... j As the final sphere, when the sphere does not fully cover the area, the threshold r is determined according to the recursive decomposition. split Choose the appropriate decomposition strategy, and determine the sphere radius r. j >r split A six-sided decomposition strategy based on a cube inscribed in a sphere is adopted. , when the sphere radius r j ≤r split An octree decomposition strategy based on cubic regions is adopted. In recursive partitioning algorithms, 'l' is often used as an identifier for the level. For example, in an octree structure, the node encoding can be represented as q1 q2 ... ql, where 'l' represents the depth or level of the node in the tree, used to track which subspace is being processed. 'k' is a common counting variable, which can represent dimension, number of iterations, or number in iterative or recursive functions.

[0040] In this application, each candidate topology node records attributes such as location coordinates, coverage radius, and source spatial block index during generation for use in subsequent steps.

[0041] The location coordinates are the three-dimensional spatial coordinates of the sphere's center, and the coverage radius is the sphere's radius, serving as a quantitative indicator of the spatial range represented by the node. The source spatial block index is the spatial block number that generated the node, used for tracing and updating.

[0042] Thus, by adaptively comparing the spatial geometry size with a threshold, nodes are generated in a coarse-grained manner in open areas to reduce the number of nodes, while nodes are generated in a fine-grained manner in complex areas to ensure coverage accuracy, achieving a balance between computational efficiency and environmental representation accuracy. By constructing a distance field solely based on real-time point cloud data, candidate topology nodes can be generated without pre-constructing a high-quality metric map, improving applicability in unknown environments. The size of the spatial geometry is correlated with the physical size of the mobile platform, ensuring that the free space represented by the generated candidate topology nodes can accommodate the safe passage of the mobile platform.

[0043] S3: Determine the node type of the candidate topology node based on the pose data.

[0044] The node type of each candidate topology node is determined based on the pitch angle of the mobile platform; if the pitch angle is greater than a preset angle threshold, the candidate topology node is determined to be a first type node; if the pitch angle is less than or equal to the preset angle threshold, the candidate topology node is determined to be a second type node.

[0045] During node generation, the mobile platform may traverse different terrain areas, such as moving from flat ground onto a slope or vice versa. Therefore, different candidate topology nodes may correspond to different pitch angle values.

[0046] For each candidate topology node, its associated pitch angle value is read and compared with a preset angle threshold. The type of the node is determined based on the comparison result. The preset angle threshold value is related to the kinematic characteristics of the mobile platform and the application scenario. In this embodiment, the preset angle threshold is 5°. When the pitch angle is less than 5°, the terrain tilt is small, the mobile platform is basically on the horizontal or near-horizontal ground, and the generated nodes reflect the spatial structure of a flat area. Spatial location clustering should be performed according to the processing flow of the second type of node.

[0047] When the pitch angle is greater than 5°, the terrain tilt is sufficiently significant, and the mobile platform is located on a slope. The generated nodes reflect the spatial structure of the slope and should be clustered using normal vectors according to the processing flow for the first type of nodes. It should be noted that 5° is only an exemplary value and can be adjusted in practical applications based on the mobile platform's passability, sensor accuracy, and the slope characteristics of the application scenario. For mobile platforms with strong passability, this threshold can be appropriately increased; for mobile platforms with weak passability, this threshold can be appropriately decreased.

[0048] If the pitch angle is greater than a preset angle threshold, it indicates that the mobile platform is in a slope area at the time the current node is generated, and this node is identified as a first-type node. First-type nodes will subsequently enter a community clustering branch based on normal vector similarity to identify node groups belonging to the same slope area and streamline redundant nodes. This is because the spatial distribution of this type of node extends along the slope direction, exhibiting continuous slope variation characteristics, requiring clustering based on normal vectors to simplify the slope topology.

[0049] If the pitch angle is less than or equal to a preset angle threshold, it indicates that the mobile platform is in a non-slope area (such as flat ground) at the time the current node is generated, and this node is identified as a second-type node. Second-type nodes will subsequently enter a clustering branch based on spatial proximity to merge nodes with similar locations and select representative nodes. This is because the spatial distribution of this type of node is mainly affected by its planar location and does not exhibit significant continuous elevation changes; therefore, clustering based on spatial proximity is necessary to streamline nodes in flat areas.

[0050] Thus, this application implements terrain-adaptive classification of node types. By comparing the pitch angle with a preset threshold, candidate topology nodes are divided into first-type nodes and second-type nodes, so that the node type determination can reflect the real terrain state when the mobile platform generates each node. Subsequent clustering strategies can be differentiated according to the terrain source of the nodes, avoiding the accuracy loss of a single clustering strategy in complex terrain.

[0051] S4: If the candidate topological node is a first type node, obtain the normal vector of the first type node, and cluster the first type nodes into at least one community based on the similarity of the normal vectors between the first type nodes, and select the first target node from the community; if the candidate topological node is a second type node, obtain the spatial proximity between the second type nodes, and cluster the second type nodes into at least one cluster based on the spatial proximity, and select the second target node from the cluster.

[0052] Specifically, the target point cloud data within the spatial blocks corresponding to each first-type node is extracted; the centroid of the target point cloud data is calculated; a covariance matrix is ​​constructed based on the distribution of each point in the target point cloud data relative to the centroid; eigenvalue decomposition is performed on the covariance matrix to obtain multiple eigenvalues ​​and corresponding eigenvectors; the eigenvector corresponding to the smallest eigenvalue is used as the normal vector of the first-type node. The inner product between the normal vectors of each first-type node is calculated, and the inner product is used as the first similarity; first-type nodes with a first similarity greater than a preset similarity threshold are clustered into the same community; the betweenness centrality of the first-type nodes in each community is calculated; and the first-type node with the highest betweenness centrality in each community is selected as the first target node. The normal vector can represent the direction vector of the spatial orientation of the slope area. In this embodiment, principal component analysis (PCA) is performed on the point cloud data within the spatial blocks corresponding to the first-type nodes, and the eigenvector corresponding to the smallest eigenvalue of the covariance matrix is ​​used as the normal vector. This vector is perpendicular to the slope plane and reflects the orientation of the slope.

[0053] Obtain the point cloud data within the spatial block corresponding to the first type of node. Since the index relationship between each spatial block and the point cloud data has been established in step S1, the point cloud data set within the corresponding spatial block can be directly extracted through this index relationship. Calculate the centroid of the extracted point cloud data. The centroid refers to the average value of the coordinates of all points in the point cloud data, i.e., the geometric center of the point cloud data. Decentralize the extracted point cloud data, calculate the deviation vector of each point relative to the centroid, and then construct a 3×3 covariance matrix. The covariance matrix is ​​used to describe the distribution of point cloud data in each direction in three-dimensional space. Perform eigenvalue decomposition on the covariance matrix C. The three eigenvalues ​​obtained from the eigenvalue decomposition of the covariance matrix correspond to the variance of the point cloud data in three orthogonal directions, respectively. The direction of the eigenvector corresponding to the smallest eigenvalue is the direction with the smallest variance of the point cloud data, i.e., the normal direction of the slope. This yields three eigenvalues ​​and their corresponding eigenvectors. Since the covariance matrix is ​​a real symmetric matrix, its eigenvalues ​​are non-negative real numbers, and the corresponding eigenvectors are pairwise orthogonal. For a slope point cloud, the distribution of points in the direction perpendicular to the slope (i.e., the normal direction) is the most concentrated and has the smallest variance. Therefore, the eigenvector corresponding to the smallest eigenvalue is the normal vector of the slope. This normal vector is used as the normal vector of the first type of node and stored in the node's attributes for subsequent community clustering.

[0054] After obtaining the normal vectors of each type I node, community clustering is performed on these nodes. First, the similarity between the normal vectors of each type I node is calculated. For any two type I nodes a and b, their normal vectors are obtained, and their inner product is calculated as the similarity, which is the cosine of the angle between them. The closer the inner product is to 1, the more consistent the directions of the two normal vectors are, and the more similar the corresponding slope orientations are; the closer the inner product is to 0, the less similar the directions of the two normal vectors are.

[0055] The first type of nodes is treated as a network, and the network structure is constructed using normal vector similarity as edge weights. The Louvain community clustering algorithm is used to divide the first type of nodes into communities. Nodes with normal vector similarity greater than a preset similarity threshold (e.g., 0.85) can be clustered into the same community. The preset similarity threshold is used as a reference value to determine whether two first type of nodes belong to the same slope community. When the inner product between two normal vectors is greater than this threshold, the slope orientations of the two nodes are considered to be the same, and they should be clustered into the same community. This application does not limit the specific value of the preset similarity threshold.

[0056] Specifically, each type I node is first initialized as an independent community; then, all nodes are traversed, and attempts are made to move them to neighboring communities, calculating the change in modularity Q ΔQ, and selecting moves that increase Q; this iteration is repeated until Q no longer increases, obtaining the final community division result. Through this clustering, type I nodes belonging to the same slope region (with similar normal vector directions) are assigned to the same community, with each community corresponding to one slope region.

[0057] After community clustering is completed, representative nodes are selected from each community as the first target nodes. Specifically, the betweenness centrality of each node within each community is calculated. Betweenness centrality is used to measure the role of a node as a bridge in the network. It is defined as the proportion of paths passing through that node in the shortest paths between all pairs of nodes in the network. The higher the betweenness centrality, the higher the connectivity importance of that node in the community's internal network. For each community, the first type of node with the highest betweenness centrality is selected as the representative node of that community, i.e., the first target node. This representative node replaces all first type nodes in that community in subsequent topology graph construction. For a group of slope nodes with similar slope normal vectors and connected in the topology graph, they are classified into the same slope community. Since these nodes are usually located on the same continuous slope, representing nearby locally traversable areas, it is not necessary to retain them all. For each slope community, the node with the highest betweenness centrality is selected as the representative node to retain the main connectivity relationships of that slope area. Subsequently, redundant slope nodes and their internal edges within the community are removed, while necessary connections between this community and non-slope areas or other slope communities are supplemented through feasible paths in the original complete topology graph. This reduces overly dense and functionally redundant nodes in the slope area without disrupting cross-floor connectivity, resulting in a more compact slope topology. Through the above filtering, a large number of redundant nodes originally belonging to the same slope area are simplified to a single representative node, significantly reducing the number of nodes while preserving topological connectivity in the slope area.

[0058] In one specific implementation, the modularity function Q can be as follows: ; Where Q is the modularity, an evaluation metric used to measure the quality of community segmentation. A larger Q value indicates tighter connections within a community and sparser connections between communities. N is the total number of slope nodes participating in clustering, i.e., the number of candidate topological nodes to be clustered. a and b are node indices used to identify slope nodes participating in clustering, with values ​​ranging from 1, 2, ..., N. a and b represent two distinct slope nodes. W ab Let W be the edge weight between nodes a and b, and let W represent the geometric similarity between nodes a and b. In this application, W... ab Defined as the dot product of the normal vectors of node a and node b, it is used to quantify the similarity between two slope nodes in the direction of their normal vectors (the larger the dot product value, the closer the normal vector directions are). d a d is the sum of the weights of all edges connected to node a, reflecting the degree of connection between node a and other nodes. b This represents the sum of the weights of all edges connected to node b, reflecting the degree of connection between node b and other nodes. E represents the total weight of edges between all nodes, used to normalize the modularity. a The community to which node a belongs can be, specifically, the community identifier (community number) assigned to node a after clustering, indicating which slope community node a belongs to. b This represents the community to which node b belongs. Specifically, it could be the community identifier (community number) assigned to node b after clustering, indicating which slope community node b belongs to. δ(c a , c b δ is the community indicator function. When node a and node b belong to the same community, δ=1; otherwise, δ=0. This function only counts connections within a community, not connections between communities.

[0059] Obtain the spatial coordinates of each second-type node; calculate the spatial distance between second-type nodes based on their spatial coordinates, and determine the spatial proximity based on the spatial distance; the smaller the spatial distance, the higher the spatial proximity. Cluster second-type nodes whose spatial distance is less than a preset distance threshold into the same cluster; calculate the average spatial coordinates of the second-type nodes in each cluster as the geometric center of each cluster; calculate the distance from each second-type node to the geometric center of its respective cluster; select the second-type node in each cluster that is closest to the geometric center as the second target node.

[0060] Specifically, the spatial coordinates of each second-type node are obtained. Each candidate topology node has its three-dimensional spatial coordinates (x, y, z) recorded during generation in step S2, which can be directly read from the node attributes. Based on the spatial coordinates of each second-type node, the spatial distance between any two second-type nodes is calculated. In this embodiment, the spatial distance can be calculated using Euclidean distance in three-dimensional space, which directly reflects the proximity of two nodes in three-dimensional space. The spatial proximity between nodes is determined based on this spatial distance; the smaller the spatial distance, the closer the two nodes are in space, and the higher the probability that they belong to the same local region; the larger the spatial distance, the more distant the two nodes are in space, and they should belong to different local regions.

[0061] After obtaining the spatial distance between each second-type node, clustering is performed based on this spatial distance. Specifically, a distance threshold (i.e., a preset distance threshold) is pre-set, and second-type nodes whose spatial distance is less than the preset distance threshold are clustered into the same cluster. The value of the preset distance threshold is related to the spatial block size in step S1. In this embodiment, the preset distance threshold is set to 1.5 times the spatial block size to ensure that the clustering granularity is consistent with the spatial decomposition granularity. The above clustering process can be implemented using a density-based clustering algorithm or a distance-based hierarchical clustering algorithm to group second-type nodes that are spatially adjacent into the same cluster.

[0062] Through the above clustering, a large number of spatially adjacent Type II nodes are aggregated into multiple clusters, each corresponding to a local sub-region within the flat area. After clustering, representative nodes are selected from each cluster as the second target node. Specifically, the average spatial coordinates of all Type II nodes in each cluster are calculated as the geometric center of that cluster. Then, the distance from each Type II node to the geometric center of its cluster is calculated. For each node in a cluster, the three-dimensional Euclidean distance from its spatial coordinates to the geometric center of that cluster is calculated. The Type II node closest to the geometric center of that cluster is selected as the representative node of that cluster, i.e., the second target node. This representative node is spatially closest to the geometric center of the cluster and can optimally represent the spatial location of the local region corresponding to that cluster. Through this selection, a large number of redundant nodes that were originally spatially adjacent are reduced to a single representative node, significantly reducing the number of nodes while maintaining the connectivity of the planar region.

[0063] This application categorizes candidate topological nodes into two types and employs two different clustering strategies—normal vector similarity clustering and spatial proximity clustering—to achieve differentiated simplification for various terrain features. For the first type of nodes, community clustering based on normal vector similarity accurately identifies node groups within the same slope area, solving the problem of traditional methods failing to determine traversable areas on non-closed slopes. For the second type of nodes, clustering based on spatial proximity quickly merges nodes with similar locations, minimizing the number of nodes while maintaining connectivity. Furthermore, by using betweenness centrality and geometric center distance as selection criteria, representative nodes are located at key positions within communities or clusters, ensuring that the simplified topology accurately reflects the connectivity of the environment.

[0064] Understandably, the core processing method of community clustering is to cluster nodes based on whether there are feasible paths between them. When the height difference is too large or there are obstacles in between (for example, when nodes are at the same x and y positions on a spiral slope but on different slopes), there will be no topological edges between the nodes, and they will naturally not be grouped into the same community. At the same time, when the normal vectors of the slopes where the topological nodes are located differ too much, they will also not be grouped into the same community, thus preventing the entire slope or most of the slope from being grouped into the same community.

[0065] S5: Determine the target topology nodes based on the first target node and / or the second target node, establish topology edges between the target topology nodes, and generate a topology map.

[0066] Perform a collision-free path search between target topology nodes; establish topology edges between target topology nodes with collision-free paths; generate a topology map based on the target topology nodes and topology edges.

[0067] All first target nodes and all second target nodes are merged to form a target topology node set, which covers both open areas (planar areas) and complex areas (slope areas) in the mobile platform's working environment. After obtaining the target topology node set, a collision-free path search is performed between the target topology nodes to establish connections: the spatial positional relationships between each target topology node are obtained, and two nodes whose spatial positional relationships satisfy a preset proximity condition are selected as the node pairs to be searched. Using one node in each node pair as the starting point and the other as the ending point, a path connecting the two is searched in the distance field. The distance field is a data structure constructed based on the point cloud data in step S1, recording the distance from each location in the working environment to the nearest obstacle, used for quickly querying the safety of any location. When a path from the starting point to the ending point is found, it is checked whether the distance from each discrete location on the path to the nearest obstacle is greater than a preset safe distance threshold. If all are satisfied, the path is determined to be a collision-free path. For target topology node pairs determined to have collision-free paths, a topology edge is established between the corresponding two target topology nodes; for node pairs where no collision-free path is found, no topology edge is established. Finally, a complete topology map is generated based on all target topology nodes and established topology edges. This map uses a graph structure for data organization, contains only node locations and topology connections, and does not store dense grid or voxel information. It can be directly used for global path planning and navigation decisions on mobile platforms.

[0068] The collision-free path search includes: obtaining the spatial positional relationship between target topology nodes, and taking two nodes whose spatial positional relationship meets the preset proximity condition as a pair of nodes to be searched; searching for a path connecting the two nodes in the pair of nodes to be searched in the distance field; the distance field is used to record the distance from each location in the working environment to its nearest obstacle; if the distance from each path node to its nearest obstacle is greater than the safe distance threshold, then the path is taken as a collision-free path.

[0069] After the target topology nodes are determined, spatial proximity filtering is performed on them to obtain the spatial positional relationship between each target topology node. The spatial distance between any two target topology nodes in three-dimensional space is calculated, and two nodes with a spatial distance less than a preset proximity threshold are selected as the node pairs to be searched. This filtering step controls the number of node pairs to be searched within a reasonable range, significantly reducing the computational load of path search. Subsequently, path search is performed on each node pair to be searched in the distance field. The distance field is a three-dimensional data structure pre-constructed and maintained in real time based on the point cloud data obtained in step S1. It records the distance values ​​from each discrete location in the working environment to the nearest obstacle. The larger the distance value, the safer the location; the smaller the distance value, the closer the location is to the obstacle. For each node pair to be searched, one node is used as the starting point and the other as the ending point. A search algorithm is used to search for a path connecting the two in the distance field. The cost function of the search algorithm comprehensively considers path length and safety, prioritizing the expansion of locations with larger distance field values ​​(i.e., farther from obstacles) while avoiding locations with distance field values ​​less than the safe distance threshold. Once a path from the starting point to the ending point is found, a safety check is performed: The distance values ​​of each path node in the distance field are examined one by one. If the distance from all path nodes to their nearest obstacle is greater than a preset safe distance threshold (this threshold is related to the physical dimensions of the mobile platform, usually set as its radius), the path is determined to be a collision-free path. If the distance value at any location is less than or equal to the safe distance threshold, the path poses a collision risk and is rejected. For node pairs determined to have collision-free paths, a topological edge is established between the corresponding two target topological nodes, recording the connection relationship and path geometry information. For node pairs where no collision-free paths are found, no topological edge is established. Finally, a complete topology map is generated based on all target topological nodes and the established topological edges.

[0070] In one embodiment, this application further includes acquiring the current location and historical mapping trajectory of the mobile platform; when the distance between the current location and a location in the historical mapping trajectory is less than a preset revisit threshold, the current area is determined to be a revisited area of ​​the mapped region, and relevant topological nodes and determined candidate topological nodes are acquired within the revisited area; based on the comparison results between the candidate topological nodes and relevant topological nodes, the topological nodes within the revisited area are divided into newly added nodes, retained nodes, and deleted nodes; wherein, if there is no corresponding node within the observation range of the current location for a relevant topological node, the relevant topological node is classified as a deleted node; if there is no corresponding relevant topological node for a candidate topological node within the revisited area, the candidate topological node is classified as a newly added node; if there is a corresponding relationship between a relevant topological node and a candidate topological node, the relevant topological node is classified as a retained node. For newly added nodes, they are added to the topology map, and feasible paths between the newly added node and neighboring nodes are searched to establish corresponding topological edges; for retained nodes, their original topological structure in the topology map is maintained; for deleted nodes, they are removed from the topology map, and the topological edges associated with them are deleted.

[0071] Specifically, during the continuous operation of the mobile platform, the environment may change, such as obstacles moving, areas becoming closed or open, and a single mapping cannot cover the entire environment. Therefore, this application provides a topology map update mechanism that incrementally updates the topology map by identifying opportunities for the mobile platform to revisit mapped areas and comparing current observations with historical maps.

[0072] Specifically, during the operation of the mobile platform, its current location is acquired in real time and compared with the historical mapping trajectory. The historical mapping trajectory records the various locations the mobile platform has traversed when building the topology map in the past, representing the spatial extent of the mapped area. The spatial distance from the current location to each location point in the historical mapping trajectory is calculated. If the distance between a historical location point and the current location is less than a preset revisit threshold, the area where the mobile platform is currently located is determined to be a revisited area of ​​the mapped area. The value of this preset revisit threshold is related to the spatial block size in step S1. At this time, the existing topology nodes (i.e., relevant topology nodes) in the revisited area and the candidate topology nodes determined in step S4 are acquired to prepare for map updating.

[0073] The relevant topological nodes within the revisited area are compared with the candidate topological nodes generated by the current observation. Based on the comparison results, the topological nodes within the revisited area are classified into three categories: newly added nodes, retained nodes, and deleted nodes. Specifically, for each relevant topological node within the revisited area, it is checked whether there is a corresponding candidate topological node within the current observation range. If not, it indicates that the spatial region corresponding to the node may have changed in the current environment (e.g., it is occupied by obstacles), and the relevant topological node is classified as a deleted node. For each candidate topological node determined in step S4, it is checked whether there is a corresponding node among the relevant topological nodes in the revisited area. If not, it indicates that the spatial region corresponding to the node is a newly detected passable region, and the candidate node is classified as a newly added node. If a relevant topological node has a corresponding candidate topological node within the current observation range, then there is a correspondence between the relevant topological node and the candidate node, and the relevant topological node is classified as a retained node.

[0074] Based on the node classification results, perform corresponding update operations on the topology map. For newly added nodes, add them to the topology map and use the same collision-free path search method as in step S5 to search for feasible paths between the newly added node and its neighboring nodes, and establish corresponding topological edges between node pairs with collision-free paths; for retained nodes, maintain their original topological structure in the topology map; for deleted nodes, remove them from the topology map and delete all topological edges associated with them.

[0075] In this way, the topology map can be dynamically adjusted with changes in the environment. Adding nodes allows the map to expand to newly detected areas, deleting nodes allows the map to remove invalid areas in a timely manner, and retaining nodes maintains the structural integrity of stable parts of the map, so that the map always remains consistent with the real environment. At the same time, it supports incremental mapping, eliminating the need to rebuild the entire map with each update, which greatly reduces the computational cost of mapping.

[0076] In one embodiment, a topology map already constructed by the mobile platform can be obtained. The topology map contains multiple topology nodes and topology edges between the nodes. A confidence attribute is associated with each topology node, whereby the confidence level characterizes the credibility of the spatial region corresponding to the node in the current environment. Current observation data of the mobile platform is obtained, and the confidence level of each topology node is updated based on the current observation data. The topology map is maintained based on the confidence level, specifically including: marking topology nodes with confidence levels below a first preset threshold as nodes to be confirmed, and marking topology nodes with confidence levels below a second preset threshold as failed nodes; reducing the selection priority of nodes to be confirmed in path planning, and focusing on verifying them in subsequent observations; and removing failed nodes from the topology map and deleting their associated topology edges.

[0077] During the long-term operation of a mobile platform, the environment may undergo local changes, such as the appearance or removal of temporary obstacles or alterations to the regional structure. Furthermore, sensor observations themselves contain noise and uncertainty. To improve the adaptability of the topology map to environmental changes and its robustness to observation noise, a topology map already constructed by the mobile platform can be acquired. This topology map contains multiple topology nodes and the topology edges between them, and a confidence attribute is associated with each topology node. The confidence score is a numerical value ranging from 0 to 1, representing the degree of trustworthiness of the spatial region corresponding to the node in the current environment. A confidence score closer to 1 indicates a more trustworthy node, while a confidence score closer to 0 indicates a less trustworthy node. The initial confidence score of newly generated topology nodes can be set to 1, or determined based on the semantic information of the spatial region corresponding to the node. For example, nodes belonging to static structural regions (such as load-bearing columns or fixed walls) have a higher initial confidence score than nodes belonging to dynamically changing regions (such as temporary storage areas).

[0078] During the operation of the mobile platform, current observation data is acquired. For each topological node in the constructed topological map, a spherical spatial range is constructed with the node's location as the center and its coverage radius (i.e., the radius of the free space sphere corresponding to the node) as the radius. Point cloud points in the current frame that fall within this range are used as observation data to verify whether the node is still valid. If the node is confirmed to exist by the current observation data, meaning its corresponding free space region is still passable in the current observation, its confidence level is increased; if the node is not observed within the current observation range, or if a new obstacle is detected at its corresponding spatial location, its confidence level is decreased. The increase or decrease in confidence level can be differentiated according to the node's coverage range: the larger the coverage range of a node, the lower its confidence decay rate, meaning the confidence decreases less for each instance of non-observation, because even if these large-coverage nodes are partially occluded, the free space they represent may still be partially usable; the confidence decay rate of nodes belonging to static structural regions should also be lower than that of nodes in dynamic regions.

[0079] Based on the updated confidence values, each topology node is classified and corresponding maintenance operations are performed. When the confidence of a topology node is lower than the first preset threshold but higher than the second preset threshold, the node is marked as a node to be confirmed. In subsequent path planning, the priority of selecting this node as a path node is reduced, and the spatial region where the node is located is focused on verification in subsequent observations. When the confidence of a topology node is lower than the second preset threshold, the node is marked as a failed node, removed from the topology map, and all topology edges associated with the node are deleted. In addition, when a node to be confirmed is re-observed and confirmed to be valid in subsequent observations, its confidence is gradually increased at the same or similar rate as the decay until it recovers to a stable node state. This gradual recovery mechanism can avoid frequent fluctuations in node state caused by occasional observation noise.

[0080] Thus, by associating confidence attributes with each topology node and progressively updating the confidence based on observation data, the accidental deletion of nodes due to observation errors in a single frame or a few frames is avoided, making the topology map tolerant to sensor noise and short-term occlusion. By setting a first preset threshold and a second preset threshold, nodes with confidence below the first preset threshold are marked as nodes awaiting confirmation, and nodes with confidence below the second preset threshold are marked as failed nodes, providing a clear intermediate transition stage from stable to failed node states, achieving a smooth transition of node states. By setting the confidence decay rate differently based on node coverage and semantic attribute differences, important nodes are protected for a longer period. By reducing the priority of nodes awaiting confirmation in path planning and focusing on verifying them in subsequent observations, navigation avoids reliance on unreliable nodes, reducing the risk of collisions during navigation.

[0081] In one specific implementation, the steps of the map generation method provided in this application can be as follows: Figure 3 As shown.

[0082] The environmental space discretization, spatial geometry construction, and adaptive generation of candidate topology nodes are completed in the topology graph generation strategy stage, which is the basic preprocessing step of the entire graph building process.

[0083] Specifically, using 3D point cloud frames collected by a mobile platform as the input to the working environment, a 3D spatial index is constructed through a tree structure to discretize the complete environment into a large number of independent discrete region blocks, establishing a correspondence between point cloud data and the index of each spatial block. A filled sphere is constructed with the geometric center of each region block as its center and the distance from that center to the nearest obstacle as its radius. This sphere serves as the spatial geometry representing the locally passable space. Two sets of adaptive spatial decomposition logic are introduced: adaptive decomposition strategy and octree decomposition. The sphere radius is compared with a preset threshold; if the sphere size does not meet the passability requirements, the current region block is recursively split. The splitting method is differentiated based on the sphere radius: simple regions are split using adaptive six-sided expansion, while complex regions are split using octree uniform binary division. The splitting continues until the region reaches the minimum resolution or the sphere size meets the standard. The centers of all qualified spheres are uniformly used as candidate topology nodes, and the spatial decomposition result with candidate nodes is output and sent to the next stage for topology optimization.

[0084] In the topology optimization stage, node classification, topology set partitioning, and topology edge filtering are completed based on multi-view observation information from the mobile platform, achieving lightweight pruning of the initial topology structure. Multiple sets of platform pose data from different observation angles are introduced, and the terrain type is distinguished using the mobile platform's pitch angle, thereby classifying slope-type nodes and flat ground-type nodes, completing the classification of all candidate nodes. Based on the node classification results, unified optimization and adjustment are carried out. First, an initial topology map is constructed using all candidate topology nodes. The nodes in the map are partitioned into topology point sets according to terrain type, and then collision-free path verification is performed: feasible and safe paths are retrieved only for spatially adjacent node pairs. If the path is collision-free throughout, a topology edge is established between the two points, eliminating invalid and redundant connections, and finally outputting a simplified optimized topology map.

[0085] In the slope structure clustering optimization stage, a differentiated clustering simplification strategy is adopted for the two types of nodes, slope and flat land, to complete the reconstruction of the topological subgraph and solve the problems of node redundancy and topological expression distortion in complex slope scenarios. This paper reuses original 3D point cloud data and performs terrain analysis by combining principal component analysis with point cloud distribution gradient. For the point cloud corresponding to the slope area, the covariance matrix is ​​solved and eigenvalue decomposition is performed. The eigenvector corresponding to the smallest eigenvalue is extracted as the slope normal vector, representing the slope orientation. The inner product of the normal vectors between slope nodes is calculated as the similarity, and nodes with similar orientations are clustered into the same community. The betweenness centrality of each node in each community is calculated, and the node with the strongest connectivity is selected as the representative node of the slope, while other redundant slope nodes in the community are removed. For nodes in flat areas, the spatial proximity is determined by calculating the 3D spatial distance between nodes, and nodes with similar distances are grouped into the same cluster. The geometric center of each cluster is solved, and the node closest to the geometric center is selected as the representative node of the flat area. The representative nodes of the slope and flat areas are merged to complete the reconstruction of the topological subgraph. This application significantly reduces redundant nodes after clustering while fully preserving environmental connectivity, ultimately outputting a lightweight 3D topological map adapted to complex slope terrain, supporting real-time navigation across layers and in slope-containing scenes on mobile platforms.

[0086] Existing 3D topology map generation algorithms heavily rely on the structure of prior maps, easily generating topological points and numerous redundant nodes in open areas with significant height differences that are inaccessible to ground-based mobile platforms. Specifically, sparse map methods, lacking symmetrical information feedback in non-closed multi-story environments, generate a large number of redundant nodes and fail to capture traversable paths across slopes. Methods employing ray sampling and verification to find free-space regions, using them as vertices of the skeleton graph, and the traversability between adjacent vertices as edges, while utilizing a cyclic formation mechanism to maintain the compactness of the skeleton graph, generate numerous drifting nodes inaccessible to ground-based mobile platforms, resulting in vertically distributed paths that are practically unexecutable by the platform. In contrast, this application performs well in spiral slope scenarios, effectively capturing the topological representation of cross-layer structures. Without slope topology clustering, the slope region contains numerous redundant nodes; however, after processing with the community clustering algorithm of this application, redundant nodes are effectively removed, yielding an accurate slope topology structure. In summary, existing solutions suffer from redundancy in topological nodes and low path planning efficiency in closed slope scenarios, and fail completely in non-closed slope environments because they cannot generate topological nodes that conform to the motion plane of the ground platform. In contrast, this application can achieve efficient, concise, and safe topological map generation for various three-dimensional slope structures, providing real-time navigation capabilities for cross-floor operations of ground mobile platforms.

[0087] Based on current research, relevant topology map construction methods can be mainly divided into three categories. The first category extracts the topological skeleton from dense grid maps, Euclidean symbolic distance fields, or Vinographs. While this can effectively represent the geometric skeleton of the environment, it relies on a relatively complete metric map, and the computational costs of distance field construction, skeleton extraction, and topology pruning are high. The second category utilizes visual or multimodal features for location identification and node generation, enhancing relocalization capabilities. However, node distribution is strongly correlated with the platform's historical trajectory and visual similarity, easily leading to insufficient coverage or matching errors in sparse trajectories, repetitive textures, or similar scenes. The third category constructs topological nodes through spatial decomposition, voxel aggregation, or sphere filling, reducing reliance on dense maps. However, most methods primarily generate nodes based on geometric spatial relationships, failing to fully consider the pose, motion constraints, and slope access characteristics of the ground mobile platform. This can easily result in redundant nodes, invalid edges, or insufficient cross-floor connectivity in narrow passages, ramps, and multi-story environments.

[0088] Unlike the methods described above, this application addresses the online 3D navigation needs of ground mobile platforms by combining real-time platform pose constraints, point cloud nearest obstacle distance queries, recursive free space coverage, and local connectivity verification to construct a topology map. Specifically, this application does not rely on offline extraction of the topology structure from a complete distance field or global skeleton, nor does it rely on visual similarity to determine node positions. Instead, it generates candidate free spheres that satisfy traffic constraints within the platform's currently observable area and forms representative topology nodes through spatial clustering. Free space overlap judgment or local collision-free path search is only performed between adjacent nodes, and connections that pass safe distance verification are written into the topology edges. For slope areas, slope nodes are identified using platform pose and local normal vectors, and redundant nodes on the same continuous slope are merged through community clustering, compressing the topology scale while preserving cross-floor connectivity. Therefore, this application can generate a 3D topology structure online that better reflects the actual navigability of ground mobile platforms without relying on pre-built high-quality metric maps, improving topology effectiveness, planning efficiency, and navigation success rate in narrow, complex, and multi-floor environments.

[0089] Thus, by using a topology node generation strategy based on platform pose, the distribution of topology nodes is constrained within the motion plane of the ground mobile platform, which can be directly applied to the platform's autonomous navigation. A 3D topology map can be quickly generated online using only 3D LiDAR and IMU (Inertial Measurement Unit), supporting cross-floor navigation. Online adjustment and optimization effectively update the topology representation, maintaining consistency between the map and the real environment. A post-processing mechanism to simplify slope topology is introduced, improving cross-floor search efficiency. Spatial discretization and dynamic pose region filtering reduce computational redundancy. An adaptive sphere recursive filling strategy generates the largest inscribed free sphere and recursively decomposes it according to a radius threshold, ensuring fine coverage of complex spaces. Louvain community clustering (a community clustering method) simplifies slope topology, performing community clustering based on the similarity of node normals and selecting the node with the highest betweenness centrality as the representative, simplifying the cross-floor structure. Distance field search is used to find collision-free paths and straighten them, reducing memory usage. In complex environments such as multi-story parking lots and spiral slopes, it significantly reduces node redundancy and improves navigation efficiency compared to traditional methods, and real-world experiments verify its robustness.

[0090] The embodiments of this application provide a map generation apparatus, the map generation apparatus specifically as follows: Figure 4 As shown, the map generation device includes: a decomposition module 20, a determination module 21, a clustering module 22, and a generation module 23.

[0091] The decomposition module 20 is used to decompose the working environment of the mobile platform into multiple spatial blocks and select the spatial block that matches the pose data of the mobile platform as the spatial block to be processed. The determination module 21 is used to construct a spatial geometry based on the distance from the center of each spatial block to its nearest obstacle, determine candidate topological nodes based on the comparison result of the size of the spatial geometry and a preset threshold, and determine the node type of the candidate topological nodes based on the pose data. The clustering module 22 is used to obtain the normal vector of the first type node if the candidate topological node is a first type node, and to cluster the first type nodes into at least one community based on the similarity of the normal vectors between the first type nodes, and to select the first target node from the community; if the candidate topological node is a second type node, to obtain the spatial proximity between the second type nodes, and to cluster the second type nodes into at least one cluster based on the spatial proximity, and to select the second target node from the cluster. The generation module 23 is used to determine the target topology nodes based on the first target node and / or the second target node, establish topology edges between the target topology nodes, and generate a topology map.

[0092] Specific limitations regarding the map generation device can be found in the limitations of the map generation method described above, and will not be repeated here. Each module in the aforementioned map generation device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in hardware or independently of the processor in the electronic device, or stored in software in the memory of the electronic device, so that the processor can call and execute the corresponding operations of each module.

[0093] like Figure 5 As shown, embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above-described map generation method embodiments.

[0094] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described map generation method embodiments at runtime.

[0095] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0096] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described map generation method embodiments.

[0097] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in any of the above-described map generation method embodiments.

[0098] Any of the components, modules, units, parts, methods, and operations described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or any combination thereof. Alternatively or additionally, any functionality described herein can be executed at least in part by one or more hardware logic components, such as, but not limited to, a central processing unit (CPU), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), an application-specific standard product (ASSP), a system-on-a-chip (SoC), a complex programmable logic device (CPLD), a microprocessor (MCU), etc. The terms "system," "electronic device," or "apparatus" used herein encompass various means, devices, and machines for processing data, including, for example, one or more programmable processors, computers, SoCs, or combinations thereof. The apparatus may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof. The aforementioned computer program (also known as a program, software, software application, app, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for a computing environment.

[0099] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0100] The map generation method provided in this application has been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only intended to help understand the method and its core ideas. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of this application.

Claims

1. A map generation method, characterized in that, The method includes: The working environment of the mobile platform is decomposed into multiple spatial blocks, and the spatial block that matches the pose data of the mobile platform is selected as the spatial block to be processed. Based on the distance from the center of each spatial block to its nearest obstacle, a spatial geometry is constructed. Candidate topology nodes are determined based on a comparison between the size of the spatial geometry and a preset threshold. This includes: constructing a sphere with the center of each spatial block as its center and the distance from the center of the sphere to its nearest obstacle as its radius; using the sphere as the spatial geometry; comparing the radius of the sphere with a preset threshold; if the radius of the sphere is greater than or equal to the preset threshold, then the center of the sphere is selected as a candidate topology node; if the radius of the sphere is less than the preset threshold, then the spatial block to be processed corresponding to the sphere is recursively decomposed into multiple sub-spatial blocks until a termination condition is met, and the center of the sphere constructed based on each sub-spatial block that meets the termination condition is selected as a candidate topology node; the termination condition includes each sub-spatial block reaching a preset minimum resolution, or the radius of the sphere constructed based on each sub-spatial block being greater than or equal to a preset threshold. The node type of the candidate topology node is determined based on the pose data; If the candidate topological node is a first type node, obtain the normal vector of the first type node, cluster the first type nodes into at least one community based on the similarity of the normal vectors between the first type nodes, and select the first target node from the community; If the candidate topology node is a second type node, obtain the spatial proximity between the second type nodes, cluster the second type nodes into at least one cluster based on the spatial proximity, and filter the second target node from the clusters; Target topology nodes are determined based on the first target node and / or the second target node, topology edges are established between the target topology nodes, and a topology map is generated.

2. The map generation method according to claim 1, characterized in that, The step of decomposing the working environment of the mobile platform into multiple spatial blocks and selecting the spatial block that matches the pose data of the mobile platform as the spatial block to be processed includes: Obtain point cloud data of the working environment of the mobile platform; discretize the working environment corresponding to the point cloud data into multiple spatial blocks according to the spatial distribution of the point cloud data and preset decomposition parameters; and establish an index relationship between each spatial block and the point cloud data. A bounding box is established based on the pose data of the mobile platform, and the height of the bounding box is adjusted according to the pitch angle of the mobile platform. The spatial blocks that spatially overlap with the bounding box among the plurality of spatial blocks are taken as spatial blocks to be processed.

3. The map generation method according to claim 1, characterized in that, The recursive decomposition of the space block to be processed corresponding to the sphere into multiple subspace blocks includes: The radius of the sphere is compared with the recursive decomposition threshold; When the radius of the sphere is greater than the recursive decomposition threshold, the center of the space block to be processed is taken as the origin, and the space block to be processed is expanded in the positive and negative directions along the three orthogonal axes of the space block to be processed, thereby decomposing the space block to be processed into multiple subspace blocks. When the radius of the sphere is less than or equal to the recursive decomposition threshold, the space block to be processed is divided into two equal parts along the three orthogonal axes, and the space block to be processed is uniformly divided into multiple subspace blocks.

4. The map generation method according to claim 1, characterized in that, The step of determining the node type of the candidate topology node based on the pose data includes: The node type of each candidate topology node is determined based on the pitch angle of the mobile platform; If the pitch angle is greater than a preset angle threshold, then the candidate topology node is determined to be a first type of node; If the pitch angle is less than or equal to the preset angle threshold, then the candidate topology node is determined to be a second type node.

5. The map generation method according to claim 1, characterized in that, The process of obtaining the normal vector of the first type of node includes: Extract the target point cloud data within the spatial block corresponding to each first-type node; Calculate the centroid of the target point cloud data; Based on the distribution of each point in the target point cloud data relative to the centroid, construct the covariance matrix; The covariance matrix is ​​decomposed into eigenvalues ​​to obtain multiple eigenvalues ​​and corresponding eigenvectors. The eigenvector corresponding to the smallest eigenvalue is used as the normal vector of the first type of node.

6. The map generation method according to claim 5, characterized in that, The step of clustering the first type of nodes into at least one community based on the similarity of their normal vectors, and then selecting the first target node from the community, includes: Calculate the inner product between the normal vectors of each first type of node, and use the inner product as the first similarity. Cluster the first type of nodes with a first similarity greater than a preset similarity threshold into the same community; Calculate the betweenness centrality of type I nodes in each community; Select the first type node with the highest betweenness centrality from each community as the first target node.

7. The map generation method according to claim 1, characterized in that, The process of obtaining the spatial proximity between the second type of nodes includes: Obtain the spatial coordinates of each node of the second type; Based on the spatial coordinates of the second type of nodes, the spatial distance between the second type of nodes is calculated, and the spatial proximity is determined according to the spatial distance.

8. The map generation method according to claim 7, characterized in that, The step of clustering the second type of nodes into at least one cluster based on the spatial proximity, and then filtering the second target node from the cluster, includes: Cluster the second type of nodes whose spatial distance is less than a preset distance threshold into the same cluster; Calculate the average of the spatial coordinates of the second type nodes in each cluster, and use it as the geometric center of each cluster; Calculate the distance from each second-type node to the geometric center of its respective cluster; The second type node that is closest to the geometric center in each cluster is selected as the second target node.

9. The map generation method according to claim 1, characterized in that, Establishing topological edges between the target topological nodes and generating a topological map includes: Perform a collision-free path search among the target topology nodes; Establish topological edges between target topological nodes that have collision-free paths; The topology map is generated based on the target topology node and the topology edge; The collision-free path search includes: Obtain the spatial relationship between the target topology nodes, and select two nodes whose spatial relationship satisfies a preset proximity condition as a node pair to be searched; Search for a path connecting the two nodes in the node pair to be searched in the distance field; the distance field is used to record the distance from each location in the working environment to the nearest obstacle. If the distance from each path node to its nearest obstacle is greater than a safe distance threshold, then the path is considered a collision-free path.

10. The map generation method according to claim 1, characterized in that, The method further includes: Obtain the current location and historical mapping trajectory of the mobile platform; When the distance between the current location and a location in the historical mapping trajectory is less than a preset revisit threshold, the current area is determined to be a revisited area of ​​the map, and the relevant topological nodes and candidate topological nodes in the revisited area are obtained. Based on the comparison results between the candidate topology nodes and the relevant topology nodes, the topology nodes in the revisited area are divided into newly added nodes, retained nodes, and deleted nodes; For the newly added node, add it to the topology map, search for feasible paths between the newly added node and its neighboring nodes, and establish the corresponding topology edges; For the reserved nodes, their original topological structure in the topology map is maintained; For the node to be deleted, remove it from the topology map and delete the topology edges associated with it.

11. The map generation method according to claim 10, characterized in that, The step of classifying the topology nodes in the revisited region into newly added nodes, retained nodes, and deleted nodes based on the comparison results between the candidate topology nodes and the relevant topology nodes includes: If the relevant topology node has no corresponding candidate topology node in the revisit area, then the relevant topology node is classified as a deletion node; If the candidate topology node has no corresponding related topology node in the revisited area, then the candidate topology node is classified as a new node. If the relevant topology node and the candidate topology node have a corresponding relationship in the revisit area, then the relevant topology node is classified as a reserved node.

12. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the map generation method as described in any one of claims 1 to 11 when executing the computer program.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the map generation method as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Detailed map construction method and device

    CN104567893A

  • Three-dimensional topological graph construction method and system, robot and readable storage medium

    CN121661243A