A method for large map data transmission

CN120687537BActive Publication Date: 2026-09-22福建汉特云智能科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510785899.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-12
Publication Date
2026-09-22
Estimated Expiration
2045-06-12

AI Technical Summary

Technical Problem

[0004]鉴于上述问题,本申请提供了一种大地图数据传输的方法,解决现有机器人传输地图数据传输效率低、加载慢的问题

Benefits of technology

[0039]区别于现有技术,上述技术方案通过将大规格场景的大地图进行分块处理,分块后为每一个地图块赋予唯一的标识信息,通过这种精确标识,为后续机器人端的大地图拼接提供基础;再采用并行传输技术,将分块后的多个地图块同时在网络链路中传输,大大提升了传输效率,为机器人快速获取地图数据提供保障;当机器人接收地图块后,根据地图块的标识信息进行精准拼接,保证了地图合成的准确性;显著提升数据传输效率,优化机器人运行体验,助力机器人在复杂场景中的广泛应用。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120687537B_ABST
    Figure CN120687537B_ABST
Patent Text Reader

Abstract

A method for large map data transmission, including a sending end and a robot end, performs the following steps: the sending end divides a large map into a plurality of map blocks, and adds an identifier to each map block to form a plurality of data blocks; a plurality of parallel transmission communication links are built between the sending end and the robot end; the plurality of data blocks are transmitted in parallel through the communication links; and the robot end recombines the data blocks based on the identifier to restore the large map. The above technical solution significantly improves data transmission efficiency, optimizes robot operation experience, and helps the wide application of robots in complex scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot map transmission, specifically to a method for transmitting large map data. Background Technology

[0002] With the increasing application of robots in large-scale scenarios such as airports and factories, the demand for robots to receive and process large amounts of map data in real time has increased dramatically. These scenarios are often vast and have complex terrains. For example, an airport encompasses multiple functional areas, including terminals, aprons, and cargo areas, with a total area reaching tens of square kilometers. In these scenarios, robots need to rely on high-precision maps to achieve functions such as navigation, obstacle avoidance, and path planning. Therefore, the efficiency of map data transmission directly affects the robot's operational performance.

[0003] However, traditional large-scale map data transmission methods typically employ a serial transmission mode, transmitting only one data block at a time, waiting for the current block to complete before starting the next. This approach has significant drawbacks when network bandwidth is ample. Firstly, serial transmission fails to fully utilize network bandwidth resources, resulting in wasted resources. For example, in an airport environment equipped with a high-speed 5G network, theoretically supporting transmission rates up to 10Gbps, serial transmission utilizes only a small portion of the bandwidth, leading to low transmission efficiency. Secondly, due to the massive amount of map data in large-scale scenarios and the large number of data blocks transmitted in a single transmission, the serial transmission mode significantly extends the transmission time. This results in slow map loading speeds for robots; the time from receiving a map data request to completing map loading can be substantial, severely impacting the robot's response speed and work efficiency. In airport scenarios, if service robots cannot quickly load maps, they may be unable to respond to passenger needs promptly, failing to accurately guide passengers to boarding gates, baggage claim areas, and other destinations, thus reducing service quality and passenger experience. Especially when facing emergencies, the difficulty in updating map information and replanning routes in a timely manner increases the risk of collisions and getting lost, affecting the safety and stability of robot operation. In addition, the long time required for map transmission and loading also increases the robot's energy consumption, shortens its battery life, and increases operating costs. Summary of the Invention

[0004] In view of the above problems, this application provides a method for large map data transmission, which solves the problems of low efficiency and slow loading of existing robot map data transmission.

[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 tiles and adds an identifier to each map tile to form several data blocks;

[0007] Establish multiple parallel transmission communication links connecting the sending end and the robot end;

[0008] Several data blocks are transmitted in parallel via a communication link;

[0009] The robot reassembles the data blocks based on the identifiers to restore them into a large map.

[0010] Furthermore, the step of the sending end dividing the large map into several map tiles and adding an identifier to each map tile to form several data blocks includes the following steps:

[0011] The large map is divided based on resolution levels, including a base layer, a detail layer, and an enhancement layer;

[0012] The base layer, detail layer, and enhancement layer are each divided into several map tiles;

[0013] Each map tile is labeled to form several data blocks.

[0014] Furthermore, the map tiles in the base layer include road skeletons and intersection topology; the map tiles in the detail layer include regional data and auxiliary signs; and the map tiles in the enhancement layer include 3D models and object textures.

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

[0016] Get the dimensions of the base layer, detail layer, and enhancement layer. ;

[0017] The default size of each map tile is 1. ;

[0018] The base layer, detail layer, and enhancement layer are then divided into N blocks, and the formula for calculating N is as follows:

[0019]

[0020] in This represents rounding up, with each block having a size of [value missing]. , where B is the side length of the block.

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

[0022] The robot end reassembles data blocks based on identifiers to restore a large map, including decompressing the base layer, detail layer, and enhancement layer respectively.

[0023] Furthermore, the base layer and detail layer are compressed using the Douglas-Puk compression algorithm with added adaptive thresholds and directional constraints.

[0024] The adaptive threshold is calculated based on a preset base threshold, combined with the curvature coefficient, the curvature of the current point, and the importance weight of map elements. The importance weight of elements is set differently according to the road type. The curvature of the current point is obtained by performing a three-point cross product operation on the current map projection coordinates, the previous adjacent projection coordinates, and the next adjacent projection coordinates.

[0025] Directional constraint optimization is used to retain feature points with large changes in map curvature and refine redundant points on straight road segments. It is calculated based on the original vertical distance, combined with preset directional sensitivity parameters and the tangent direction of the current point; wherein, the tangent direction of the point is calculated from the coordinates of the adjacent points before and after the current point.

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

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

[0028] Calculate the communication link quality score;

[0029] Calculate the priority of the data block;

[0030] Based on the communication link quality score and the priority of the data blocks, the transmission data blocks are allocated according to the preset allocation strategy.

[0031] Furthermore, in the step of parallel transmission of several data blocks via the communication link, the robot end also performs breakpoint resumption after receiving each parallel transmission of a data block, including the following steps:

[0032] The sending end generates block checksums and metadata indexes;

[0033] The robot maintains the download progress table and records the status of data blocks.

[0034] Based on the data block status in the download progress table, request the retransmission of lost or corrupted data blocks.

[0035] Furthermore, the step of the robot reassembling data blocks based on identifiers to restore a large map includes the following steps:

[0036] data blocks The data is reassembled according to the order of the labels, ultimately restoring the complete map data. ,but

[0037] ;

[0038] Where N is the total number of data blocks, and i is the i-th data block arranged in the order of its identifier.

[0039] Unlike existing technologies, the above-mentioned technical solution divides a large-scale map of a large scene into blocks, assigning each block a unique identifier. This precise identifier provides the foundation for subsequent large-scale map stitching on the robot. Parallel transmission technology is then used to transmit multiple blocks simultaneously over the network link, significantly improving transmission efficiency and ensuring the robot can quickly acquire map data. Once the robot receives the map blocks, it performs precise stitching based on the block identifiers, guaranteeing the accuracy of the map synthesis. This significantly improves data transmission efficiency, optimizes the robot's operating experience, and facilitates the widespread application of robots in complex scenarios.

[0040] The above description of the invention is merely an overview of the technical solution of this application. In order to enable those skilled in the art to better understand the technical solution of this application and to implement it based on the description and drawings, and to make the above-mentioned objectives and other objectives, features and advantages of this application easier to understand, the following description is provided in conjunction with the specific embodiments and drawings of this application. Attached Figure Description

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

[0042] In the accompanying drawings of the instruction manual:

[0043] Figure 1 This is a flowchart illustrating the method for transmitting large map data according to a specific implementation.

[0044] Figure 2 This is a flowchart illustrating the method for transmitting large map data as described in a specific implementation. Detailed Implementation

[0045] To illustrate the possible application scenarios, technical principles, implementable specific solutions, and achievable objectives and effects of this application in detail, the following description, in conjunction with the listed specific embodiments and accompanying drawings, provides a detailed explanation. The embodiments described herein are merely illustrative of the technical solutions of this application and are therefore intended to limit the scope of protection of this application.

[0046] In this document, the term "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The term "embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment, nor does it specifically limit its independence or connection with other embodiments. In principle, in this application, as long as there are no technical contradictions or conflicts, the technical features mentioned in each embodiment can be combined in any way to form corresponding implementable technical solutions.

[0047] Unless otherwise defined, the technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the use of related terms herein is merely for the purpose of describing particular embodiments and is not intended to limit this application.

[0048] In the description of this application, the term "and / or" is used to describe the logical relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A exists, B exists, and A and B exist simultaneously. Additionally, the character " / " in this document generally indicates that the preceding and following objects have an "or" logical relationship.

[0049] In this application, terms such as “first” and “second” are used only to distinguish one entity or operation from another, and do not necessarily require or imply any actual quantity, hierarchy or order relationship between these entities or operations.

[0050] Without further limitations, the use of terms such as “comprising,” “including,” “having,” or other similar open-ended expressions in this application is intended to cover non-exclusive inclusion, which does not exclude the presence of additional elements in a process, method, or product that includes the stated elements, such that a process, method, or product that includes a list of elements may include not only those defined elements but also other elements not expressly listed, or elements inherent to such a process, method, or product.

[0051] As understood in the Examination Guidelines, in this application, expressions such as "greater than," "less than," and "exceeding" are understood to exclude the stated number; expressions such as "above," "below," and "within" are understood to include the stated number. Furthermore, in the description of the embodiments in this application, "multiple" means two or more (including two), and similar expressions related to "multiple" are also understood in this way, such as "multiple groups" and "multiple times," unless otherwise explicitly specified.

[0052] In the description of the embodiments of this application, the space-related expressions used, such as "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "vertical," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential," indicate the orientation or positional relationship based on the orientation or positional relationship shown in the specific embodiments or drawings. They are only for the purpose of describing the specific embodiments of this application or for 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, they should not be construed as limitations on the embodiments of this application.

[0053] The processor described in the embodiments of this application can be implemented by hardware, firmware, software, or a combination thereof. It can be a circuit, one or more of an application-specific integrated circuit (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, or a microprocessor. It also includes other physical, biological, or chemical structures that can implement the same or equivalent functions as 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 this application, or any combination of the steps mentioned therein.

[0054] The computer program involved in the embodiments can be stored in a computer device readable storage medium, which includes, but is not limited to, disks, magnetic tapes, magnetic cards, floppy disks, flash memory, optical disks, optical cards, read-only memory (ROM), random access memory (RAM), erasable programmable ROM (EPROM), and electrically erasable programmable ROM (EEPROM), etc., and also includes other biological, physical, or chemical structures that can achieve the same or equivalent functions as the storage media listed above, such as DNA, RNA, proteins, and other units with information storage capabilities. In specific embodiments, 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 embodiments can be centrally stored in a single medium, or distributed and stored in multiple media. The memory containing the computer device readable storage medium can be non-volatile memory or random access memory. These computer device readable storage media can be built into the device, or can be connected to the device involved in the embodiments as an external device or part of an external device. In some embodiments, the memory having a computer device readable storage medium is deployed locally; in other embodiments, the memory may be deployed remotely from the processor, for example, as a network-attached memory accessed via RF circuitry 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), or a suitable combination thereof, as long as computer device access to the memory is enabled. Furthermore, the computer program involved in the embodiments may be stored in plaintext / ciphertext form, or it may be designed as training data, integrated and recombined through model training and implicitly stored in the parameter states of a deep neural network or other machine learning model.

[0055] To meet the high-efficiency application needs of robots in large-scale scenarios such as airports and factories, and to solve the problems of low data transmission efficiency and slow loading in traditional map data transmission, a novel large map data transmission and processing method is proposed. This method, centered on block processing, parallel transmission, and intelligent stitching, significantly improves data transmission efficiency, optimizes the robot's operating experience, and facilitates the widespread application of robots in complex scenarios. It primarily involves dividing the large map of a large-scale scenario into blocks, assigning each block a unique identifier. This precise identification provides the foundation for subsequent large map stitching on the robot's end. Parallel transmission technology is then employed to transmit multiple block-based map blocks simultaneously over the network link, greatly improving transmission efficiency and ensuring the robot can quickly acquire map data. Once the robot receives the map blocks, it performs precise stitching based on the block identifiers, guaranteeing the accuracy of the map synthesis.

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

[0057] S10. The sending end divides the large map into several map tiles and adds an identifier to each map tile to form several data blocks;

[0058] S20. Establish multiple parallel transmission communication links connecting the sending end and the robot end;

[0059] S30. Parallel transmission of several data blocks via a communication link;

[0060] S40: The robot reassembles the data blocks based on the identifiers to restore them into a large map.

[0061] The aforementioned large map can be a raster map, a vector map, an octree map, a point cloud map, or a hybrid map formed by combining multiple of the above maps.

[0062] The aforementioned sending end can be any device or system with data storage, processing, and transmission capabilities, specifically cloud servers, edge servers (local servers deployed close to the robot), mobile relay nodes (such as drones or inspection robots, which act as temporary sending ends to forward map data to other robots), local storage devices, and other intelligent devices.

[0063] The aforementioned sending end divides the large map into several map tiles, which can be processed according to preset rules. These preset rules comprehensively consider scene characteristics, transmission efficiency, storage costs, and the processing capabilities of the robot. Specifically, the division can be performed using one or more of the following methods:

[0064] (a) Based on spatial geometric partitioning rules, the large map is divided into several map tiles.

[0065] In some embodiments, the large map is divided into uniform grid tiles, with each grid corresponding to a map tile. Specifically, the step of the sending end dividing the large map into several map tiles and adding an identifier to each map tile to form several data blocks includes the following steps:

[0066] Let the size of the large map be... Each map tile is [size missing] The large map is then divided into N blocks, and the formula for calculating N is as follows:

[0067]

[0068] in This represents rounding up, with each block having a size of [value missing]. , where B is the side length of the block.

[0069] In some embodiments, the large map is adaptively divided into tiles, and the size of the map tiles is dynamically adjusted according to the complexity of the map content to obtain several map tiles. Specifically, map feature density is identified using image segmentation algorithms (such as the watershed algorithm and the mean shift algorithm), and the size of the map tiles is adjusted according to the level of map feature density. For example, high feature density areas (such as corridors with dense obstacles) are divided into small-sized tiles (such as 1m×1m), and low feature density areas (such as open squares) are divided into large-sized tiles (such as 50m×50m).

[0070] In some embodiments, the large map is first divided into blocks according to task requirements to obtain map blocks of the current work area, and then the map blocks of the current work area are used as the map to be transmitted for a second division to obtain several map blocks.

[0071] (ii) Based on semantic features, the large map is divided into several map tiles. That is, logical blocks are made according to semantic units (such as rooms, corridors, obstacles, etc.) and semantic regions (such as inbound area, sorting area, outbound area, etc.) in the map.

[0072] (III) Based on resolution-level tile division rules, the large map is divided into several map tiles. Specifically, the large map is divided into multiple resolution levels, such as levels 0-n, where level 0 is a low-resolution global overview (used for path planning), and level n is a high-resolution local detail (used for precise navigation). The robot first requests the lower-level map tiles, and then loads higher-level details as needed. For example, the large map can be divided into three layers, including a base layer, a detail layer, and an enhancement layer; wherein, the map tiles in the base layer include road skeletons and intersection topology; the map tiles in the detail layer include regional data and auxiliary signs; and the map tiles in the enhancement layer include 3D models and object textures.

[0073] The aforementioned preset rules can be combined with one or more of the above methods to divide the large map. For example, division based on resolution levels and division based on spatial geometric block rules can be combined to divide the large map into several map tiles. Specifically, the step of the sending end dividing the large map into several map tiles and adding an identifier to each map tile to form several data blocks includes the following steps:

[0074] The large map is divided based on resolution levels, including a base layer, a detail layer, and an enhancement layer;

[0075] The base layer, detail layer, and enhancement layer are each divided into several map tiles;

[0076] The step of dividing the base layer, detail layer, and enhancement layer into several map tiles (based on spatial geometric tile division rules) includes the following steps:

[0077] Get the dimensions of the base layer, detail layer, and enhancement layer. ;

[0078] The default size of each map tile is 1. ;

[0079] The base layer, detail layer, and enhancement layer are then divided into N blocks, and the formula for calculating N is as follows:

[0080]

[0081] in This represents rounding up, with each block having a size of [value missing]. , where B is the side length of the block.

[0082] Each map tile is labeled to form several data blocks.

[0083] The following embodiment further illustrates the implementation method.

[0084] Each map tile is labeled to form several data blocks. The labels can be based on a coordinate labeling system, hierarchical numbering labels (such as region-sub-region-block number), hash value combined with metadata, and visual labeling assistance (such as adding color codes or icons to each block).

[0085] To improve transmission efficiency, large maps can be divided and compressed. Compression algorithms can be used to reduce the size of data blocks, thereby significantly reducing network bandwidth usage.

[0086] In some embodiments, the step of dividing the large map based on resolution levels, including a base layer, a detail layer, and an enhancement layer, further includes compressing the base layer, detail layer, and enhancement layer respectively. At this time, the robot end reassembles the data blocks based on identifiers to restore the large map, including decompressing the base layer, detail layer, and enhancement layer respectively. The base layer and detail layer can be compressed using the Douglas-Puk compression algorithm with adaptive thresholding and orientation constraints; the enhancement layer can use a hybrid compression method of WebP (image data) + Draco (3D model data).

[0087] The adaptive threshold is calculated based on a preset base threshold, combined with the curvature coefficient, the curvature of the current point, and the importance weight of map elements. The importance weight of elements is set differently according to the road type. The curvature of the current point is obtained by performing a three-point cross product operation on the current map projection coordinates, the previous adjacent projection coordinates, and the next adjacent projection coordinates.

[0088] Directional constraint optimization is used to retain feature points with large changes in map curvature and refine redundant points on straight road segments. It is calculated based on the original vertical distance, combined with preset directional sensitivity parameters and the tangent direction of the current point; wherein, the tangent direction of the point is calculated from the coordinates of the adjacent points before and after the current point.

[0089] At this point, after receiving the data blocks, the robot combines them to obtain the decompression of the base layer and detail layer. The key formulas for the decompression process are as follows:

[0090] Directional constraint interpolation formula

[0091]

[0092] in, Coordinates of the midpoint between the two points Directional constraint offset;

[0093] Topology Repair Alignment Formula

[0094]

[0095] in, , The coordinates of the two points that need to be aligned; , The weight is usually related to the importance of the point (e.g., main road points have high weight, auxiliary points have low weight).

[0096] Curvature-guided interpolation density formula

[0097]

[0098] in, Based on density, Curvature influencing factor This is the curvature value recorded during compression.

[0099] In some embodiments, the sending end divides the large map into several map tiles and adds an identifier to each map tile to form several data blocks. The method further includes compressing the identified map tiles to form data blocks; the compression formula is as follows:

[0100] set up For the first Small pieces of the original map, If the map is compressed, then the compressed map tile is:

[0101]

[0102] in, This indicates a compression algorithm.

[0103] At this point, the robot reassembles the data blocks based on the identifiers to restore the large map. This includes decompressing each data block. The robot receives the data blocks... Next, the data blocks are decompressed to restore the original map tiles. The decompressed original map tiles are then:

[0104]

[0105] Wherein represents the decompression algorithm. .

[0106] Specifically, the map tiles with added markers can be compressed using Huffman coding to reduce the bandwidth required for a single transmission, as shown in the following formula:

[0107]

[0108] in, The number of leaf nodes. For the first The weights of the leaf nodes, For the first The path length of each leaf node. Huffman is the smallest binary tree in WPL.

[0109] Then the robot receives the data block Next, the data blocks are decompressed. The Huffman decompression algorithm formula is as follows:

[0110]

[0111] in, It is a Huffman tree. It is the frequency of each symbol

[0112]

[0113] in, It is the input bitstream. It is a Huffman tree, and the output is the decoded symbol sequence.

[0114] In the aforementioned construction of multiple parallel transmission communication links connecting the sending end and the robot end, the communication link transmission time... for:

[0115] ;

[0116] in, This is the total time for parallel transmission. Number of data blocks The number of links for parallel transmission. The transmission time for each data block.

[0117] In some embodiments, to improve bandwidth utilization and reduce the time required for data transmission, the step of parallel transmission of several data blocks via a communication link includes dynamically allocating transmission data blocks based on the real-time status of the communication link. Specifically, it includes the following steps:

[0118] Calculate the communication link quality score;

[0119] Calculate the priority of the data block;

[0120] Based on the communication link quality score and the priority of the data blocks, the transmission data blocks are allocated according to the preset allocation strategy.

[0121] The formula for calculating the communication link quality score mentioned above can be:

[0122] ;

[0123] in, The overall quality score of link j. The available bandwidth of link j Round-trip delay of link j, Packet loss rate of link j These are the weighting coefficients.

[0124] The formula for calculating the priority of the above data blocks can be:

[0125] ;

[0126] The size of data block i Importance level of data block i The number of redundant copies of data block i.

[0127] The above-mentioned preset allocation strategy can sort data blocks by priority from high to low, and for each data block, filter out links with a quality score ≥ a threshold. Of course, among the available links, the link with the highest score is selected to allocate the data block. For important data blocks, they can be copied to multiple links to ensure data integrity (redundancy), while ordinary blocks are allocated according to... The scores are allocated in descending order to ensure load balancing.

[0128] In some embodiments, the step of transmitting several data blocks in parallel through multiple parallel transmission communication links further includes resuming transmission after each parallel transmission of a data block by the robot, specifically including the following steps:

[0129] The sending end generates block checksums and metadata indexes;

[0130] The robot maintains the download progress table and records the status of data blocks.

[0131] Based on the data block status in the download progress table, request the retransmission of lost or corrupted data blocks.

[0132] The states of the aforementioned data blocks include: not received, received and verified, and received but verification failed.

[0133] Assume the number of links for parallel transmission is The download progress table after the robot receives each data block transmitted in parallel is as follows:

[0134] ;

[0135] in, The state of the data block transmitted on the i-th link;

[0136] The robot detects the status of each data block in the download progress table and identifies any instances where data has not been received. Then for Data blocks transmitted over the link are retransmitted. Or, if received data is detected within the transmission... However, if the verification fails, then... Data blocks transmitted via the link are retransmitted.

[0137] The aforementioned robot reassembles data blocks based on identifiers to reconstruct a large map. Specifically, when the robot receives segmented map tiles, it precisely stitches them together according to the identifier information of each data tile. First, it determines the relative position of each data tile within the complete map based on the identifier information; then, according to a preset stitching algorithm, it seamlessly combines the data tiles, ultimately creating a complete large map on the robot. During the stitching process, if missing or incorrect data is detected, the robot can promptly report this to the data sender, requesting the retransmission of the corresponding data tiles to ensure the integrity and accuracy of the map. Specifically, the data tiles... The data is reassembled according to the order of the labels, ultimately restoring the complete map data. ,but

[0138] ;

[0139] Where N is the total number of data blocks, and i is the i-th data block arranged in the order of its identifier.

[0140] See Figure 2 As shown, to further understand this application, a specific embodiment is provided below.

[0141] The large map is divided into three layers: the base layer, the detail layer, and the enhancement layer. Different compression algorithms are used based on the different characteristics of the base layer, the detail layer, and the enhancement layer.

[0142] The basic layer includes the road skeleton and intersection topology, and adopts an improved Douglas-Puk compression algorithm with a threshold of 0.2m.

[0143] The detail layer includes region data and auxiliary markers, and uses an improved Douglas-Puk compression algorithm with a threshold of 0.5m;

[0144] The enhancement layer includes a 3D model and object textures, and uses a hybrid compression of WebP (image data) and Draco (3D model data);

[0145] The compressed base layer, detail layer, and enhancement layer are each divided into multiple map tiles. Each map tile is labeled, and then compressed to form a data block. Specifically, the dimensions of the base layer, detail layer, and enhancement layer are set to [size missing]. (Width W and Height H), the size of each map tile is... The base layer, detail layer, and enhancement layer are then divided into N blocks, and the formula for calculating N is as follows:

[0146]

[0147] in This represents rounding up, with each block having a size of [value missing]. , where B is the side length of the block;

[0148] Data blocks are transmitted in parallel through multiple communication links, and data blocks are dynamically allocated based on the real-time status of the links, thereby improving bandwidth utilization and reducing the time required for data transmission.

[0149] During data block transmission, after each parallel transmission of a data block, the robot obtains the reception status according to the download progress table. Retransmission requests are only made for lost or corrupted data blocks to ensure the correctness and integrity of the data.

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

[0151] The decompressed data blocks are then reassembled according to their identifiers, and finally restored to the base layer, detail layer, and enhancement layer before being decompressed again according to the corresponding compression algorithm.

[0152] The decompressed base layer, detail layer, and enhancement layer are reassembled to restore the large map.

[0153] Finally, it should be noted that although the above embodiments have been described in the text and drawings of this application, this should not limit the scope of patent protection of this application. Any technical solutions that are based on the essential concept of this application and utilize the content described in the text and drawings of this application, resulting in equivalent structural or procedural substitutions or modifications, as well as the direct or indirect application of the technical solutions of the above embodiments to other related technical fields, are all included within 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 following steps are executed: The sending end divides the large map into several map tiles and adds an identifier to each map tile to form several data blocks; Establish multiple parallel transmission communication links connecting the sending end and the robot end; Several data blocks are transmitted in parallel via a communication link; The robot reassembles data blocks based on identifiers to restore a large map; The process of dividing a large map into several map tiles and adding identifiers to each map tile to form several data blocks includes the following steps: The large map is divided based on resolution levels, including a base layer, a detail layer, and an enhancement layer; The base layer, detail layer, and enhancement layer are each divided into several map tiles; Each map tile is labeled to form several data blocks; The step of dividing the large map based on resolution levels, including a base layer, a detail layer, and an enhancement layer, also includes compressing the base layer, detail layer, and enhancement layer respectively. The robot end reassembles data blocks based on identifiers to restore a large map, including decompressing the base layer, detail layer, and enhancement layer respectively. The base layer and detail layer are compressed using the Douglas-Puk compression algorithm with added adaptive thresholds and directional constraints for optimization. The adaptive threshold is calculated based on a preset base threshold, combined with the curvature coefficient, the curvature of the current point, and the importance weight of map elements. The importance weight of elements is set differently according to the road type. The curvature of the current point is obtained by performing a three-point cross product operation on the current map projection coordinates, the previous adjacent projection coordinates, and the next adjacent projection coordinates. Directional constraint optimization is used to retain feature points with large changes in map curvature and refine redundant points on straight road segments. It is calculated based on the original vertical distance, combined with preset directional sensitivity parameters and the tangent direction of the current point; wherein, the tangent direction of the point is calculated from the coordinates of the adjacent points before and after the current point.

2. The method for large map data transmission according to claim 1, characterized in that, The base layer map tiles include road skeletons and intersection topology; the detail layer map tiles include regional data and auxiliary signs; and the enhancement layer map tiles include 3D models and object textures.

3. The method for large map data transmission according to claim 1, characterized in that, The step of dividing the base layer, detail layer, and enhancement layer into several map tiles includes the following steps: Get the dimensions of the base layer, detail layer, and enhancement layer. ; The default size of each map tile is 1. ; The base layer, detail layer, and enhancement layer are then divided into N blocks, and the formula for calculating N is as follows: in This represents rounding up, with each block having a size of [value missing]. , where B is the side length of the block.

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

5. The method for large map data transmission according to claim 4, characterized in that, The dynamic allocation of transmission data blocks based on the real-time status of the communication link includes the following steps: Calculate the communication link quality score; Calculate the priority of the data block; Based on the communication link quality score and the priority of the data blocks, the transmission data blocks are allocated according to the preset allocation strategy.

6. The method for large map data transmission according to claim 1, characterized in that, The step of transmitting several data blocks in parallel via a communication link also includes resuming transmission after each parallel transmission received by the robot, including the following steps: The sending end generates block checksums and metadata indexes; The robot maintains the download progress table and records the status of data blocks. Based on the data block status in the download progress table, request the retransmission of lost or corrupted data blocks.

7. The method for large map data transmission according to claim 1, characterized in that, The step of the robot reassembling data blocks based on identifiers to restore a large map includes the following steps: data blocks The data is reassembled according to the order of the labels, ultimately restoring the complete map data. ,but ; Where N is the total number of data blocks, and i is the i-th data block arranged in the order of its identifier.

Citation Information

Patent Citations

  • High-precision map distributed storage and distribution method based on vehicle-road cooperation

    CN115982307A

  • Data transmission method and device for multi-path parallel transmission and electronic equipment

    CN119071247A