Map cutting and spatial navigation method in slam large scene
By using a collaborative architecture between central and edge servers, the local map range and overlapping areas are dynamically managed, solving the problems of high cost and low efficiency in large-scale SLAM scenarios. This improves the stability and adaptability of robot navigation and is suitable for map cutting and spatial navigation in complex large-scale scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG SUPCON INFORMATION TECH CO LTD
- Filing Date
- 2025-09-11
- Publication Date
- 2026-04-28
AI Technical Summary
Existing SLAM technology suffers from high cost, low computational efficiency, and high latency in large-scale scenarios, especially in dynamically changing environments where it is difficult to quickly update local environmental information, affecting navigation adaptability and accuracy.
A collaborative architecture of central server and edge server is adopted. The central server dynamically determines the local map range and overlapping areas based on the robot's speed range and the density of environmental obstacles, while the edge server dynamically manages the local map according to the robot's real-time pose and path, so as to realize the updating of the local map cached by the robot and the smooth handover of the coverage area across edge servers.
It effectively solves the problem of insufficient robot memory caused by large global map data in large scenarios, ensuring smooth and continuous map switching during robot movement, improving navigation stability, efficiency and adaptability, and reducing hardware costs and computing load.
Smart Images

Figure CN121140766B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot navigation technology, and in particular to a map segmentation and spatial navigation method for large-scale SLAM scenarios. Background Technology
[0002] In various scenarios such as industry, power, industrial parks, and scenic areas, robots have begun to replace human labor in tasks such as inspection, security, and cleaning. These robots generally employ SLAM navigation technology to achieve autonomous movement. Through SLAM technology, robots can accurately model the work area and perform tasks based on this model. However, when processing large-scale scene maps, the large size of the map model necessitates high resource allocation for edge servers to load the model. This method is not only costly and computationally inefficient, but also suffers from high latency in autonomous movement.
[0003] In addition, some large-scale scenarios have dynamic environmental changes (such as materials temporarily piled up in industrial parks, fluctuations in the flow of people in scenic spots, and temporary construction areas in power scenarios). If the edge server always loads a fixed complete global map, it will be difficult to quickly update local environmental change information, which will further reduce the adaptability and accuracy of robot navigation.
[0004] Therefore, there is an urgent need for a map segmentation and spatial navigation method for large-scale SLAM scenarios. Summary of the Invention
[0005] (a) Technical problems to be solved
[0006] In view of the above-mentioned shortcomings and deficiencies of the prior art, this application provides a map segmentation and spatial navigation method for large-scale SLAM scenarios, which solves the technical problems of high cost, low computational efficiency and high latency of robot autonomous walking in the prior art.
[0007] (II) Technical Solution
[0008] To achieve the above objectives, the main technical solutions adopted in this application include:
[0009] In a first aspect, embodiments of this application provide a map segmentation and spatial navigation method for large-scale SLAM scenarios, applicable to complex environments with multiple edge servers and a central server. The method includes:
[0010] The edge server is preloaded with multiple local maps within its coverage area issued by the central server, and adjacent local maps have overlapping areas; all local maps of all edge servers constitute the SLAM global map;
[0011] The edge server receives the real-time pose uploaded by the robot and determines whether the robot is in a non-overlapping or overlapping area of the local map based on the real-time pose. If the robot is in an overlapping area, the server determines the two local maps where the robot is currently located and the local map of the next path segment based on the robot's path information.
[0012] The edge server sends map update information to the robot based on the two local maps currently in which the robot is located and the local map of the next path segment. The map update information includes: releasing the local maps that have been traversed and loading the local map of the next path segment; so that the robot updates the map information cached in the robot based on the map update information, and the number of local maps loaded in the robot's memory is within a preset range.
[0013] Optionally, in some embodiments of this application, the edge server is pre-loaded with multiple local maps within its coverage area issued by the central server, including:
[0014] The central server acquires a global SLAM map based on complex environments and SLAM navigation technology;
[0015] The central server determines the extent of each local map and the extent of the overlapping area between adjacent local maps based on the robot's speed range and obstacle density in the complex environment.
[0016] The central server uses a slicing tool to slice the SLAM global map and obtain multiple local maps, with overlapping areas between adjacent local maps;
[0017] The central server determines the local map corresponding to each edge server based on the location information and coverage area of each edge server, and sends the local map corresponding to each edge server to that edge server.
[0018] Optionally, in some embodiments of this application, the central server determines the extent of each local map and the extent of the overlapping area of adjacent local maps based on the robot's speed range and obstacle density in the complex environment, including:
[0019] The central server obtains the obstacle density of the complex environment based on the SLAM global map, and obtains the extent of each local map based on the obstacle density of the complex environment.
[0020] The central server determines the range of overlapping areas between adjacent local maps based on the robot's speed range and the obstacle density in the complex environment.
[0021] Optionally, in some embodiments of this application, the central server obtains the obstacle density of the complex environment based on the SLAM global map, and obtains the extent of each local map based on the obstacle density of the complex environment, including:
[0022] The central server preprocesses the corresponding lidar point cloud data in the SLAM global map, removes ground point cloud and noise point cloud, and obtains the preprocessed point cloud data of obstacles.
[0023] The central server uses a Euclidean clustering algorithm to perform cluster analysis on the preprocessed point cloud data of obstacles to obtain the obstacle density of the complex environment.
[0024] The central server obtains the cutting priority scores of different regions of the SLAM global map based on the obstacle density of the complex environment; and determines the regions whose cutting priority scores exceed a preset threshold as initial seed regions.
[0025] The central server uses the initial seed region as the core and employs a region growing method to develop the initial seed region into multiple local maps that meet preset area constraints, and obtains the range of each local map.
[0026] Optionally, in some embodiments of this application, the central server uses the initial seed region as the core and employs a region growing method to develop the initial seed region into multiple local maps that satisfy preset area constraints, and obtains the extent of each local map, including:
[0027] The central server uses the initial seed region as the core and employs a region growing method for iterative map segmentation. In each growth iteration, it obtains the assignment cost of all unassigned map units adjacent to the growing region. The assignment cost is calculated based on the cutting priority score of the location of the unassigned map unit and is inversely proportional to the cutting priority score. The unassigned map unit with the lowest assignment cost is merged into the adjacent growing region. Whenever the area of a growing region reaches a preset upper limit, its growth is stopped and it is identified as a local map, and the range of the local map is obtained.
[0028] Optionally, in some embodiments of this application, the central server obtains the cutting priority score of different regions of the SLAM global map based on the obstacle density of the complex environment, including:
[0029] The central server divides the SLAM global map into several unit regions using a 5m×5m grid. The basic cutting priority score for each unit region is the obstacle density of that region multiplied by a weight coefficient.
[0030] If there is a volume ≥8m³ within the unit region 3 For obstacles, an additional 3 points are added to the basic cutting priority score as the cutting priority score.
[0031] Optionally, in some embodiments of this application, the central server determines the range of overlapping areas of adjacent local maps based on the robot's speed range and obstacle density in the complex environment, including:
[0032] The central server obtains the maximum and minimum movement speed thresholds of the robot in the complex environment, and obtains the basic overlap width according to the preset map switching time.
[0033] The central server adjusts the basic overlap width based on the obstacle density of the complex environment. When the obstacle density of the adjacent local map connection area is higher than the preset density threshold, the overlap area width is adjusted to W0×(1+α). If the obstacle density is lower than the preset density threshold, the overlap area width is adjusted to W0×(1-β), where W0 is the basic overlap width and α and β are correction coefficients.
[0034] The central server determines the corrected width of the overlapping area as the range of the overlapping area of adjacent local maps.
[0035] Optionally, in some embodiments of this application, the central server preprocesses the corresponding LiDAR point cloud data in the SLAM global map to remove ground point clouds and noise point clouds, and obtains preprocessed obstacle point cloud data, including:
[0036] The central server uses the RANSAC ground segmentation algorithm to remove ground point cloud from the lidar point cloud data, and uses a statistical filtering algorithm to filter point cloud noise to obtain the first obstacle point cloud data.
[0037] The central server downsamples the first obstacle point cloud data to obtain preprocessed obstacle point cloud data.
[0038] Optionally, in some embodiments of this application, the method further includes:
[0039] If the edge server determines that the robot is about to enter a local map outside the coverage area of the edge server, it will transfer the robot's real-time pose to an edge server within the coverage area of the local map as the target edge server, and the target edge server will send map update information to the robot.
[0040] Secondly, embodiments of this application provide a computer device, including:
[0041] The system includes a memory and a processor, which are interconnected. The memory stores computer instructions, and the processor executes these computer instructions to enable the computer device to perform the aforementioned map cutting and spatial navigation method for large-scale SLAM scenarios.
[0042] (III) Beneficial Effects
[0043] This application provides a map segmentation and spatial navigation method for large-scale SLAM scenarios. By employing a collaborative architecture of a central server and edge servers, the central server dynamically determines the local map range and overlapping areas based on the robot's speed range and the density of environmental obstacles. The edge servers dynamically manage the robot's cached local maps based on the robot's real-time pose and path (releasing previously traversed maps and loading maps needed for the next path segment). It also supports smooth handover across the coverage areas of different edge servers. Compared to existing technologies, this method effectively solves the problem of insufficient robot memory caused by the large volume of global map data in large-scale scenarios. It ensures smooth and continuous map switching during robot movement, avoiding the impact of untimely or redundant map loading on navigation performance. This achieves the technical effect of improving the stability, efficiency, and adaptability of robots in large-scale SLAM navigation, and expanding the application of SLAM technology in complex large-scale scenarios. Attached Figure Description
[0044] Figure 1 This is a flowchart illustrating a SLAM map segmentation and spatial navigation method for large-scale scenes according to an embodiment of this application;
[0045] Figure 2 This is an internal flowchart of a central server according to an embodiment of this application;
[0046] Figure 3 This is a schematic diagram of path information of a robot according to an embodiment of this application. Detailed Implementation
[0047] To better explain and facilitate understanding of this application, the following detailed description of the application is provided in conjunction with the accompanying drawings and specific embodiments.
[0048] In diverse settings such as industrial plants, power substations, large industrial parks, and cultural and tourism scenic areas, robots are increasingly replacing human labor in tasks such as inspection, security, and cleaning. In industrial settings, robots need to conduct frequent inspections of production line equipment and warehouse shelves to ensure production safety. In power settings, they need to perform line checks and equipment status monitoring in areas with dense high-voltage equipment to avoid the safety risks associated with manual inspections. In industrial parks and scenic areas, robots are required to perform large-scale, long-duration security patrols or environmental cleaning to meet the demands for improved operational efficiency and service quality.
[0049] To achieve autonomous movement, robots in the aforementioned scenarios generally rely on SLAM (Simultaneous Localization and Mapping) navigation technology. Through SLAM, robots can collect data from devices such as LiDAR and vision sensors in real time in unknown or dynamically changing environments, complete 3D point cloud modeling of the work area and self-positioning, and then plan paths and autonomously avoid obstacles based on accurate maps to ensure efficient task execution.
[0050] However, when SLAM technology is applied to large-scale scenarios, such as industrial parks covering more than one million square meters, cross-regional power line corridors, and vast natural scenic areas, its map processing and navigation efficiency faces significant bottlenecks. On the one hand, the global map data volume of SLAM in large-scale scenarios is extremely large, containing massive amounts of environmental feature points, obstacle information, and topology. If the edge server directly loads the complete global map, it needs to be configured with high-performance processors, large-capacity memory, and storage devices, leading to a significant increase in hardware procurement and maintenance costs, making it difficult to promote in scenarios requiring low-cost deployment. On the other hand, the massive map data will significantly increase the computing load of the edge server, not only slowing down the response speed of map loading and updating, but also causing low computational efficiency in robot path planning and pose matching, which in turn leads to delays in robot autonomous walking, navigation lag, and untimely obstacle avoidance. In severe cases, it can even affect the inspection accuracy, such as missing hidden dangers in industrial equipment or misjudging the status of power equipment.
[0051] Furthermore, some large-scale scenarios exhibit dynamic environmental changes, such as temporarily stockpiled materials in industrial parks, fluctuating visitor flow in scenic areas, and temporary construction areas in power scenarios. If the edge server always loads a fixed, complete global map, it is difficult to quickly update information on local environmental changes, further reducing the adaptability and accuracy of robot navigation. Therefore, there is an urgent need for a SLAM-based map segmentation and spatial navigation method for large-scale scenarios that can adapt to the characteristics of large-scale scenarios, reduce edge server resource consumption, and improve navigation response speed and accuracy. This would overcome existing technological bottlenecks and promote the large-scale and efficient application of robots in various large-scale scenarios.
[0052] To better understand the above technical solutions, exemplary embodiments of this application will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this application can be understood more clearly and thoroughly, and that the scope of this application can be fully conveyed to those skilled in the art.
[0053] Figure 1 This is a flowchart illustrating a SLAM-based map segmentation and spatial navigation method for large-scale scenes according to an embodiment of this application. Figure 1 As shown, this SLAM large-scale scene map cutting and spatial navigation method is applied to a complex environment with multiple edge servers and a central server. The method includes:
[0054] Step S1: The edge server is preloaded with multiple local maps within its coverage area issued by the central server, and adjacent local maps have overlapping areas; all local maps of all edge servers form the SLAM global map.
[0055] In this embodiment, step S1 is the basic preparation step for the entire SLAM large scene map segmentation and spatial navigation method. The core is that the central server’s global overall planning and the edge server’s distributed storage work together to solve the problem of excessive resource consumption when loading the complete global map by a single traditional server. At the same time, the cooperation between the two ends ensures the accuracy and adaptability of local map preloading, laying a stable data foundation for the robot’s subsequent dynamic navigation.
[0056] Specifically, before the edge server preloads the local map, the central server needs to complete the core actions of "data processing + task allocation + map cutting" to provide the edge server with a clear basis for loading. Therefore, in the specific implementation process, the central server performs the following steps (such as...). Figure 2 (as shown)
[0057] Step A1: The central server acquires a global SLAM map based on the complex environment and SLAM navigation technology;
[0058] In the specific implementation process, the central server does not rely solely on LiDAR data. Instead, it employs a collaborative acquisition approach combining LiDAR, a visual camera, and an infrared sensor. LiDAR acquires 3D geometric data of the environment, the visual camera captures high-resolution images, and the infrared sensor supplements this with thermal imaging data in low-light conditions. Subsequently, a spatiotemporal registration algorithm is used to fuse these three types of data into multi-dimensional map data within a unified coordinate system. This addresses the data gaps caused by a single sensor in complex environments, thereby improving the environmental coverage of the global map.
[0059] Specifically, based on the above three types of data, a global SLAM map is obtained, including:
[0060] Using the denoised LiDAR point cloud as the core framework, the high-definition image processed by the visual camera is mapped to the point cloud through coordinate transformation to complete the texture and color information. At the same time, the heat source contour of the infrared thermal imaging is bound to the corresponding point cloud cluster, and thermal features are added to form a three-dimensional basic map of "geometry + vision + thermal features". For sensor blind spots, such as strong light and dark areas, other data are used to complete the map, such as using laser to compensate for camera overexposure and infrared to compensate for laser details.
[0061] Furthermore, GPS+BeiDou dual-mode positioning is used to associate the base map with the real geographic coordinates, determine the overall position of the map in the global coordinate system, and avoid map drift. At the same time, the overall attitude of the map frame is fine-tuned by using the trajectory data of the IMU carried by the robot to ensure that the spatial attitude of the map is consistent with that of the actual scene.
[0062] In addition, "robot closed-loop detection optimization" is introduced to perform error calibration on areas repeatedly traversed in the robot's collected trajectory, such as equipment channels that the robot travels back and forth. Specifically, point cloud data and semantic information collected twice in the same area are compared to identify inconsistencies caused by accumulated errors. An error function is constructed through factor graphs, and the map data is iteratively adjusted with the goal of minimizing the overall error. Finally, the overall positioning accuracy of the global map is controlled within ±3cm.
[0063] After completing the above steps, the central server performs format integration and quality verification on the map data, outputting a SLAM global map that can be directly used for subsequent segmentation, specifically including:
[0064] The merged multi-dimensional map data is converted into a universal map format—3D point cloud data is stored in PCD format, global coordinate system parameters are stored in XML format, and a 2D top view of the global map is stored in PNG format, ensuring that edge servers and robots can read it compatiblely.
[0065] Step A1 above improves map coverage by fusing multi-source data to fill in sensor blind spots such as strong light and darkness. At the same time, it eliminates global drift of traditional maps by using GPS + Beidou and IMU fine-tuning to ensure that the map is consistent with the actual scene and prevents the robot from deviating from the route. After closed-loop detection optimization, the global positioning accuracy is controlled within ±3cm (±1cm in critical areas), which meets the high-precision requirements and reduces robot navigation stuttering. Finally, through universal format and quality verification, it achieves multi-system compatibility, avoids subsequent failures in advance, and reduces operation and maintenance costs.
[0066] Step A2: The central server determines the extent of each local map and the extent of the overlapping area between adjacent local maps based on the robot's speed range and obstacle density in the complex environment.
[0067] Step A2 specifically includes:
[0068] Step A21: The central server obtains the obstacle density of the complex environment based on the SLAM global map, and obtains the range of each local map based on the obstacle density of the complex environment.
[0069] Step A21 specifically includes:
[0070] Step A211: The central server preprocesses the corresponding LiDAR point cloud data in the SLAM global map, removing ground point clouds and noise point clouds to obtain preprocessed obstacle point cloud data. It can be seen that the central server uses a "staged precise processing + dynamic parameter adaptation" process to remove ground and noise point clouds from the LiDAR point cloud data corresponding to the SLAM global map, while retaining detailed obstacle features, providing high-quality data for subsequent clustering analysis. The specific implementation steps are as follows:
[0071] The central server uses the RANSAC ground segmentation algorithm to remove ground point cloud from the lidar point cloud data, and uses a statistical filtering algorithm to filter point cloud noise to obtain the first obstacle point cloud data.
[0072] Specifically, firstly, for the large-area ground reflection points present in the original LiDAR point cloud, the central server uses a ground segmentation algorithm based on RANSAC (Random Sample Consensus) to remove ground point clouds. Specifically, the central server randomly selects several non-collinear points from the input point cloud to form an initial hypothetical plane model, and continuously optimizes the plane parameters iteratively: in each iteration, the vertical distance from all points to the currently fitted plane is calculated, and points with distances less than a preset threshold are classified as inliers. The preset threshold is typically set to 0.15-0.30 meters, adjusted according to sensor resolution and scene terrain. Next, a more accurate plane equation is refitted based on these inliers. When the number of inliers stabilizes or reaches the maximum number of iterations, such as 1000, the algorithm converges, outputting the optimal ground plane model. Subsequently, all point cloud data belonging to this ground model are removed from the original point cloud, retaining the remaining non-ground points as obstacle point cloud data. These points are mainly distributed on vehicles, pedestrians, curbs, guardrails, trees, and other non-ground objects. This step effectively avoids interference from ground echoes on obstacle detection, and has good adaptability, especially in complex urban roads or slightly sloping scenarios.
[0073] Next, to eliminate outlier noise points introduced by atmospheric scattering, sensor errors, original distance signal attenuation, or electromagnetic interference, the central server applies a statistical filtering algorithm to the obstacle point cloud data for denoising. This algorithm, based on local neighborhood statistical characteristics, searches for each point's neighboring points within a specified radius, calculates the mean μ and standard deviation σ of the number of points in its neighborhood, and sets a removal threshold of μ-kσ (k is typically 1.0~2.0, with a typical value of 1.5). Points with a significantly lower number of neighboring points than this threshold are identified as isolated noise points and deleted, thus obtaining a more compact and reasonably distributed first obstacle point cloud data.
[0074] The central server downsamples the first obstacle point cloud data to obtain preprocessed obstacle point cloud data.
[0075] To further reduce the amount of data and improve the real-time processing performance of the central server, while avoiding computational resource spikes caused by excessively high point cloud density, the central server also performs downsampling operations on the denoised first obstacle point cloud data, specifically using a voxel grid filtering method to achieve spatial uniformity sampling.
[0076] Specifically, the three-dimensional space is divided into cubic voxel units with consistent side lengths. The voxel size can be flexibly set according to the application scenario. For example, 0.1m×0.1m×0.1m is used for static scenes, while it can be appropriately relaxed to 0.2m×0.2m×0.2m for dynamic high-speed scenes. For all point cloud data within each non-empty voxel, its geometric center or mass center is calculated, and this representative point is used to replace all original points within the voxel. Finally, sparse but well-structured preprocessed obstacle point cloud data is generated.
[0077] This downsampling strategy significantly reduces the total number of point clouds while preserving the contour features and spatial topological relationships of obstacles to the greatest extent.
[0078] Step A212: The central server uses Euclidean clustering algorithm to perform cluster analysis on the preprocessed point cloud data of obstacles to obtain the obstacle density in the complex environment.
[0079] In this embodiment, specifically, the central server first organizes the preprocessed point cloud data into an efficient three-dimensional spatial index structure, such as a KD-tree (K-Dimensional Tree) or an octree, to accelerate subsequent neighborhood search operations. Based on this, a clustering method based on Euclidean distance is employed: for each unvisited point in the point cloud, all spatially neighboring points are searched within a set neighborhood radius, centered on that point. This clustering region is recursively expanded using breadth-first search or depth-first search. The neighborhood radius is typically 0.3 to 1.0 meters, dynamically adjusted according to scene density; for example, 0.5 meters in densely populated urban areas and 0.8 meters in suburban areas. All mutually reachable points are gradually merged into a connected component until no further expansion is possible. Each connected component represents a potential independent obstacle object (such as a vehicle, pedestrian, non-motorized vehicle, traffic barrier, etc.). To ensure the reasonableness of the clustering results, minimum and maximum point count thresholds are set (e.g., minimum 3 points, maximum 5000 points) to filter out invalid clusters formed by residual noise or small reflective objects, while avoiding the erroneous merging of multiple adjacent obstacles into one large cluster. Furthermore, to adapt to the problem of uneven obstacle distribution in complex environments, such as dense pedestrian traffic at intersections and sparse vehicle traffic on highways, the central server introduces an adaptive neighborhood radius mechanism or a regional density estimation strategy to improve the robustness of the clustering algorithm in multi-scale scenarios. After clustering, the number of obstacle clusters within a unit spatial volume (e.g., every 10m × 10m grid) is counted, and the obstacle density index of the local environment is calculated by combining the spatial location, volume, and point cloud density information of each cluster.
[0080] In summary, this step constructs a quantitative representation of environmental complexity using the Euclidean clustering algorithm, providing crucial spatial distribution information for subsequent situational understanding, risk assessment, and collaborative decision-making.
[0081] Step A213: The central server obtains the cutting priority scores of different regions of the SLAM global map based on the obstacle density of the complex environment; and determines the regions whose cutting priority scores exceed a preset threshold as the initial seed regions.
[0082] The central server obtains segmentation priority scores for different regions of the SLAM global map based on obstacle density in complex environments, including:
[0083] The central server divides the SLAM global map into several unit regions using a 5m×5m grid. The basic cutting priority score for each unit region is the obstacle density of that region multiplied by a weight coefficient.
[0084] If there is a volume ≥8m³ within the unit region 3 For obstacles, an additional 3 points will be added to the basic cutting priority score as a cutting priority score.
[0085] In step A213, the central server further divides the SLAM global map into spatial regions based on the obstacle density information of the complex environment obtained in the previous step. This aims to identify key areas in the environment with high perception complexity, frequent dynamic changes, and significant impact on path planning and safety decisions. Based on this, a "cutting priority score" is generated to guide subsequent map tile processing.
[0086] Specifically, the central server first spatially discretizes the SLAM global map on a two-dimensional horizontal plane using a regular 5m x 5m grid, forming several non-overlapping unit regions. Each unit region corresponds to an independent geospatial location label, facilitating subsequent indexing and management. The selection of this grid size comprehensively considers the balance between the effective sensing range of the LiDAR, the size of typical obstacles, and computational efficiency: too small a grid will lead to a surge in the number of regions, increasing computational overhead; too large a grid may mask local density differences, reducing assessment accuracy.
[0087] For each unit region, the central server calculates its basic segmentation priority score, which is obtained by multiplying the obstacle density within that region by a preset weighting coefficient. The obstacle density is defined as the ratio of the number of independent obstacle clusters identified by Euclidean clustering within the grid to the grid area, expressed in "obstacles / square meter". The weighting coefficient is an adjustable parameter, typically set according to the application scenario. For example, it is set to 10 in urban autonomous driving scenarios to amplify the impact of density; in high-speed scenarios, it can be set to 5 to reduce interference from static obstacles. Its function is to map the original density value to a reasonable scoring range (e.g., 0–100 points), facilitating subsequent threshold judgment and multi-source score fusion.
[0088] To further enhance the semantic richness and physical relevance of the scoring, a key obstacle enhancement mechanism is introduced: if at least one obstacle identified through clustering has a volume greater than or equal to 8 cubic meters within a certain unit area, an additional 3 points are added to the basic cutting priority score for that area, which is then used as the final cutting priority score. This criterion can effectively identify large obstacles that have a significant impact on traffic flow, such as parked vehicles, construction machinery, and large containers, and assign them a higher map processing priority.
[0089] After calculating the scores for all unit regions, the central server sets a preset threshold, determined based on historical data statistics or experimental optimization. All unit regions whose priority scores exceed this threshold are marked as "initial seed regions." These regions typically possess one or a combination of the following characteristics: high obstacle density, presence of large stationary or moving obstacles, or both. They represent key areas in the environment with high perception complexity, high potential collision risk, and requiring priority attention. The determination of initial seed regions provides a clear starting point for subsequent dynamic map updates, local reconstruction, point cloud encryption processing of key areas, or multi-vehicle collaborative perception task allocation.
[0090] Furthermore, the central server in this embodiment also incorporates time-dimensional information, calculates the rate of change of scores by combining historical scoring data, and assigns higher priority to areas that change rapidly.
[0091] In summary, this step, through the process of "grid division - density scoring - key object enhancement - threshold screening," realizes the transformation from obstacle distribution data to semantic priority of map areas. It not only quantifies the complexity of the environment but also accurately locates the map areas that need to be prioritized, laying a spatial decision-making foundation for building an efficient, intelligent, and responsive centralized collaborative perception system.
[0092] In step A214, the central server uses the initial seed region as the core and employs the region growing method to develop the initial seed region into multiple local maps that meet the preset area constraints, and obtains the range of each local map.
[0093] Step A214 includes:
[0094] The central server uses the initial seed region as the core and employs a region growing method for iterative map segmentation. In each growth iteration, the assignment cost of all unassigned map units adjacent to the growing region is obtained. The assignment cost is calculated based on the cutting priority score of the location of the unassigned map unit and is inversely proportional to the cutting priority score. The unassigned map unit with the lowest assignment cost is merged into the adjacent growing region. Whenever the area of a growing region reaches a preset upper limit, its growth is stopped and it is identified as a local map, and the range of the local map is obtained.
[0095] Specifically, the central server first divides all 5m×5m cell regions in the SLAM global map into three states: initial seed regions, unassigned regions, and assigned regions. Initially, all initial seed regions are initialized as independent "growing regions." Each growing region is an independent region growth unit with its own growth queue, boundary set, and current area statistics.
[0096] During the region growth process, an iterative expansion mechanism is adopted. In each growth iteration, the following operations are performed:
[0097] For each growing region that has not yet reached its area limit, traverse all "unassigned map units" in its four-neighbor or eight-neighbor domains to obtain its candidate expansion set.
[0098] For each unassigned map cell, calculate its attribution cost to the currently growing region. This cost is calculated by inversely weighting the cut priority score of the cell's location, and is defined as follows:
[0099] Cost = 1 / (CPS + ε);
[0100] Where Cost is the attribution cost, CPS is the cut priority score, and ε is a minimal constant.
[0101] Since a higher priority score indicates a more complex and important environment, the lower the cost of its inclusion, the system is more inclined to incorporate high-priority areas into the current growth area, thereby ensuring that the generation of local maps prioritizes the coverage of high-complexity and high-risk areas.
[0102] In addition, among all candidate combinations of growing regions and their adjacent unassigned units, the pair with the lowest attribution cost is selected, that is, the unassigned unit is incorporated into the adjacent growing region with the lowest cost.
[0103] Once an unassigned cell is successfully incorporated into a growing region, its state is updated from "unassigned" to "assigned." Simultaneously, the current area of the growing region increases by 5m × 5m = 25m², and its latest boundary is recalculated (usually represented as a minimum bounding rectangle or polygon, recording the maximum / minimum X and Y coordinates). The cell's neighborhood will also be included in the next round of expansion candidate sets.
[0104] Whenever the cumulative area of a growing region reaches the preset area limit, its subsequent expansion is immediately stopped, and the "growing region" state is transformed into the final local map.
[0105] The above iterative process continues until all growing regions reach their area cap or there are no more expandable adjacent unallocated units. For low-priority regions in the global map that are not covered by any growing regions, a low-priority batch merging strategy can be used in subsequent stages, or they can be designated as background regions by default to avoid map fragmentation.
[0106] Furthermore, when two adjacent growing regions attempt to compete for the same unassigned unit, a priority arbitration mechanism is introduced, that is, the assignment is determined according to the initial seed region score to avoid conflict.
[0107] Finally, the boundaries of the final generated local map are morphologically closed or simplified to improve the map's aesthetics and the efficiency of subsequent processing.
[0108] This step utilizes a region growing algorithm to intelligently expand from an "initial seed region" into multiple structured local maps. Its core innovation lies in incorporating segmentation priority scoring into the attribution cost function, enabling the map segmentation process to proactively focus on environmentally complex areas. This ensures that the generated local maps possess high perceptual value and task relevance, significantly improving the intelligence level and resource utilization efficiency of the centralized collaborative perception system.
[0109] Step A22: The central server determines the range of overlapping areas of adjacent local maps based on the robot's speed range and obstacle density in the complex environment.
[0110] Specifically, step A22 includes:
[0111] Step A221: The central server obtains the maximum and minimum movement speed thresholds of the robot in the complex environment, and obtains the basic overlap width by switching the corresponding time according to the preset map.
[0112] The robot's maximum moving speed threshold is read from the robot model configuration file.
[0113] The formula for calculating the basic overlap width is:
[0114] W0=V max ×T switch ;
[0115] Where W0 is the base overlap width, V max T represents the maximum moving speed threshold of the robot. switch This formula, representing the map switching response time, ensures that even when the robot is running at maximum speed, it can enter the overlapping area and complete the map transition preparation in advance before entering the next local map.
[0116] Step A222: The central server corrects the basic overlap width based on the obstacle density of the complex environment. When the obstacle density of the adjacent local map connection area is higher than the preset density threshold, the overlap area width is adjusted to W0×(1+α). If the obstacle density is lower than the preset density threshold, the overlap area width is adjusted to W0×(1-β), where W0 is the basic overlap width and α and β are correction coefficients.
[0117] The aforementioned dynamic correction mechanism achieves an intelligent balance of "multiple redundancies in complex areas and light loads in simple areas," which not only ensures navigation safety in high-risk areas but also optimizes overall resource utilization.
[0118] In step A223, the central server determines the corrected width of the overlapping area as the range of the overlapping area of the adjacent local maps.
[0119] In step A3, the central server uses a slicing tool to slice the SLAM global map and obtain multiple local maps, with overlapping areas between adjacent local maps;
[0120] Specifically, the central server invokes built-in or third-party integrated 3D / 2D map tiling tools, such as the GridExtractor module in PCL. This tool possesses the following core capabilities: supporting region extraction based on raster or point cloud maps, supporting custom boundaries and overlap extensions, and supporting metadata embedding and coordinate alignment. The tiling process is not a simple geometric clipping, but rather an intelligent, semantically driven map segmentation that combines the local map spatial range determined in step A214 with the width of the overlapping area between adjacent local maps calculated in step A22.
[0121] The cutting process is as follows:
[0122] Input preparation:
[0123] The central server inputs the boundary information and overlapping area width of the SLAM global map and the previously generated local map into the tiling tool. The global map already contains complete geometric structure, obstacle distribution, ground elevation, and other information, and is unified to the world coordinate system;
[0124] Local map subject extraction:
[0125] For each local map region generated by the region growing method, the tiling tool extracts all map data within the region based on its core boundary, encapsulates it into an independent map file, and assigns it metadata such as a unique identifier, timestamp, and version number.
[0126] Dynamic expansion of overlapping regions:
[0127] For each pair of adjacent local maps, their boundaries are automatically expanded outward based on the corrected overlap width determined in step A22. For example, if two local maps A and B are adjacent in the X-axis direction and the calculated overlap width is 8 meters, then the right boundary of map A is extended 8 meters to the right, and the left boundary of map B is extended 8 meters to the left, so that the two form a data intersection within the middle 8-meter range. The map content within this overlap area maintains its original resolution and integrity, ensuring that during subsequent positioning switching, the robot can perform cross-map pose alignment and consistency optimization based on the common-view features within the overlap area.
[0128] Coordinate alignment and benchmark unification:
[0129] All generated local maps inherit the world coordinate reference of the SLAM global map, avoiding coordinate offsets or rotation mismatches between local maps.
[0130] In summary, this embodiment achieves efficient and accurate segmentation from a global map to multiple local maps with overlapping areas.
[0131] Step A4: The central server determines the local map corresponding to each edge server based on the location information and coverage area of each edge server, and sends the local map corresponding to each edge server to that edge server.
[0132] In this embodiment, specifically, the central server first obtains the registration information of all edge servers, including: location information, coverage parameters, load status and capacity limits;
[0133] Based on this, the central server executes the following local map allocation process:
[0134] For each local map, its geographical boundaries are extracted, and its centroid coordinates are calculated. For each edge server, its service influence area is constructed with its deployment location as the center and its coverage radius as a threshold. If the centroid of a local map falls within the influence area of an edge server, or if the local map and the influence area have significant spatial intersection (e.g., overlap area exceeds 50%), then the local map is determined to be a candidate management object for that edge server.
[0135] In addition, since local maps may be located at the boundary of the coverage areas of multiple edge servers, an attribution priority strategy is introduced to avoid duplicate allocation. The priority is determined by weighted fusion based on the following factors:
[0136] Distance principle: Select the nearest edge server;
[0137] Coverage ratio principle: Select the edge server with the highest percentage of overlap with the local map;
[0138] Load considerations: Under the premise of meeting space requirements, priority should be given to allocating resources to edge servers with lower current loads to achieve resource balance.
[0139] Step S2: The edge server receives the real-time pose uploaded by the robot. This pose is calculated by the robot's local positioning module. Based on the real-time pose, it is determined whether the robot is in a non-overlapping area or an overlapping area of the local map. If the robot is in an overlapping area, the two local maps where the robot is currently located and the local map of the next path segment are determined based on the robot's path information.
[0140] Specifically, the edge server first checks whether the robot's current pose falls within the boundary of the main region of any local map. If it belongs to only a single local map and is not within the overlap zone between it and other maps, it is determined to be in a non-overlapping area, and the system maintains the current map cache unchanged, without triggering a map switching process. However, if the robot's pose enters a preset overlap area between two adjacent local maps, it is determined to be in a map transition zone, and a map switching preparation mechanism needs to be initiated.
[0141] Furthermore, the edge server combines the robot's path information to determine the two local maps it is currently traversing and predicts its subsequent direction of travel. The path information originates from the navigation path point sequence issued by the upper-level planning module;
[0142] For example, see Figure 3 The robot moves along a predetermined route, such as... Figure 3 As shown, from 1→2→3→4→12→11→10→9, the shaded area is the overlapping area. The overlapping area between each adjacent map is marked with E1,2(1), E1,2(2), E1,2(3), and E1,2(4). The spatial coordinates of E1,2(1) are recorded as P1,2(1), E1,2(2) as P1,2(2), E1,2(3) as P1,2(3), and E1,2(4) as P1,2(4).
[0143] Therefore, it can be concluded that the program first loads the starting point. Figure 1 The second local Figure 2 The robot began to walk, employing localized movement for autonomous walking. Figure 1 When the robot walks into the overlapping area of points 1 and 2, the overlapping area judgment logic is that when the robot's current position is between points P1,2(1), P1,2(2), P1,2(3), and P1,2(4), the autonomous walking switch is switched to ground. Figure 2 ,land Figure 1 Release the memory, Figure 3 Load it into memory, and so on, until the entire map is traversed.
[0144] In step S3, the edge server sends map update information to the robot based on the two local maps currently in which the robot is located and the local map of the next path segment. The map update information includes: releasing the local maps that have been traversed and loading the local map of the next path segment; so that the robot updates the map information cached in the robot based on the map update information, and the number of local maps loaded in the robot's memory is within a preset range.
[0145] In this embodiment, the robot's memory contains two local maps.
[0146] In the specific implementation process, steps S2 and S3 jointly construct a dynamic map management closed loop based on pose perception and path prediction. This mechanism makes full use of the overlapping design between local maps and the context perception capability of the edge side to realize on-demand loading and efficient release of map resources, significantly improving the stability, real-time performance and resource utilization of robots in large-scale environments over long periods of time. It is a key supporting technology for realizing intelligent navigation and lightweight terminal design under the "cloud-edge-device" collaborative architecture.
[0147] The SLAM map segmentation and spatial navigation method for large-scale scenes in this embodiment also includes:
[0148] If the edge server determines that the robot is about to enter a local map outside the coverage area of the edge server, it will transfer the robot's real-time pose to the edge server within the coverage area of the local map as the target edge server, and the target edge server will send map update information to the robot.
[0149] This embodiment presents a map segmentation and spatial navigation method for large-scale SLAM scenarios. Through a collaborative architecture of "central server global coordination + edge server distributed execution + robot dynamic adaptation," it addresses navigation pain points in large-scale scenarios such as industrial plants, power substations, large industrial parks, and cultural and tourism scenic areas, achieving technological breakthroughs and efficiency improvements. Specifically, it includes:
[0150] This application utilizes a central server to intelligently segment the SLAM global map, dividing the original massive map data into multiple well-structured and clearly defined local maps. The segmentation priority is dynamically set based on obstacle density, avoiding the enormous memory and storage pressure caused by edge servers directly loading the complete global map. Edge servers only need to preload a subset of local maps within their coverage area, significantly reducing reliance on high-performance hardware. This enables stable operation of a high-precision navigation system even on resource-constrained edge nodes, significantly reducing system deployment costs and subsequent maintenance complexity, making it particularly suitable for industrial and public service scenarios requiring large-scale robot deployment.
[0151] Meanwhile, this application introduces a dynamic overlapping region mechanism based on robot motion characteristics and environmental complexity. The basic overlapping width is determined according to the robot's maximum operating speed and system response time, and adaptively corrected by incorporating local obstacle density, ensuring sufficient map transition redundancy in different scenarios. This design allows the robot to preload the next map and release areas it has already left during cross-regional movement, achieving smooth switching of map cache. This effectively avoids problems such as positioning jumps, path interruptions, or obstacle avoidance failures caused by map loading delays, significantly improving the real-time performance and stability of the navigation system and ensuring the continuous execution of critical tasks such as inspection and security.
[0152] Furthermore, the application employs a dual-drive mechanism of "pose perception + path prediction." The edge server determines the robot's location in real time and intelligently predicts the target local map it will enter based on path trends, proactively issuing map update commands to guide the robot in dynamically adjusting its local map cache state. This mechanism enables on-demand loading and precise release of map resources, ensuring that the number of local maps residing in the robot's memory simultaneously remains within a preset, reasonable range. This satisfies the requirements for cross-map localization and fusion while preventing memory overflow, thus improving the system's adaptability and long-term operational reliability in dynamically changing environments.
[0153] This application constructs a high-efficiency, stable, and low-cost large-scale SLAM navigation solution through end-to-end technological innovations in dynamic map segmentation, dynamic overlap design, cloud-edge collaborative scheduling, and terminal closed-loop management.
[0154] In addition, this application also proposes a computer device, which includes a processor and a memory. The processor is used to execute instructions stored in the memory so that the computer device can perform the SLAM large-scene map cutting and spatial navigation method described in the above embodiments.
[0155] In the description of this application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0156] In this application, unless otherwise expressly specified and limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances.
[0157] In this application, unless otherwise expressly specified and limited, "above" or "below" the second feature can mean that the first and second features are in direct contact, or that they are in indirect contact through an intermediate medium. Furthermore, "above," "on top of," and "over" the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0158] In the description of this specification, the terms "one embodiment," "some embodiments," "embodiment," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0159] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make modifications, alterations, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A map segmentation and spatial navigation method for large-scale SLAM scenes, characterized in that, For use in complex environments with multiple edge servers and a central server, the method includes: The edge server is preloaded with multiple local maps within its coverage area issued by the central server, and adjacent local maps have overlapping areas; all local maps of all edge servers constitute the SLAM global map; The edge server receives the real-time pose uploaded by the robot and determines whether the robot is in a non-overlapping or overlapping area of the local map based on the real-time pose. If the robot is in an overlapping area, the server determines the two local maps where the robot is currently located and the local map of the next path segment based on the robot's path information. The edge server sends map update information to the robot based on the two local maps currently in which the robot is located and the local map of the next path segment. The map update information includes: releasing the local maps that have been traversed and loading the local map of the next path segment; so that the robot updates the map information cached in the robot based on the map update information, and the number of local maps loaded in the robot's memory is within a preset range. The edge server is pre-loaded with multiple local maps within its coverage area, issued by the central server, including: The central server acquires a global SLAM map based on complex environments and SLAM navigation technology; The central server determines the extent of each local map and the extent of the overlapping area between adjacent local maps based on the robot's speed range and obstacle density in the complex environment. The central server uses a slicing tool to slice the SLAM global map and obtain multiple local maps, with overlapping areas between adjacent local maps; The central server determines the local map corresponding to each edge server based on the location information and coverage area of each edge server, and sends the local map corresponding to each edge server to that edge server.
2. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 1, characterized in that, The central server determines the extent of each local map and the extent of overlapping areas between adjacent local maps based on the robot's speed range and obstacle density in the complex environment, including: The central server obtains the obstacle density of the complex environment based on the SLAM global map, and obtains the extent of each local map based on the obstacle density of the complex environment. The central server determines the range of overlapping areas between adjacent local maps based on the robot's speed range and the obstacle density in the complex environment.
3. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 2, characterized in that, The central server obtains the obstacle density of the complex environment based on the SLAM global map, and obtains the extent of each local map based on the obstacle density of the complex environment, including: The central server preprocesses the corresponding lidar point cloud data in the SLAM global map, removes ground point cloud and noise point cloud, and obtains the preprocessed point cloud data of obstacles. The central server uses a Euclidean clustering algorithm to perform cluster analysis on the preprocessed point cloud data of obstacles to obtain the obstacle density of the complex environment. The central server obtains the cutting priority scores of different regions of the SLAM global map based on the obstacle density of the complex environment; and determines the regions whose cutting priority scores exceed a preset threshold as initial seed regions. The central server uses the initial seed region as the core and employs a region growing method to develop the initial seed region into multiple local maps that meet preset area constraints, and obtains the range of each local map.
4. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 3, characterized in that, The central server uses the initial seed region as its core and employs a region growing method to develop the initial seed region into multiple local maps that meet preset area constraints, and obtains the extent of each local map, including: The central server uses the initial seed region as the core and employs a region growing method for iterative map segmentation. In each growth iteration, it obtains the assignment cost of all unassigned map units adjacent to the growing region. The assignment cost is calculated based on the cutting priority score of the location of the unassigned map unit and is inversely proportional to the cutting priority score. The unassigned map unit with the lowest assignment cost is merged into the adjacent growing region. Whenever the area of a growing region reaches a preset upper limit, its growth is stopped and it is identified as a local map, and the range of the local map is obtained.
5. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 3, characterized in that, The central server obtains the segmentation priority scores for different regions of the SLAM global map based on the obstacle density of the complex environment, including: The central server divides the SLAM global map into several unit regions using a 5m×5m grid. The basic cutting priority score for each unit region is the obstacle density of that region multiplied by a weight coefficient. If the unit region contains a volume ≥8m³ 3 For obstacles, an additional 3 points are added to the basic cutting priority score as the cutting priority score.
6. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 2, characterized in that, The central server determines the range of overlapping areas between adjacent local maps based on the robot's speed range and the obstacle density in the complex environment, including: The central server obtains the maximum and minimum movement speed thresholds of the robot in the complex environment, and obtains the basic overlap width according to the preset map switching time. The central server adjusts the basic overlap width based on the obstacle density of the complex environment. When the obstacle density of adjacent local map connection areas is higher than a preset density threshold, the overlap area width is adjusted to W0×(1+α). If the obstacle density is lower than the preset density threshold, the overlap area width is adjusted to W0×(1-β), where W0 is the basic overlap width and α and β are correction coefficients. The central server determines the corrected width of the overlapping area as the range of the overlapping area of adjacent local maps.
7. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 3, characterized in that, The central server preprocesses the corresponding LiDAR point cloud data in the SLAM global map, removing ground point clouds and noise point clouds, and obtains preprocessed obstacle point cloud data, including: The central server uses the RANSAC ground segmentation algorithm to remove ground point cloud from the lidar point cloud data, and uses a statistical filtering algorithm to filter point cloud noise to obtain the first obstacle point cloud data. The central server downsamples the first obstacle point cloud data to obtain preprocessed obstacle point cloud data.
8. The SLAM map segmentation and spatial navigation method for large-scale scenes according to claim 1, characterized in that, The method further includes: If the edge server determines that the robot is about to enter a local map outside the coverage area of the edge server, it will transfer the robot's real-time pose to an edge server within the coverage area of the local map as the target edge server, and the target edge server will send map update information to the robot.
9. A computer device, characterized in that, include: The system includes a memory and a processor, which are interconnected. The memory stores computer instructions, and the processor executes the computer instructions to perform the map cutting and spatial navigation method for large-scale SLAM scenarios as described in any one of claims 1-8.
Citation Information
Patent Citations
Enhanced SLAM repositioning method and system, medium and virtual device
CN114398458A
SLAM autonomous navigation method and device of mobile robot
CN115200588A