Large map data transmission method

By dividing large maps into blocks for parallel transmission and logo reorganization, the problem of low efficiency of traditional map data transmission is solved, the robot can quickly load the map, improve operational efficiency and safety, and reduce energy consumption.

CN120687537APending Publication Date: 2025-09-23福建汉特云智能科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510785899.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-12
Publication Date
2025-09-23

AI Technical Summary

Technical Problem

Traditional large-map data transmission methods are inefficient, resulting in slow map loading for robots in large-scale scenarios, affecting operating speed and safety, while increasing energy consumption and operating costs.

Method used

The large map is divided into several map blocks, and an identifier is added to each block. The data blocks are transmitted in parallel through multiple parallel transmission links, and reorganized according to the identifiers on the robot side. Resolution levels and compression technology are used to optimize the transmission of data blocks.

Benefits of technology

It significantly improves data transmission efficiency, ensures that robots can quickly obtain map data, optimizes the operating experience, reduces loading time and energy consumption, and improves the robot's application capabilities in complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120687537A_ABST
    Figure CN120687537A_ABST
Patent Text Reader

Abstract

A large map data transmission method comprises a sending end and a robot end, and comprises the following steps that the sending end divides a large map into a plurality of map blocks, and marks are added to each map block to form a plurality of data blocks; establishing a plurality of parallel transmission communication links for communicating the sending end and the robot end; performing parallel transmission on the plurality of data blocks through a communication link; the robot end reorganizes the data blocks based on the identifiers and restores the data blocks into a large map; by adopting the technical scheme, the data transmission efficiency is remarkably improved, the operation experience of the robot is optimized, and the robot is widely applied in complex scenes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot map transmission, and in particular to a method for transmitting large map data. Background Art

[0002] With the increasing use of robots in large-scale scenarios such as airports and large factories, the demand for robots to receive and process large amounts of map data in real time has increased dramatically. These scenarios are often large in area and have complex terrain. For example, airports cover multiple functional areas such as terminals, aprons, and cargo areas, totaling tens of square kilometers. In these scenarios, robots require high-precision maps for navigation, obstacle avoidance, and path planning. Therefore, the efficiency of map data transmission directly affects the robot's operational performance.

[0003] However, traditional methods for transmitting large maps typically use a serial transmission mode, meaning only one data block is transmitted at a time, and the next block must be transmitted after the current block is completed. This approach presents significant drawbacks when network bandwidth is sufficient. First, serial transmission fails to fully utilize network bandwidth resources, resulting in idle and wasted resources. For example, in airports equipped with high-speed 5G networks, which theoretically support transmission rates of up to 10Gbps, serial transmission only utilizes a minimal portion of the bandwidth, resulting in low transmission efficiency. Second, due to the enormous volume of map data required for large-scale scenarios and the large number of data blocks transmitted in a single transmission, the serial transmission mode significantly increases transmission time. This results in slow map loading for robots, with a long wait time between receiving a map data request and completing the map load, severely impacting the robot's responsiveness and efficiency. In airport scenarios, if service robots are unable to quickly load maps, they may be unable to respond to passenger requests promptly and accurately guide passengers to their destinations, such as boarding gates and baggage claim, reducing service quality and the passenger experience. Especially in the face of emergencies, it is difficult to update map information and replan routes in a timely manner, increasing the risk of collisions and getting lost, affecting the safety and stability of robot operations. In addition, the long map transmission and loading time will increase the robot's energy consumption, shorten its battery life, and increase operating costs. Summary of the Invention

[0004] In view of the above problems, the present application provides a method for transmitting large map data to solve the problems of low efficiency and slow loading of map data transmitted by existing robots.

[0005] To achieve the above objectives, the inventors provide a method for transmitting large map data, which includes a sending end and a robot end, and performs the following steps:

[0006] The sending end divides the large map into several map blocks and adds a mark to each map block to form several data blocks;

[0007] Build multiple parallel transmission communication links connecting the transmitter and the robot;

[0008] Transmitting several data blocks in parallel via a communication link;

[0009] The robot side reorganizes the data blocks based on the identifiers and restores them to a large map.

[0010] Furthermore, the sending end divides the large map into a plurality of map blocks, and adds an identifier to each map block to form a plurality of data blocks, including the following steps:

[0011] Dividing the large map into layers based on resolution, including a base layer, a detail layer, and an enhancement layer;

[0012] Divide the base layer, detail layer and enhancement layer into several map blocks respectively;

[0013] Add an identifier to each map block to form several data blocks.

[0014] Furthermore, the map blocks of the base layer include road skeletons and intersection topological relationships; the map blocks of the detail layer include area data and auxiliary signs; and the map blocks of the enhancement layer include three-dimensional models and object textures.

[0015] Furthermore, the step of dividing the base layer, the detail layer, and the enhancement layer into a plurality of map blocks respectively includes the following steps:

[0016] Get the size W×H of the base layer, detail layer, and enhancement layer;

[0017] The default size of each map block is B×B;

[0018] The base layer, detail layer and enhancement layer are divided into N blocks respectively. The calculation formula of N is as follows:

[0019]

[0020] in It represents rounding up, and the size of each small block is B×B, where B is the side length of the block.

[0021] Furthermore, the step of dividing the large map into a base layer, a detail layer, and an enhancement layer based on resolution levels further includes compressing the base layer, the detail layer, and the enhancement layer respectively;

[0022] The robot side reorganizes the data blocks based on the identifiers and restores them into a large map, including decompressing the base layer, the detail layer and the enhancement layer respectively.

[0023] Furthermore, the base layer and detail layer are compressed based on the Douglas-Peucker compression algorithm by adding adaptive threshold and direction constraint optimization;

[0024] The adaptive threshold formula is as follows:

[0025] e i =e0×(1+k*C i )×fw j ;

[0026] Among them, e0 is the basic threshold, k is the curvature coefficient, C i is the curvature at point i, fw j is the factor importance weight;

[0027] fw j The formula for calculating the three-point cross product is as follows:

[0028]

[0029] (x i ,y i ) The coordinates of the current point i, generally the projection coordinates of the map, (x i-1 ,y i-1 )The projection coordinates of the previous point, (x i+1 ,y i+1 )The projection coordinates of the latter point;

[0030] The direction constraint optimization formula is as follows:

[0031]

[0032] Among them, d is the original vertical distance, α is the directional sensitivity parameter, and θ i is the tangent direction at point i, calculated through the two points before and after.

[0033] Furthermore, the step of transmitting a plurality of data blocks in parallel via the communication link includes dynamically allocating the transmission data blocks based on the real-time status of the communication link.

[0034] Furthermore, the dynamic allocation of transmission data blocks based on the real-time status of the communication link includes the following steps:

[0035] Calculating a communication link quality score;

[0036] Calculate the priority of the data block;

[0037] The transmission data blocks are allocated according to a preset allocation strategy based on the communication link quality score and the priority of the data blocks.

[0038] Furthermore, in the step of transmitting a plurality of data blocks in parallel through the communication link, the robot end further includes performing breakpoint-resume transmission after receiving each parallel-transmitted data block, including the following steps:

[0039] The sender generates a block check code and metadata index;

[0040] The robot side maintains the download schedule and records the data block status;

[0041] Request retransmission of lost or damaged data blocks based on the data block status in the download progress table.

[0042] Furthermore, the robot side reorganizes the data blocks based on the identifiers to restore the large map, including the following steps:

[0043] The data block D i Reorganize according to the order of the identification and finally restore to the complete map data D f ,but

[0044]

[0045] Wherein, N is the total number of data blocks, and i is the i-th data block arranged in the order of identification.

[0046] Different from the existing technology, the above technical solution divides the large map of large-scale scenes into blocks, and assigns unique identification information to each map block after segmentation. This precise identification provides a basis for the subsequent large map splicing on the robot side; then, parallel transmission technology is used to transmit multiple divided map blocks in the network link at the same time, which greatly improves the transmission efficiency and provides a guarantee for the robot to quickly obtain map data; when the robot receives the map block, it accurately splices it according to the identification information of the map block to ensure the accuracy of map synthesis; it significantly improves data transmission efficiency, optimizes the robot operation experience, and facilitates the widespread application of robots in complex scenarios.

[0047] The above-mentioned records related to the content of the invention are only an overview of the technical solution of this application. In order to enable ordinary technicians in this field to understand the technical solution of this application more clearly, and then implement it according to the text of the specification and the contents recorded in the drawings, and to make the above-mentioned purposes and other purposes, features and advantages of this application easier to understand, the following is an explanation in combination with the specific implementation methods and drawings of this application. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The drawings are only used to illustrate the principles, implementation methods, applications, features and effects of the specific embodiments of the present invention and other related contents, and are not to be considered as limiting the present application.

[0049] In the drawings of the specification:

[0050] Figure 1 This is a flowchart of a method for transmitting large map data according to a specific embodiment;

[0051] Figure 2 This is a flowchart of a method for transmitting large map data according to a specific implementation method. DETAILED DESCRIPTION

[0052] In order to explain in detail the possible application scenarios, technical principles, specific solutions that can be implemented, and the purpose and effects of this application, the following is a detailed description of the specific embodiments listed in conjunction with the accompanying drawings. The embodiments described herein are only used to more clearly illustrate the technical solutions of this application and are therefore only examples and are not intended to limit the scope of protection of this application.

[0053] References to "embodiments" herein mean that the specific features, structures, or characteristics described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the word "embodiment" in various places in the specification does not necessarily refer to the same embodiment, nor does it particularly limit its independence or relevance to other embodiments. In principle, in this application, as long as there are no technical contradictions or conflicts, the various technical features mentioned in the embodiments can be combined in any manner to form a corresponding implementable technical solution.

[0054] Unless otherwise defined, the technical terms used herein have the same meanings as those generally understood by those skilled in the art to which this application belongs; the use of relevant terms herein is only for describing specific embodiments and is not intended to limit this application.

[0055] In the description of this application, the term "and / or" is used to describe a logical relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A exists, B exists, and both A and B exist. In addition, the character " / " in this document generally indicates that the objects before and after are in a logical "or" relationship.

[0056] In this application, terms such as "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual quantity, priority or sequence relationship between these entities or operations.

[0057] Without further limitations, in this application, the words "include", "comprise", "have" or other similar open-ended expressions used in sentences are intended to cover non-exclusive inclusion. These expressions do not exclude the presence of additional elements in the process, method or product that includes the elements, so that the process, method or product that includes a series of elements may include not only those defined elements, but also other elements that are not explicitly listed, or also include elements inherent to such process, method or product.

[0058] Consistent with the understanding in the Examination Guidelines, in this application, expressions such as "greater than," "less than," and "exceed" are understood to exclude the number itself; expressions such as "above," "below," and "within" are understood to include the number itself. Furthermore, in the description of the embodiments of this application, "multiple" means more than two (including two), and similar expressions related to "multiple" are also understood in this manner, such as "multiple groups," "multiple times," etc., unless otherwise specifically defined.

[0059] In the description of the embodiments of the present application, the space-related expressions used, such as "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "vertical", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc., indicate the orientation or position relationship based on the orientation or position relationship shown in the specific embodiments or drawings, and are only for the convenience of describing the specific embodiments of the present application or facilitating the reader's understanding, and do not indicate or imply that the device or component referred to must have a specific position, a specific orientation, or be constructed or operated in a specific orientation. Therefore, it should not be understood as a limitation on the embodiments of the present application.

[0060] The processor described in the embodiments of the present application can be implemented by hardware, firmware, software or a combination thereof, and can use a circuit, a single or multiple application-specific integrated circuits (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a central processing unit (CPU), a controller, a microcontroller, at least one of a microprocessor, and also includes other physical, biological or chemical structures that can achieve similar or equivalent functions to the processors listed above, such as biological neurons, quantum computing units, DNA computing units, etc., so that the processor can execute some or all of the steps in the computer program or method involved in the various embodiments of the present application, or any combination of the steps mentioned therein.

[0061] The computer program involved in the embodiment can be stored in a computer device readable storage medium, which includes but is not limited to a disk, a tape, a magnetic card, a floppy disk, a flash memory, an optical disc, an optical card, a read-only memory (ROM), a random access memory (RAM), an erasable programmable ROM (EPROM) and an electrically erasable programmable ROM (EEPROM), etc., and also includes other biological, physical or chemical structures that can achieve similar or equivalent functions to the storage media listed above, such as DNA, RNA, protein and other units with information storage capabilities. In a specific embodiment, the storage medium involved can be one of the above-mentioned media types or a combination of the above-mentioned media types. In different embodiments, the computer program involved in the embodiment can be stored in a single medium in a centralized manner or in a distributed manner on multiple media. The memory containing the computer device readable storage medium can be a non-volatile memory or a random access memory. These computer device readable storage media can be built into the device or connected to the device involved in the embodiment as an external device or part of an external device. In some embodiments, a memory having a computer-readable storage medium is deployed locally; in other embodiments, a solution of deploying the memory away from the processor may also be adopted, such as a network-attached memory accessed via an RF circuit or an external port and a communication network, wherein the communication network may be the Internet, one or more intranets, a local area network (LAN), a wide area network (WLAN), a storage area network (SAN), etc., or a suitable combination thereof, as long as the computer device can access the memory. In addition, the computer program involved in the embodiment can be stored in plaintext / ciphertext form, or can be designed as training data, which can be integrated and reorganized through model training and implicitly stored in the parameter state of a deep neural network or other machine learning model.

[0062] To meet the needs of efficient robot applications in large-scale scenarios such as airports and large factories, and to address the low efficiency and slow loading of traditional map data transmission, a new large-map data transmission processing method is proposed. This method, centered on block processing, parallel transmission, and intelligent splicing, significantly improves data transmission efficiency, optimizes the robot's operating experience, and facilitates the widespread application of robots in complex scenarios. This method primarily divides large maps of large-scale scenarios into blocks, assigning unique identification information to each block after segmentation. This precise identification provides a foundation for subsequent large-map splicing on the robot side. Parallel transmission technology is then used to simultaneously transmit multiple segmented map blocks across the network link, greatly improving transmission efficiency and ensuring the robot's rapid acquisition of map data. After receiving the map blocks, the robot accurately splices them together based on the identification information of the map blocks, ensuring the accuracy of map synthesis.

[0063] See also Figure 1As shown, the following provides an embodiment of a method for transmitting large map data, which includes a sending end and a robot end, and performs the following steps:

[0064] S10, the sending end divides the large map into several map blocks, and adds a mark to each map block to form several data blocks;

[0065] S20, establishing multiple parallel transmission communication links connecting the sending end and the robot end;

[0066] S30, transmitting a plurality of data blocks in parallel via a communication link;

[0067] S40. The robot side reorganizes the data blocks based on the identifiers and restores them to a large map.

[0068] The large map may be a raster map, a vector map, an octree map, a point cloud map, or a hybrid map formed by mixing multiple of the above maps.

[0069] The above-mentioned sending end can be any device or system with data storage, processing and transmission capabilities, specifically a cloud server, an edge server (a local server deployed close to the robot), a mobile relay node (such as a drone or inspection robot, which acts as a temporary sending end to forward map data to other robots), a local storage device, and other smart devices.

[0070] The sending end divides the large map into several map blocks, which can be processed according to preset rules. The preset rules can comprehensively consider the scene characteristics, transmission efficiency, storage cost and the processing capacity of the robot end. Specifically, the division can be carried out in one or more of the following ways:

[0071] (1) Based on the spatial geometric block rules, the large map is divided into several map blocks.

[0072] In some embodiments, the large map is evenly gridded, and the map is divided into square or rectangular grids of a fixed size, with each grid corresponding to a map block. Specifically, the sending end divides the large map into a plurality of map blocks, and adds an identifier to each map block to form a plurality of data blocks, including the following steps:

[0073] Assume that the size of the large map is W×H, and the size of each map block is B×B. Then the large map is divided into N blocks. The calculation formula of N is as follows:

[0074]

[0075] in It represents rounding up, and the size of each small block is B×B, where B is the side length of the block.

[0076] In some embodiments, a large map is adaptively divided into blocks, and the block sizes are dynamically adjusted based on the complexity of the map content to obtain a number of map blocks. Specifically, an image segmentation algorithm (such as the watershed algorithm or the mean shift algorithm) is used to identify map feature density, and the block sizes are adjusted based on the density of the map features. For example, high-density areas (such as corridors with dense obstacles) are divided into small blocks (such as 1m×1m); low-density areas (such as open squares) are divided into large blocks (such as 50m×50m).

[0077] In some embodiments, the large map is divided into blocks for the first time according to task requirements to obtain map blocks of the current operating area, and then the map blocks of the current operating area are used as the transmitted map for the second time to obtain multiple map blocks.

[0078] (2) Based on the semantic feature segmentation rules, the large map is divided into several map blocks. That is, logical segmentation is performed based on the semantic units (such as rooms, corridors, obstacles, etc.) and semantic areas (such as storage areas, sorting areas, and outbound areas).

[0079] (3) Based on the block division rules of the resolution level, the large map is divided into several map blocks. Specifically, the large map is divided into multiple resolution levels, such as levels 0-n, where level 0 is a low-resolution global overview (for path planning), and level n is high-resolution local details (for precise navigation). The robot side first requests low-level map blocks, and then loads high-level details on demand. For example, the large map is divided into three layers, including a base layer, a detail layer, and an enhancement layer; wherein the map blocks of the base layer include road skeletons and intersection topological relationships; the map blocks of the detail layer include regional data and auxiliary signs; the map blocks of the enhancement layer include three-dimensional models and object textures.

[0080] The above-mentioned preset rules can be combined with one or more of the above methods to divide the large map. For example, the large map can be divided into a number of map blocks by combining the division based on the resolution level and the division based on the spatial geometry block rule. Specifically, the sending end divides the large map into a number of map blocks and adds an identifier to each map block to form a number of data blocks, including the following steps:

[0081] Dividing the large map into layers based on resolution, including a base layer, a detail layer, and an enhancement layer;

[0082] Divide the base layer, detail layer and enhancement layer into several map blocks respectively;

[0083] The step of dividing the base layer, the detail layer, and the enhancement layer into a plurality of map blocks (based on spatial geometric block rules) comprises the following steps:

[0084] Get the size W×H of the base layer, detail layer, and enhancement layer;

[0085] The default size of each map block is B×B;

[0086] The base layer, detail layer and enhancement layer are divided into N blocks respectively. The calculation formula of N is as follows:

[0087]

[0088] in It represents rounding up, and the size of each small block is B×B, where B is the side length of the block.

[0089] Add an identifier to each map block to form several data blocks.

[0090] The following embodiment is used to further illustrate the following implementation methods.

[0091] Each map block is identified to form several data blocks. The identification can be based on a coordinate identification system, hierarchical number identification (such as area-sub-area-block number), hash value combined with metadata, and visual identification assistance (such as adding color coding or icons to each block).

[0092] In order to improve transmission efficiency, large maps can be divided and compressed. The data block size can be reduced through compression algorithms, which can significantly reduce network transmission bandwidth usage.

[0093] In some embodiments, the step of dividing the large map into a base layer, a detail layer, and an enhancement layer based on resolution levels also includes compressing the base layer, detail layer, and enhancement layer separately. At this point, the robot side reorganizes the data blocks based on the identifiers and restores them to the large map, including decompressing the base layer, detail layer, and enhancement layer separately. The base layer and detail layer can be compressed using the Douglas-Peucker compression algorithm with adaptive thresholding and directional constraint optimization. The enhancement layer can be compressed using a hybrid of WebP (image data) and Draco (3D model data).

[0094] The adaptive threshold formula is as follows:

[0095] e i =e0×(1+k*C i )×fw j ;

[0096] Among them, e0 is the basic threshold (can be set to 0.5), k is the curvature coefficient (such as between 0.2-0.5), C i is the curvature at point i, fw j is the importance weight of the element (e.g., 2.0 for main road, 1.5 for secondary road, 0.9 for alley);

[0097] fw j The formula for calculating the three-point cross product is as follows:

[0098]

[0099] (x i ,y i ) The coordinates of the current point i, generally the projection coordinates of the map, (x i-1 ,y i-1 )The projection coordinates of the previous point, (x i+1 ,y i+1 )The projection coordinates of the latter point;

[0100] The formula for directional constraint optimization (retaining points with large curvature changes and reducing some points on straight sections) is as follows:

[0101]

[0102] Where d is the original vertical distance, α is the directional sensitivity parameter (can be set to 1.0), θ i is the tangent direction at point i, calculated through the two points before and after.

[0103] At this time, after receiving the data blocks, the robot side combines them and decompresses the base layer and detail layer. The key formula of the decompression process is as follows:

[0104] Direction Constrained Interpolation Formula

[0105] P i =P m +ΔP

[0106] Among them, P m Coordinates of the midpoint between two points, and the offset of the constraint in the ΔP direction;

[0107] Topology repair alignment formula

[0108]

[0109] Among them, P1 and P2 are the coordinates of the two points to be aligned; w1 and w2 are weights, which are usually related to the importance of the points (such as main points have high weights and auxiliary points have low weights);

[0110] Curvature-guided interpolation density formula

[0111] N=B×(1+γ×C)

[0112] Among them, B is the basic density, γ is the curvature influence factor, and C is the curvature value recorded during compression.

[0113] In some embodiments, the sending end divides the large map into a plurality of map blocks, and adds a mark to each map block to form a plurality of data blocks, and further includes compressing the marked map blocks to form data blocks; the compression formula is as follows:

[0114] Assume D i is the original map block of the i-th small block, C i For its compressed map block, the compressed map block is:

[0115] C i =Compress(D i )

[0116] Compress indicates the compression algorithm.

[0117] At this time, the robot side reorganizes the data blocks based on the identifier and restores the large map, including decompressing each data block. i After that, the data block is decompressed and restored to the original map block. The decompressed original map block is:

[0118] D i =Decompress(C i )

[0119] Wherein, represents the decompression algorithm Decompress.

[0120] Specifically, the map blocks with added markers can be compressed using Huffman coding to reduce the bandwidth required for a single transmission. The formula is as follows:

[0121]

[0122] Among them, n is the number of leaf nodes, W i is the weight of the i-th leaf node, L i is the path length of the i-th leaf node. Huffman is the smallest binary tree of WPL.

[0123] Then the robot receives data block C i After that, the data block is decompressed. The Huffman decompression algorithm formula is:

[0124] T=HuffmanTree(P1,P2,…,P n )

[0125] Among them, T is the Huffman tree, P1, P2, ..., P n is the frequency of each symbol

[0126] decoded_symbol=HuffmanDecode(b1,b2,…b m ,T)

[0127] Among them, b1, b2, ... b m is the input bit stream, T is the Huffman tree, and the output is the decoded symbol sequence.

[0128] In the above-mentioned communication links connecting the transmitter and the robot, the transmission time of the communication link is T p for:

[0129]

[0130] Among them, T p is the total time of parallel transmission, N is the number of data blocks, P is the number of links for parallel transmission, T b The transmission time for each data block.

[0131] In some embodiments, in order to improve bandwidth utilization and reduce the time required for data transmission, the step of transmitting multiple data blocks in parallel via a communication link includes dynamically allocating the transmission data blocks based on the real-time status of the communication link. Specifically, the steps include:

[0132] Calculating a communication link quality score;

[0133] Calculate the priority of the data block;

[0134] The transmission data blocks are allocated according to a preset allocation strategy based on the communication link quality score and the priority of the data blocks.

[0135] The formula for calculating the communication link quality score can be:

[0136] Score j =α×Bandwidth j +β×(1 / RTT j )+γ×(1-LossRate j );

[0137] Among them, Score j Comprehensive quality score of link j, Bandwidth j Available bandwidth of link j, RTT j Round trip delay of link j, LossRate j The packet loss rate of link j, αβγ are weight coefficients.

[0138] The calculation formula for the priority of the above data block can be:

[0139]

[0140] S i The size of data block i, I i The importance level of data block i, R i The number of redundant copies of data block i.

[0141] The above preset allocation strategy can sort the data blocks from high to low priority, and for each data block, filter out the links with a quality score ≥ threshold. Of course, the link with the highest score is selected from the available links to allocate the data block. For important data blocks, they can be copied to multiple links to ensure data integrity (redundancy). Ordinary blocks are sorted by score. j Scores are distributed in descending order to ensure load balancing.

[0142] In some embodiments, the step of transmitting a plurality of data blocks in parallel through a plurality of parallel transmission communication links further includes the step of resuming transmission after the robot receives each parallel transmitted data block, specifically including the following steps:

[0143] The sender generates a block check code and metadata index;

[0144] The robot side maintains the download schedule and records the data block status;

[0145] Request retransmission of lost or damaged data blocks based on the data block status in the download progress table.

[0146] The states of the above data blocks include unreceived state, received and verified state, and received data but failed verification.

[0147] Assuming that the number of parallel transmission links is P, the download schedule after the robot receives a parallel transmission data block is:

[0148] Ack batch ={Ack1, Ack2,…, Ack p};

[0149] Among them, Ack i The status of the data block transmitted by the i-th link;

[0150] The robot side is based on the status of each data block in the download progress table. If there is no Ack received i , then Ack i The data block transmitted by the link is resent. Or if the received data Ack is found in it i But if the verification fails, then Ack i The data blocks transmitted by the link are resent.

[0151] The robot side reorganizes the data blocks based on the identification and restores them to a large map. That is, after the robot side receives the divided map blocks, it accurately splices them according to the identification information of the data blocks. First, the relative position of each data block in the complete map is determined based on the identification information; then, according to the preset splicing algorithm, the various data blocks are seamlessly combined, and finally a complete large map is synthesized on the robot side. During the splicing process, if data is missing or wrong, the robot can promptly feedback to the data sending end and request the retransmission of the corresponding data block to ensure the integrity and accuracy of the map. Specifically, the data block D i Reorganize according to the order of the identification and finally restore to the complete map data D f ,but

[0152]

[0153] Wherein, N is the total number of data blocks, and i is the i-th data block arranged in the order of identification.

[0154] See also Figure 2 As shown, in order to further understand the present application, a specific embodiment is provided below.

[0155] Divide the large map into three layers, including base layer, detail layer, and enhancement layer, and use different compression algorithms according to their different characteristics;

[0156] The base layer includes the road skeleton and intersection topology, and adopts the improved Douglas-Peucker compression algorithm with a threshold of 0.2m;

[0157] The detail layer includes regional data and auxiliary marks, and adopts the improved Douglas-Peucker compression algorithm with a threshold of 0.5m;

[0158] The enhancement layer includes a 3D model and object texture, and adopts a hybrid compression method of WebP (image data) + Draco (3D model data);

[0159] The compressed base layer, detail layer, and enhancement layer are divided into multiple map blocks, each map block is marked, and each map block is compressed to form a data block. Specifically, assuming the size of the base layer, detail layer, and enhancement layer is W×H (width W and height H), and the size of each map block is B×B, then the base layer, detail layer, and enhancement layer are divided into N blocks respectively. The calculation formula for N is as follows:

[0160]

[0161] in represents rounding up, and the size of each small block is B×B, where B is the side length of the block;

[0162] Transmit data blocks in parallel through multiple communication links, dynamically allocate transmission data blocks based on the real-time status of the links, improve bandwidth utilization, and reduce the time required for data transmission;

[0163] During the data block transmission process, after receiving each parallel transmission data block, the robot obtains the receiving status according to the download schedule, and retransmits requests only for lost or damaged data blocks to ensure the correctness and integrity of the data;

[0164] After receiving the data block, the robot decompresses the data block according to the compression type to obtain the map block;

[0165] The decompressed data blocks are then reassembled according to the identifiers, and finally restored to the base layer, detail layer, and enhancement layer, and then decompressed according to the corresponding compression algorithm;

[0166] The decompressed base layer, detail layer, and enhancement layer are reorganized and restored into a large map.

[0167] Finally, it should be noted that although the above embodiments have been described in the specification and drawings of this application, this does not limit the scope of patent protection of this application. All technical solutions generated by replacing or modifying equivalent structures or equivalent processes based on the essential concepts of this application using the contents recorded in the specification and drawings of this application, as well as directly or indirectly implementing the technical solutions of the above embodiments in other related technical fields, are included in the scope of patent protection of this application.

Claims

1. A method for transmitting large map data, characterized in that: Including the sending end and the robot end, the execution includes the following steps: The sending end divides the large map into several map blocks and adds a mark to each map block to form several data blocks; Build multiple parallel transmission communication links connecting the transmitter and the robot; Transmitting several data blocks in parallel via a communication link; The robot side reorganizes the data blocks based on the identifiers and restores them to a large map.

2. The method for transmitting large map data according to claim 1, characterized in that: The sending end divides the large map into a plurality of map blocks and adds an identifier to each map block to form a plurality of data blocks, including the following steps: Dividing the large map into layers based on resolution, including a base layer, a detail layer, and an enhancement layer; Divide the base layer, detail layer and enhancement layer into several map blocks respectively; Add an identifier to each map block to form several data blocks.

3. The method for transmitting large map data according to claim 2, characterized in that: The map blocks of the base layer include road skeletons and intersection topological relationships; the map blocks of the detail layer include area data and auxiliary signs; and the map blocks of the enhancement layer include three-dimensional models and object textures.

4. The method for transmitting large map data according to claim 2, characterized in that: The step of dividing the base layer, the detail layer, and the enhancement layer into a plurality of map blocks comprises the following steps: Get the size W×H of the base layer, detail layer, and enhancement layer; The default size of each map block is B×B; The base layer, detail layer and enhancement layer are divided into N blocks respectively. The calculation formula of N is as follows: in It represents rounding up, and the size of each small block is B×B, where B is the side length of the block.

5. The method for transmitting large map data according to claim 2, characterized in that: The step of dividing the large map into a base layer, a detail layer and an enhancement layer based on resolution levels also includes compressing the base layer, the detail layer and the enhancement layer respectively; The robot side reorganizes the data blocks based on the identifiers and restores them into a large map, including decompressing the base layer, the detail layer and the enhancement layer respectively.

6. The method for transmitting large map data according to claim 5, characterized in that: The base layer and detail layer are compressed based on the Douglas-Peucker compression algorithm with adaptive threshold and direction constraint optimization added; The adaptive threshold formula is as follows: e i =e0×(1+k*C i )×fw j ; Among them, e0 is the basic threshold, k is the curvature coefficient, C i is the curvature at point i, fw j is the factor importance weight; fw j The formula for calculating the three-point cross product is as follows: (x i ,y i ) The coordinates of the current point i, generally the projection coordinates of the map, (x i-1 ,y i-1 )The projection coordinates of the previous point, (x i+1 ,y i+1 )The projection coordinates of the latter point; The direction constraint optimization formula is as follows: Among them, d is the original vertical distance, α is the directional sensitivity parameter, and θ i is the tangent direction at point i, calculated through the two points before and after.

7. The method for transmitting large map data according to claim 1, characterized in that: The step of transmitting a plurality of data blocks in parallel via the communication link includes dynamically allocating the transmission data blocks based on the real-time status of the communication link.

8. The method for transmitting large map data according to claim 7, characterized in that: The method of dynamically allocating transmission data blocks based on the real-time status of the communication link comprises the following steps: Calculating a communication link quality score; Calculate the priority of the data block; The transmission data blocks are allocated according to a preset allocation strategy based on the communication link quality score and the priority of the data blocks.

9. The method for transmitting large map data according to claim 1, characterized in that: The step of transmitting a plurality of data blocks in parallel through the communication link also includes the step of resuming the transmission after the robot receives each data block transmitted in parallel, including the following steps: The sender generates a block check code and metadata index; The robot side maintains the download schedule and records the data block status; Request retransmission of lost or damaged data blocks based on the data block status in the download progress table.

10. The method for transmitting large map data according to claim 1, characterized in that: The robot side reorganizes the data blocks based on the identifiers to restore them into a large map, including the following steps: The data block D i Reorganize according to the order of the identification and finally restore to the complete map data D f ,but Wherein, N is the total number of data blocks, and i is the i-th data block arranged in the order of identification.