Map updating method and device

By analyzing historical environment data, and updating the map with reference map and sub-base map, the problem of high-precision map update cost and insufficient accuracy is solved, and low-cost and high-precision update effect is achieved.

CN112699200BActive Publication Date: 2025-08-26BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110014330.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-06
Publication Date
2025-08-26
Estimated Expiration
2041-01-06

AI Technical Summary

Technical Problem

In the prior art, high-precision map update costs and insufficient accuracy, especially in unmanned driving equipment, real-time uploading of data takes up computing resources, resulting in inaccurate positioning.

Method used

By obtaining historical environment data, analyzing and determining the area to be updated, and using the matching degree between the reference map and the sub-base map for updates, avoiding real-time data uploads and improving positioning accuracy.

Benefits of technology

It realizes low-cost and high-precision map updates, reduces computing resource usage, and improves the accuracy and driving safety of map updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112699200B_ABST
    Figure CN112699200B_ABST
Patent Text Reader

Abstract

This specification discloses a method and apparatus for map updating, which obtains collected historical environmental data, determines at least one area to be updated from the baseline map based on the historical environmental data and the baseline environmental data corresponding to the baseline map, and determines, for each area to be updated, a reference map corresponding to the area to be updated based on the historical environmental data corresponding to the area to be updated. Then, the sub-baseline map corresponding to the reference map in the baseline map is determined, and the degree of match between the reference map and the sub-baseline map is determined by aligning the reference objects contained in the reference map with the same reference objects contained in the sub-baseline map. If the degree of match between the reference map and the sub-baseline map is not less than a first set threshold, the baseline map is updated according to the reference map. This method can reduce the waste of computing resources of the real-time system, improve the accuracy of the positioning of the reference map, avoid deviations in map updates, and ensure safe driving of the designated device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of unmanned driving, and in particular to a method and device for updating a map. Background Art

[0002] The realization of the functions of unmanned driving equipment requires the use of high-precision maps. With the continuous construction of roads, the appearance and disappearance of construction sites, and the changes in road ancillary facilities, maps need to be constantly updated to ensure the effectiveness of high-precision maps. In the existing technology, high-precision maps can be updated by using professional map collection vehicles to re-collect maps of the areas that need to be updated and replace them as a whole. The maps updated by this method are highly accurate, but the production and maintenance costs are extremely high. The unmanned driving equipment uploads map data to the cloud server in real time, and the cloud server updates the map based on the received map data. This will cause the real-time detection of environmental changes and the uploading of environmental change data to occupy the computing resources of the autonomous driving real-time system. In addition, the sensor accuracy of the unmanned driving equipment is not enough, which may make the accuracy of the positioning data of the detected area not high, resulting in deviations in the high-precision map update.

[0003] Therefore, how to update high-precision maps at low cost and ensure the accuracy of high-precision maps is an urgent problem to be solved. Summary of the Invention

[0004] This specification provides a map updating method and device to partially solve the above-mentioned problems existing in the prior art.

[0005] This manual adopts the following technical solutions:

[0006] This specification provides a map updating method, including:

[0007] Obtain collected historical environmental data;

[0008] Determining at least one area to be updated from the reference map based on the historical environmental data and the reference environmental data corresponding to the reference map, and for each area to be updated, determining a reference map corresponding to the area to be updated based on the historical environmental data corresponding to the area to be updated;

[0009] determining a sub-reference map corresponding to the reference map in the reference map, and determining a degree of matching between the reference map and the sub-reference map by aligning a reference object contained in the reference map with the same reference object contained in the sub-reference map;

[0010] If the matching degree between the reference map and the sub-reference map is not less than a first set threshold, the reference map is updated according to the reference map.

[0011] Optionally, determining at least one area to be updated from the reference map based on the historical environment data and the reference environment data corresponding to the reference map specifically includes:

[0012] For each acquired historical trajectory point, determine the actual environmental characteristics corresponding to the historical trajectory point based on the historical environmental data corresponding to the historical trajectory point;

[0013] Determining a reference environmental feature corresponding to the historical trajectory point in the reference map, and determining a matching degree between the reference environmental feature and the actual environmental feature as the matching degree corresponding to the historical trajectory point;

[0014] If it is determined that the matching degree corresponding to the historical trajectory point is less than a second set threshold, the historical trajectory point is determined to be the target trajectory point;

[0015] At least one area to be updated is determined from the reference map according to the determined target track points.

[0016] Optionally, the historical environmental data includes at least one of combined inertial navigation data and point cloud data.

[0017] Optionally, for each area to be updated, determining a reference map corresponding to the area to be updated based on historical environmental data corresponding to the area to be updated specifically includes:

[0018] For each area to be updated, determining each valid trajectory point corresponding to the area to be updated according to the combined inertial navigation data corresponding to the area to be updated;

[0019] Based on the point cloud data of each valid trajectory point corresponding to the area to be updated and the combined inertial navigation data, the position of each valid trajectory point corresponding to the area to be updated is optimized, so as to determine the reference map corresponding to the area to be updated through each optimized valid trajectory point corresponding to the area to be updated.

[0020] Optionally, for each area to be updated, determining each valid trajectory point corresponding to the area to be updated according to the combined inertial navigation data corresponding to the area to be updated specifically includes:

[0021] For each area to be updated, determine each historical trajectory point corresponding to the area to be updated;

[0022] The combined inertial navigation data corresponding to the area to be updated is input into a preset trajectory point screening model to screen out some historical trajectory points from the historical trajectory points corresponding to the area to be updated as valid trajectory points corresponding to the area to be updated.

[0023] Optionally, determining a reference map corresponding to the area to be updated through each optimized valid trajectory point corresponding to the area to be updated specifically includes:

[0024] Optimizing the relative positions of the reference objects involved in the point cloud data corresponding to the area to be updated through the optimized valid trajectory points corresponding to the area to be updated, so as to determine the optimized reference objects corresponding to the area to be updated;

[0025] A reference map corresponding to the area to be updated is determined according to the optimized reference object corresponding to the area to be updated.

[0026] Optionally, determining the degree of matching between the reference map and the sub-reference map by aligning a reference object included in the reference map with the same reference object included in the sub-reference map specifically includes:

[0027] Based on the relative positional relationship between the reference objects in the sub-reference map, the relative positional relationship between the reference objects included in the reference map is adjusted to obtain an adjusted reference map, and a matching degree between the adjusted reference map and the sub-reference map is determined. When the reference objects included in the adjusted reference map are aligned with the reference objects included in the sub-reference map, the degree of overlap between the reference objects included in the adjusted reference map and the reference objects included in the sub-reference map is not less than a set overlap.

[0028] Optionally, the method further includes:

[0029] The updated reference map is sent to a designated device, so that the designated device drives according to the updated reference map.

[0030] This specification provides a map updating device, including:

[0031] Acquisition module, used to obtain the collected historical environmental data;

[0032] a determination module, configured to determine at least one area to be updated from the reference map based on the historical environmental data and the reference environmental data corresponding to the reference map, and, for each area to be updated, determine a reference map corresponding to the area to be updated based on the historical environmental data corresponding to the area to be updated;

[0033] a matching module configured to determine a sub-reference map corresponding to the reference map in the reference map, and to determine a degree of matching between the reference map and the sub-reference map by aligning a reference object contained in the reference map with the same reference object contained in the sub-reference map;

[0034] The updating module is configured to update the base map according to the reference map if the matching degree between the reference map and the sub-base map is not less than a first set threshold.

[0035] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned map updating method is implemented.

[0036] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned map updating method when executing the program.

[0037] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:

[0038] In the method recommended by the information provided in this specification, collected historical environmental data is obtained. Based on the historical environmental data and the baseline environmental data corresponding to the baseline map, at least one area to be updated is determined from the baseline map. For each area to be updated, a reference map corresponding to the area to be updated is determined based on the historical environmental data corresponding to the area to be updated. Then, the sub-baseline map corresponding to the reference map in the baseline map is determined, and the degree of match between the reference map and the sub-baseline map is determined by aligning the reference objects contained in the reference map with the same reference objects contained in the sub-baseline map. If the degree of match between the reference map and the sub-baseline map is not less than a first set threshold, the baseline map is updated according to the reference map.

[0039] As can be seen from the above method, this method can determine the reference map corresponding to the area to be updated based on the collected historical environmental data, and align the reference objects contained in the reference map with the same reference objects contained in the sub-base map corresponding to the reference map, making the positioning of the aligned reference map more accurate. Compared to the existing technology, this method analyzes historical environmental data instead of uploading data in real time, avoiding the real-time detection of environmental changes and uploading of environmental change data that occupy the computing resources of the real-time system. At the same time, the reference map obtained based on historical environmental data is aligned with the sub-base map for the same reference objects, which improves the accuracy of the reference map positioning, avoids deviations in map updates, and improves the accuracy of map updates. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The exemplary embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation of this specification. In the drawings:

[0041] Figure 1 A flowchart of a map updating method in this specification;

[0042] Figure 2A schematic diagram of the effective trajectory point optimization process provided in this manual;

[0043] Figure 3A 、 3B A schematic diagram for adjusting the relative position relationship between reference objects in a reference map according to reference objects in a sub-reference map is provided for the purpose of this specification;

[0044] Figure 4 A schematic diagram of a map updating device in this specification;

[0045] Figure 5 The corresponding Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION

[0046] To make the objectives, technical solutions, and advantages of this specification more clear, the following will clearly and completely describe the technical solutions of this specification in conjunction with the specific embodiments of this specification and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of this specification.

[0047] The technical solutions provided by the embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0048] In the existing technology, maps are updated by professional map collection vehicles. The updated maps have high accuracy, but the production and maintenance costs are high. Maps are updated by collecting environmental change data through unmanned driving equipment. The update cost is low, but the updated maps have low accuracy. Therefore, a method is needed to update high-precision maps at low cost and ensure map accuracy.

[0049] In order to solve the above problems, this specification provides a method for map updating, in which a server obtains collected historical environmental data. Based on the historical environmental data and the benchmark environmental data corresponding to the benchmark map, the area to be updated is determined, and based on the historical environmental data corresponding to the area to be updated, the reference map corresponding to the area to be updated is determined. Then, by aligning the reference objects contained in the reference map with the same reference objects contained in the sub-baseline map corresponding to the reference map, the positioning of the aligned reference map is made more accurate. It can be seen that compared with the prior art, this solution takes into account the updating of the map through the collected historical environmental data to reduce the updating cost, and then improves the accuracy of the positioning of the reference map by aligning the same reference objects in the reference map and the sub-baseline map. Therefore, this method can update high-precision maps at a low cost and improve the accuracy of map updates.

[0050] Figure 1This is a flowchart of a map updating method in this specification, which specifically includes the following steps:

[0051] S100: Acquire the collected historical environmental data.

[0052] In the embodiments of this specification, during the process of updating the map, the historical environmental data generated by the designated device after driving can be first obtained. The historical environmental data mentioned here is used to characterize the historical driving trajectory of the designated device and the environmental conditions surrounding the designated device when it is at each historical trajectory point. Specifically, the historical environmental data can be point cloud data, combined inertial navigation data, image data, etc. collected by the designated device during driving. The point cloud data can be data obtained by a laser radar set on the designated device, the combined inertial navigation data can be data obtained by an inertial navigation system and a satellite positioning system set on the designated device, and the image data can be data collected by an image acquisition device such as a camera set on the designated device.

[0053] In this specification, the execution subject for updating the map can be a server or an electronic device such as a desktop computer. For ease of description, the map updating method provided in this specification is described below using the server as the execution subject.

[0054] The server can obtain the location data and shape data of each obstacle around the designated device through the acquired point cloud data. Of course, the designated device can obtain the location data, motion trajectory, and status data of the designated device through the acquired combined inertial navigation data and image data.

[0055] It should be noted that the designated devices mentioned in this specification can refer to devices that collect data while in motion, such as manned vehicles, manned robots, and other human-controlled devices. Of course, designated devices can also refer to unmanned devices, robots, automatic delivery equipment, and other devices capable of autonomous driving.

[0056] Based on this, unmanned driving equipment that applies the map update method provided in this specification can be used to perform delivery tasks in the delivery field, such as using unmanned driving equipment for express delivery, logistics, takeout and other delivery business scenarios.

[0057] S102: Determine at least one area to be updated from the reference map based on the historical environment data and the reference environment data corresponding to the reference map, and for each area to be updated, determine a reference map corresponding to the area to be updated based on the historical environment data corresponding to the area to be updated.

[0058] In the embodiments of this specification, the baseline map can refer to an initial map that has never been updated, the map that was last updated for the current update, or a map that was updated at any time in history. The specific baseline map can be determined based on actual needs. For example, because trees and vegetation change with the seasons, the server can select a baseline map that matches the current season based on the current season information.

[0059] The baseline environmental data is used to represent the environmental conditions corresponding to each trajectory point on the baseline map. Specifically, the baseline environmental data can be represented as point cloud data. The server can match the historical environmental data corresponding to each road segment with the baseline environmental data for the corresponding road segment in the baseline map, and select road segments with a matching degree less than a second set threshold as areas to be updated.

[0060] In practical applications, since the data acquisition frequencies of point cloud data and combined inertial navigation data are different, the server needs to synchronize the point cloud data and combined inertial navigation data in the historical environment data and perform interpolation processing based on the acquired historical environment data. That is, the location of each historical trajectory point is associated with the point cloud data corresponding to the location to determine the environmental characteristics around each historical trajectory point.

[0061] The server can then obtain the historical environmental data corresponding to each historical trajectory point and determine the actual environmental features corresponding to the historical trajectory point. The actual environmental features corresponding to the historical trajectory point are matched with the baseline environmental features corresponding to the historical trajectory point in the baseline map to obtain a matching degree between the actual environmental features and the baseline environmental features. If the matching degree is less than a second set threshold, the historical trajectory point is used as the target trajectory point. The server can use a partial area where a certain number of target trajectory points appear continuously as the area to be updated, or it can use an area where more than a certain number of target trajectory points appear as the area to be updated.

[0062] It should be noted that a designated device may encounter temporary large obstacles during driving, such as large vehicles, which may cause distortion in the acquired historical environmental data. In this case, the area to be updated determined based on the second set threshold may not be the actual map area that needs to be updated.

[0063] For example, when a designated device is driving on a road section, there are always some large vehicles driving synchronously around it. Therefore, when determining the area to be updated using the above method, this road section is likely to be determined as the area to be updated. However, this road section has not actually undergone significant changes, so the map corresponding to this road section does not actually need to be updated, that is, a misidentification situation occurs.

[0064] To avoid the aforementioned issues, in an embodiment of this specification, the server can match historical environmental data with the baseline environmental data corresponding to the baseline map, identifying the areas determined based on the target trajectory points as candidate update areas. The server can then select several areas from these candidate update areas as areas to be updated based on pre-set filtering criteria. In other words, based on the degree of matching of the target trajectory points, the server identifies candidate update areas that may require updating. Furthermore, based on pre-set filtering criteria, candidate update areas selected due to data distortion are eliminated, ultimately determining the areas to be updated.

[0065] The aforementioned preset filtering conditions can take various forms. For example, for each candidate update region, if the number of target trajectory points in the candidate update region exceeds a certain number, the candidate update region may be excluded from the update process. Another example is that if a large obstacle can be identified from the point cloud data corresponding to the target trajectory points in the candidate update region for a long period of time, the candidate update region may be excluded from the update process. Other forms of filtering conditions are not listed here.

[0066] In the embodiments of this specification, the historical trajectory points determined based on the combined inertial navigation data may experience weak or lost signals, resulting in deviations in the historical trajectory points. Therefore, it is necessary to filter out high-quality historical trajectory points from the historical trajectory points as valid trajectory points. The server can input the combined inertial navigation data corresponding to the area to be updated into a preset trajectory point screening model to filter out some of the historical trajectory points corresponding to the area to be updated as valid trajectory points for the area to be updated.

[0067] The trajectory point screening model is obtained through supervised training. Specifically, the server can obtain training samples, which contain data such as satellite signal status, satellite signal frequency band, standard deviation (Std Dev) of the position, and annotation results. Then, the server can use this data as input and input it into the trajectory point screening model to obtain the output result. The trajectory point screening model is trained with the optimization goal of minimizing the deviation between the output result and the annotation result.

[0068] In an embodiment of the present specification, the server may optimize the positions of the valid trajectory points corresponding to the area to be updated based on the point cloud data of the valid trajectory points corresponding to the area to be updated and the combined inertial navigation data, so as to determine the reference map corresponding to the area to be updated through the optimized valid trajectory points corresponding to the area to be updated.

[0069] The server can use the pose difference of the combined inertial navigation data between each valid trajectory point as a constraint to continuously calculate the position, orientation, speed, and other positioning information of the specified device to optimize the position of the valid trajectory point. However, since the errors generated by the inertial navigation system will gradually accumulate during the calculation process, there may be a large deviation between the calculated trajectory point and the actual position of the specified device. Therefore, the server can also use the point cloud data contained in the historical environment data as a constraint to optimize the position of each valid trajectory point.

[0070] Specifically, for any two adjacent valid trajectory points in the time dimension, the server can determine the actual environmental features corresponding to the two adjacent valid trajectory points based on the point cloud data contained in the historical environmental data, and based on the determined actual environmental features, optimize the actual positions corresponding to the two adjacent valid trajectory points and the positional relationship between the two adjacent valid trajectory points to obtain the optimized valid trajectory points. Of course, in actual applications, for valid trajectory points that are not adjacent in the time dimension but adjacent in position (for example, a designated device starts from a starting point, makes a circle and returns to the vicinity of the starting point, then the starting point and the final destination of the designated device are not adjacent in the time dimension, but can be considered as adjacent trajectory points in position), when the designated device is located at these two adjacent valid trajectory points, it may observe the same actual environmental features. Therefore, for this situation, the server can also optimize the position of these trajectory points that can be considered as adjacent in position through point cloud data. Furthermore, the server can further optimize the positions of other valid trajectory points that have been optimized based on each optimized valid trajectory point to ensure the accuracy of the positions corresponding to each valid trajectory point.

[0071] The server can construct a reference map corresponding to the area to be updated based on the actual environmental features corresponding to each valid trajectory point in the area to be updated, and can determine the reference object data corresponding to the reference object (such as the position data, shape, etc. of the reference object) from the reference map. The server can optimize the relative positions between the reference objects in the area to be updated based on the positional relationship between each optimized valid trajectory point corresponding to the area to be updated and the determined reference object, so as to determine the optimized reference object corresponding to the area to be updated, and then adjust the actual environmental features around the optimized reference object according to the optimized reference object corresponding to the area to be updated, so as to determine the reference map corresponding to the area to be updated, such as Figure 2 shown.

[0072] Figure 2 A schematic diagram of the effective trajectory point optimization process provided in this manual.

[0073] Figure 2The star symbol in the represents the reference object identified based on the point cloud data. The point cloud data corresponding to each valid track point may contain the same reference object. Therefore, the server can obtain the actual environmental features corresponding to each valid track point based on the point cloud data corresponding to each valid track point, and determine the reference objects located in the area to be updated and the reference object data corresponding to each reference object (such as the position of the reference object, the shape of the reference object, etc.) through these actual environmental features.

[0074] The circle marks indicate the location of each valid track point, and the letters in the circle marks are used to distinguish each valid track point. Figure 2 It can be seen that the designated device can observe reference object 3 at valid trajectory point A, valid trajectory point B, and valid trajectory point F. Therefore, the server can optimize the positions and positional relationships of these three valid trajectory points through the point cloud data and / or combined inertial navigation data corresponding to these three valid trajectory points, and optimize the position of reference object 3 through the optimized three valid trajectory points.

[0075] Similarly, the server can optimize the position of reference object 1 using the point cloud data and / or combined inertial navigation data of valid trajectory points A and B, and optimize the position of reference object 2 using the point cloud data and / or combined inertial navigation data of valid trajectory points B and C. Ultimately, the server can determine the relative positional relationship between reference objects 1, 2, and 3 using the optimized positions of the three reference objects.

[0076] In an embodiment of this specification, the server may calculate a covariance based on position changes obtained from the combined inertial navigation data corresponding to adjacent valid trajectory points to obtain a first confidence level, and calculate a covariance based on position changes obtained from the point cloud data corresponding to the adjacent valid trajectory points to obtain a second confidence level. If the first confidence level is higher than the second confidence level, the position of the adjacent valid trajectory points may be optimized based on the combined inertial navigation data corresponding to the adjacent valid trajectory points. If the first confidence level is lower than the second confidence level, the position of the adjacent valid trajectory points may be optimized based on the point cloud data corresponding to the adjacent valid trajectory points.

[0077] S104: Determine a sub-reference map corresponding to the reference map in the reference map, and determine a matching degree between the reference map and the sub-reference map by aligning a reference object included in the reference map with the same reference object included in the sub-reference map.

[0078] In the embodiments of this specification, the reference objects included in the base map are pre-determined. Each sub-base map in the base map contains several reference objects. The reference object data for each reference object in the base map can be determined in a variety of ways. For example, the position data of the reference objects included in the reference object data can be determined with high precision using real-time kinematic (RTK) and a total station electronic rangefinder, or using a high-precision laser gyroscope. The shape of the reference objects can be measured in advance or determined based on the shape of the reference objects in the most recently updated reference map.

[0079] Furthermore, for each area to be updated, the server can determine from the baseline map a sub-baseline map corresponding to the reference map of the area to be updated, and align the reference objects contained in the reference map of the area to be updated with the same reference objects contained in the sub-baseline map. In other words, the reference map of the area to be updated is overlapped with the same reference objects in the sub-baseline map, and the matching degree between the reference map of the area to be updated and the sub-baseline map is calculated. Of course, the server can also further adjust the positional relationship between the reference objects in the reference map according to the positional relationship between the reference objects in the sub-baseline map to obtain an adjusted reference map, and then determine the matching degree between the adjusted reference map and the sub-baseline map, such as Figure 3A 、 3B shown.

[0080] Figure 3A 、 3B A schematic diagram is provided for adjusting the relative position relationship between reference objects in a reference map according to reference objects in a sub-reference map for the purpose of this specification.

[0081] In actual applications, errors may occur in the surrounding point cloud data collected by the designated device and the combined inertial navigation data of the designated device, which may lead to errors in the coordinate relationship between the reference objects contained in the reference map of the area to be updated. Therefore, the server needs to adjust the relative position relationship between the reference objects contained in the reference map of the area to be updated based on the relative position relationship between the reference objects in the sub-reference map. Figure 3A As can be seen from the figure, the reference objects A, B, and C in the reference map are roughly consistent with the reference objects A, B, and C in the sub-base map in terms of position. However, there are still some deviations in the precise position and relative orientation of the reference objects. Therefore, the server can Figure 3A The reference objects A, B, and C in the reference map are adjusted according to the relative position relationship between the reference objects A, B, and C in the base map, and the result is Figure 3BThe adjusted reference objects A, B, and C are shown. During the adjustment of the reference objects A, B, and C, the server can also make corresponding adjustments to the actual environmental features around the reference objects A, B, and C, and then determine the matching degree between the adjusted reference map and the sub-baseline map in a subsequent process.

[0082] When aligning the reference objects contained in the adjusted reference map with the reference objects contained in the sub-reference map, not only do they need to be aligned in position, but the same reference objects also need to be overlapped. If the same reference objects completely overlap, it is determined that the reference objects contained in the reference map are aligned with the reference objects contained in the sub-reference map. However, in actual applications, the shapes of the reference objects may change in details, such as changing signs, adding decorations, etc. Therefore, the server can also judge the degree of alignment of the same reference objects by the degree of overlap. Specifically, if the degree of overlap between the reference objects contained in the adjusted reference map and the reference objects contained in the sub-reference map is not less than the set degree of overlap, it is determined that the adjusted reference map overlaps with the same reference objects contained in the sub-reference map. The set degree of overlap can be determined according to actual needs.

[0083] S106: If the matching degree between the reference map and the sub-reference map is not less than a first set threshold, updating the reference map according to the reference map.

[0084] If the server determines that the degree of match between the reference map of the area to be updated and the sub-baseline map is less than a first set threshold, the sub-baseline map may not be updated. If the degree of match between the reference map of the area to be updated and the sub-baseline map is not less than the first set threshold, the base map may be updated according to the reference map of the area to be updated, and the updated base map may be sent to the designated device so that the designated device drives according to the updated base map.

[0085] It should be noted that the server may update the baseline map according to a preset time period. For example, if the preset time period is one day, the server may update the baseline map at a frequency of one day. Furthermore, the historical environmental data acquired by the server may be collected by a single designated device or by multiple designated devices.

[0086] As can be seen in the above process, the server analyzes historical environmental data rather than uploading data in real time, thus avoiding the need for real-time environmental change detection and uploading of environmental change data to occupy the real-time system's computing resources. Furthermore, the server screens historical trajectory points to obtain valid trajectory points and also screens the optimized reference map to obtain the final reference map used for updating, thus avoiding large errors in map updates. Simultaneously, the server aligns the reference objects contained in the reference map with the same reference objects contained in the sub-baseline map and adjusts the relative positional relationships between the reference objects contained in the reference map based on the relative positional relationships between the reference objects in the sub-baseline map. This further improves the accuracy of reference map positioning, enhances the precision of map updates, and ensures the driving safety of designated equipment based on the updated map.

[0087] The above is a map updating method provided in one or more embodiments of this specification. Based on the same idea, this specification also provides a corresponding map updating device, such as Figure 4 shown.

[0088] Figure 4 A schematic diagram of a map updating device provided in this manual specifically includes:

[0089] An acquisition module 400 is used to acquire the collected historical environmental data;

[0090] a determination module 402 for determining at least one area to be updated from the reference map based on the historical environment data and the reference environment data corresponding to the reference map, and for each area to be updated, determining a reference map corresponding to the area to be updated based on the historical environment data corresponding to the area to be updated;

[0091] a matching module 404 configured to determine a sub-baseline map corresponding to the reference map in the base map, and to determine a degree of matching between the reference map and the sub-baseline map by aligning a reference object contained in the reference map with the same reference object contained in the sub-baseline map;

[0092] The updating module 406 is configured to update the base map according to the reference map if the matching degree between the reference map and the sub-base map is not less than a first set threshold.

[0093] Optionally, the determination module 402 is specifically configured to determine, for each acquired historical trajectory point, the actual environmental features corresponding to the historical trajectory point based on the historical environmental data corresponding to the historical trajectory point. The baseline environmental features corresponding to the historical trajectory point in the baseline map are determined, and the degree of match between the baseline environmental features and the actual environmental features is determined as the matching degree corresponding to the historical trajectory point. If the matching degree corresponding to the historical trajectory point is determined to be less than a second set threshold, the historical trajectory point is determined to be a target trajectory point. Based on each determined target trajectory point, at least one area to be updated is determined from the baseline map.

[0094] Optionally, the acquisition module 400 is specifically configured to: the historical environment data includes at least one of combined inertial navigation data and point cloud data.

[0095] Optionally, the determining module 402 is specifically configured to determine, for each area to be updated, valid trajectory points corresponding to the area to be updated based on the combined inertial navigation data corresponding to the area to be updated. Based on the point cloud data and the combined inertial navigation data of each valid trajectory point corresponding to the area to be updated, position optimization is performed on each valid trajectory point corresponding to the area to be updated, so as to determine a reference map corresponding to the area to be updated using the optimized valid trajectory points corresponding to the area to be updated.

[0096] Optionally, the determining module 402 is specifically configured to determine, for each area to be updated, the historical trajectory points corresponding to the area to be updated, and input the combined inertial navigation data corresponding to the area to be updated into a preset trajectory point screening model to screen out some of the historical trajectory points corresponding to the area to be updated as the valid trajectory points corresponding to the area to be updated.

[0097] Optionally, the determination module 402 is specifically configured to optimize the relative positions of reference objects involved in the point cloud data corresponding to the area to be updated using the optimized valid trajectory points corresponding to the area to be updated, so as to determine the optimized reference objects corresponding to the area to be updated. Based on the optimized reference objects corresponding to the area to be updated, a reference map corresponding to the area to be updated is determined.

[0098] Optionally, the matching module 404 is specifically used to adjust the relative position relationship between the reference objects contained in the reference map according to the relative position relationship between the reference objects in the sub-reference map to obtain an adjusted reference map, and determine the matching degree between the adjusted reference map and the sub-reference map. When the reference objects contained in the adjusted reference map are aligned with the reference objects contained in the sub-reference map, the overlap between the reference objects contained in the adjusted reference map and the reference objects contained in the sub-reference map is not less than a set overlap.

[0099] Optionally, the updating module 406 is specifically configured to: the method further comprises: sending the updated reference map to a designated device, so that the designated device drives according to the updated reference map.

[0100] This specification also provides a computer-readable storage medium, which stores a computer program that can be used to execute the above Figure 1 The map update method shown.

[0101] This manual also provides Figure 5 The schematic structure diagram of the electronic device shown in FIG. Figure 5 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0102] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures like diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using hardware modules. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD through their own programming, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly done using "logic compiler" software. This is similar to the software compiler used when developing programs. Before compilation, the original code must also be written in a specific programming language, called a hardware description language (HDL). There is not just one HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art will also understand that by simply programming the method flow in one of these hardware description languages ​​and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.

[0103] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code format, the controller can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the devices for implementing various functions can be considered as both software modules that implement the method and structures within the hardware component.

[0104] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0105] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0106] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0107] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0108] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0109] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0110] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0111] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0112] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0113] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0114] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Thus, this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0115] This specification may be described in the general context of computer-executable instructions, such as program modules, executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media, including storage devices.

[0116] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.

[0117] The foregoing is merely an example of the present invention and is not intended to limit the present invention. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be included within the scope of the claims of the present invention.

Claims

1. A map updating method, characterized in that: include: Obtain collected historical environmental data; Determining at least one area to be updated from the reference map based on the historical environmental data and the reference environmental data corresponding to the reference map, and for each area to be updated, determining a reference map corresponding to the area to be updated based on the historical environmental data corresponding to the area to be updated; determining a sub-reference map corresponding to the reference map in the reference map, and determining a degree of matching between the reference map and the sub-reference map by aligning a reference object contained in the reference map with the same reference object contained in the sub-reference map; If the matching degree between the reference map and the sub-reference map is not less than a first set threshold, updating the reference map according to the reference map; The historical environment data includes: at least one of combined inertial navigation data and point cloud data; for each area to be updated, determining a reference map corresponding to the area to be updated based on the historical environment data corresponding to the area to be updated, specifically including: For each area to be updated, determining each valid trajectory point corresponding to the area to be updated according to the combined inertial navigation data corresponding to the area to be updated; Based on the point cloud data of each valid trajectory point corresponding to the area to be updated and the combined inertial navigation data, the position of each valid trajectory point corresponding to the area to be updated is optimized, so as to determine the reference map corresponding to the area to be updated through each optimized valid trajectory point corresponding to the area to be updated.

2. The method according to claim 1, wherein Determining at least one area to be updated from the reference map based on the historical environmental data and the reference environmental data corresponding to the reference map, specifically comprising: For each acquired historical trajectory point, determine the actual environmental characteristics corresponding to the historical trajectory point based on the historical environmental data corresponding to the historical trajectory point; Determining a reference environmental feature corresponding to the historical trajectory point in the reference map, and determining a matching degree between the reference environmental feature and the actual environmental feature as the matching degree corresponding to the historical trajectory point; If it is determined that the matching degree corresponding to the historical trajectory point is less than a second set threshold, the historical trajectory point is determined to be the target trajectory point; At least one area to be updated is determined from the reference map according to the determined target track points.

3. The method according to claim 1, wherein For each area to be updated, the valid trajectory points corresponding to the area to be updated are determined based on the combined inertial navigation data corresponding to the area to be updated, specifically including: For each area to be updated, determine each historical trajectory point corresponding to the area to be updated; The combined inertial navigation data corresponding to the area to be updated is input into a preset trajectory point screening model to screen out some historical trajectory points from the historical trajectory points corresponding to the area to be updated as valid trajectory points corresponding to the area to be updated.

4. The method according to claim 1, wherein Determining a reference map corresponding to the area to be updated by using the optimized valid trajectory points corresponding to the area to be updated specifically includes: Optimizing the relative positions of the reference objects involved in the point cloud data corresponding to the area to be updated through the optimized valid trajectory points corresponding to the area to be updated, so as to determine the optimized reference objects corresponding to the area to be updated; A reference map corresponding to the area to be updated is determined according to the optimized reference object corresponding to the area to be updated.

5. The method according to claim 4, wherein Determining a degree of matching between the reference map and the sub-reference map by aligning a reference object included in the reference map with the same reference object included in the sub-reference map specifically includes: Based on the relative positional relationship between the reference objects in the sub-reference map, the relative positional relationship between the reference objects included in the reference map is adjusted to obtain an adjusted reference map, and a matching degree between the adjusted reference map and the sub-reference map is determined. When the reference objects included in the adjusted reference map are aligned with the reference objects included in the sub-reference map, the degree of overlap between the reference objects included in the adjusted reference map and the reference objects included in the sub-reference map is not less than a set overlap.

6. The method according to claim 1, wherein The method further comprises: The updated reference map is sent to a designated device, so that the designated device drives according to the updated reference map.

7. A map updating device, characterized in that: include: Acquisition module, used to obtain the collected historical environmental data; a determination module, configured to determine at least one area to be updated from the reference map based on the historical environmental data and the reference environmental data corresponding to the reference map, and, for each area to be updated, determine a reference map corresponding to the area to be updated based on the historical environmental data corresponding to the area to be updated; a matching module configured to determine a sub-reference map corresponding to the reference map in the reference map, and to determine a degree of matching between the reference map and the sub-reference map by aligning a reference object contained in the reference map with the same reference object contained in the sub-reference map; an updating module, configured to update the base map according to the reference map if the matching degree between the reference map and the sub-base map is not less than a first set threshold; The historical environmental data includes: at least one of combined inertial navigation data and point cloud data; For each area to be updated, a reference map corresponding to the area to be updated is determined based on the historical environmental data corresponding to the area to be updated, specifically including: For each area to be updated, determining each valid trajectory point corresponding to the area to be updated according to the combined inertial navigation data corresponding to the area to be updated; Based on the point cloud data of each valid trajectory point corresponding to the area to be updated and the combined inertial navigation data, the position of each valid trajectory point corresponding to the area to be updated is optimized, so as to determine the reference map corresponding to the area to be updated through each optimized valid trajectory point corresponding to the area to be updated.

8. A computer-readable storage medium, characterized in that The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Method, device, apparatus for updating electronic map and storage medium

    CN109284348A

  • Updating method and device for high-precision map data and electronic equipment

    CN111427904A