A priori map updating method and related equipment and storage medium
Generate new maps and align them through multiple movable devices, and update a priori maps, solving the problem of difficult to control the accuracy of environmental map updates and improving the accuracy and efficiency of updates.
Patent Information
- Application Number
- CN202411792886.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-06
- Publication Date
- 2025-04-08
AI Technical Summary
In the prior art, the accuracy of environmental map updates is difficult to control, resulting in the impact of the accuracy and reliability of robot navigation and positioning, and manual update of maps is high cost and low efficiency.
Through new maps generated by multiple movable devices, determine the common view areas between each new map, and update the prior maps after alignment, and use the new maps provided by multiple devices to reduce the impact of a single device failure or error.
Improve the accuracy of map updates, reduce the problem of inaccurate updates caused by device failure or errors, and improve the efficiency and accuracy of prior map updates.
Smart Images

Figure CN119782324A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of map processing technology, and in particular to a priori map updating method and related equipment and storage medium. Background Art
[0002] Mobile devices with autonomous navigation capabilities are often widely used in factories, logistics, shopping malls and other scenarios, and they generally rely on environmental maps for navigation. However, these environments are complex and changeable. Changes in objects such as walls, machines, and goods in the environment directly cause the environmental map to be inconsistent with the actual environment, which in turn affects the accuracy and reliability of robot navigation and positioning. Relying on manual updating of environmental maps later will bring a relatively large cost burden and construction difficulties.
[0003] Therefore, in order to alleviate the problems of increased costs and low efficiency caused by manual map updates, mobile devices are usually used to collect environmental information to automatically complete map updates. However, this automatic map update method will bring about the problem of uncontrollable accuracy of map updates.
[0004] Therefore, how to improve the accuracy of map updates has become a problem that needs to be solved urgently. Summary of the invention
[0005] In order to improve the accuracy of map updates, the present application at least provides a priori map updating method and related equipment and storage medium.
[0006] The first aspect of the present application provides a priori map updating method, including: obtaining new maps generated by multiple mobile devices in a target location; determining a common viewing area between each new map; aligning each new map based on the common viewing area; and updating the prior map based on each aligned new map.
[0007] A second aspect of the present application provides an electronic device, comprising a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the a priori map updating method in the first aspect.
[0008] A third aspect of the present application provides a computer-readable storage medium having program instructions stored thereon, which, when executed by a processor, implements the a priori map updating method in the first aspect.
[0009] The above scheme generates new maps through multiple mobile devices, and aligns each new map based on the common viewing area between the new maps generated by the multiple mobile devices, and uses the aligned new maps to update the prior map. Since the prior map is updated by using the new maps provided by multiple mobile devices, the impact of unexpected situations such as failure of a certain mobile device on the accuracy of map update can be reduced, and the impact of errors or mistakes in the new map provided by a certain mobile device on the accuracy of prior map update can also be reduced, which is beneficial to improving the accuracy of prior map update.
[0010] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.
[0012] Figure 1 This is a flowchart of an embodiment of a priori map updating method of the present application;
[0013] Figure 2 is a schematic diagram of determining a common viewing area between other new maps and a reference map in an embodiment of the present application;
[0014] Figure 3 It is a schematic diagram of the framework of an embodiment of the electronic device of the present application;
[0015] Figure 4 A schematic diagram of a framework of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION
[0016] The scheme of the embodiment of the present application is described in detail below in conjunction with the drawings of the specification.
[0017] In the following description, for the purpose of explanation rather than limitation, specific details such as specific system structures, interfaces, and technologies are provided to facilitate a thorough understanding of the present application.
[0018] The term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the objects associated before and after are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of, for example, including at least one of A, B, and C, can mean including any one or more elements selected from the set consisting of A, B, and C.
[0019] In some scenarios where automated equipment is used to work automatically, it is necessary to configure an environmental map for the automated equipment so that it can move in the workplace. For example, in a warehouse scenario, movable equipment can move in the warehouse and perform cargo handling tasks. The movable equipment needs to accurately know its position in the current environment in the changing environment so that it can accurately perform tasks; and in the warehouse scenario, the environmental map is constantly changing, such as changes in the stacking position of goods, changes in shelves, etc. In order for the movable equipment to adapt to the changing environment, the prior map needs to be updated. Among them, the prior map is a pre-stored map, which can be a map pre-entered by a technician; it can also be a map constructed by the movable equipment during the prior map construction stage by capturing images of the running scene.
[0020] However, in the process of constructing or updating a map after the mobile device collects information about the surrounding scene, the accuracy is not high.
[0021] In order to improve the accuracy of map updating, this application proposes a priori map updating method.
[0022] For ease of understanding, some of the components used in the prior map update method of this application are now exemplified; this application can be applied to a mobile device, or a device that can establish a communication relationship with a mobile device. The mobile device can be a mobile robot, vehicle, etc., and this application does not limit it. In this article, the exemplary mobile device can be provided with:
[0023] 1. Odometer, which is used to provide linear velocity and can preliminarily estimate the change in the distance of the movable device. Specifically, it can estimate the displacement of the robot at the current moment based on the position change before and after and the position at the previous moment. Common odometers include wheel encoders, etc.
[0024] 2. Gyroscope: It is used to provide angular velocity and can preliminarily estimate the change in the angle of the movable device, so as to estimate the posture of the robot at the current moment based on the angle change before and after and the posture at the previous moment.
[0025] 3. LiDAR: A sensor used to obtain two-dimensional plane information, specifically used to detect the two-dimensional plane contour information of the robot's driving environment.
[0026] 4. Submap: When real-time positioning and mapping are performed, the estimated posture is used to construct a submap of several frames of laser point cloud data. Such a submap is called a submap. Furthermore, the laser point cloud data is matched with the submap to further estimate the current posture of the movable device.
[0027] See also Figure 1 , Figure 1 : is a flowchart of an embodiment of the a priori map updating method of the present application; in some embodiments, the a priori map updating method includes:
[0028] Step S20: obtaining new maps generated by a plurality of movable devices in the target location respectively.
[0029] Step S40: determining the common viewing area between each new map.
[0030] Step S60: aligning each new map based on the common view area.
[0031] Step S80: updating the prior map based on the aligned new maps.
[0032] Therefore, new maps are generated by multiple mobile devices, and each new map is aligned based on the common viewing area between the new maps generated by the multiple mobile devices, and the prior map is updated using the new maps after alignment. Since the prior map is updated by using new maps provided by multiple mobile devices, the impact of unexpected situations such as failure of a certain mobile device on the accuracy of map updating can be reduced, and the impact of errors or mistakes in the new map provided by a certain mobile device on the accuracy of prior map updating can also be reduced, which is beneficial to improving the accuracy of prior map updates.
[0033] The mobile device can move in the target place and collect environmental information in the target place. Multiple mobile devices generate new maps based on the collected environmental information, and the new map generated by the mobile device may have a common viewing area with the new maps generated by other mobile devices. For example, when the distance between two mobile devices is close, they may collect environmental information of the same area in the target place, so that the generated new map has a common viewing area for representing the environmental information of the same area.
[0034] The target location is the workplace of the mobile device, such as a storage warehouse, etc. The prior map and the new map are maps constructed for the target location. The common view area refers to the overlapping area between the new maps generated by multiple mobile devices. For example, if the new maps generated by mobile device A and mobile device B both cover the grain and oil storage area in the storage warehouse, then the grain and oil storage area is the common view area of the new maps generated by mobile device A and mobile device B.
[0035] Aligning the new maps means that since there may be a common viewing area between the new maps, and the common viewing area represents the overlapping locations on the new maps, the new maps can be spliced using the same locations on the new maps.
[0036] It is understandable that if there is no common viewing area between a new map generated by a certain mobile device and any other new map, the alignment operation may not be performed, that is, step S60 is skipped, and the prior map is directly updated using the new map.
[0037] It is easy to understand that in the present application, since the prior map is updated by new maps generated by multiple removable devices, in addition to improving the accuracy of the prior map update, compared with updating the prior map by only using a new map generated by one removable device, the efficiency of the prior map update can also be improved, especially for large areas, the improvement in the efficiency of the prior map update is more obvious.
[0038] In some embodiments, updating the prior map based on each aligned new map includes:
[0039] Step S810: Based on the data of each new map in the common view area, calculate the confidence that the target position in the common view area is in a first state; the first state represents the state of the target position.
[0040] Step S820: In response to the confidence that the target position in the common view area is in the first state being greater than a confidence threshold, determining the state of the target position in the common view area as the first state.
[0041] Step S830: Update the state of the position corresponding to the target position in the priori map to the first state.
[0042] With reference to the aforementioned embodiment, the common view area refers to the overlapping area between the new maps generated by multiple mobile devices, that is, the new maps generated by multiple mobile devices all have data that can be used to update the prior map of the position corresponding to the common view area. Then, if the data of the position corresponding to the common view area on multiple new maps are different, it is necessary to determine which or which new maps are used to update the prior map of the position corresponding to the common view area. For example, if the common view areas of the new maps A, B, and C generated by mobile device A, mobile device B, and mobile device C respectively include storage area A, and the new maps A, B, and C all indicate that position 1 on the common view area is in an occupied state, then there is no doubt that the state of position 1 of storage area A on the prior map will be updated to an occupied state; however, if the states of position 1 on the common view area indicated by the new maps A, B, and C are different, it is necessary to determine which or which maps indicate the state to update.
[0043] The data of the new map in the common view area can be used to indicate the status of each target location in the common view area; the target location can be each pixel point, grid, point cloud, etc. in the common view area. The status of each target location can be used to characterize the attributes of the target location, whether it is occupied, etc. The attributes of the target location may include passages, walls, obstacles, shelves, goods, etc. Exemplarily, the prior map or the new map may be composed of a large number of pixels, and different colors may be used in the map to represent the status of each target location. For example, white pixels are used to represent passages, and black pixels are used to represent obstacles or inaccessible areas. Therefore, these pixel points are collected in the map to show the environmental characteristics of the target location.
[0044] It can be understood that the target position can be any pixel point or grid in the common view area (determined according to the type of map, for example, for a grid map, the target position is a grid in the common view area). When calculating the state of each pixel point or grid in the common view area, each pixel point or grid in the common view area can be determined as the target position, and the confidence of the target position being in the first state is calculated respectively, so as to determine the state of each pixel point or grid.
[0045] The first state may be one of all optional states. For example, if the prior map and the new map are grid maps, and the state of each grid may be one of occupied, free, and unknown, then the confidence that the target location is occupied, free, or unknown may be calculated, respectively, so that a state with a confidence greater than a confidence threshold is used as the state of the target location. After determining the state of the target location, the state of the location corresponding to the target location in the prior map is updated to the first state.
[0046] As another example, if the new map covering the common view area only indicates that the state of the target location is occupied or idle, but does not indicate that the state of the target location is unknown, the first state can be selected only from occupied or idle without calculating the confidence of the "unknown" state.
[0047] The position corresponding to the target position in the prior map may be a pixel point or a grid having the same geographical location as the target position in the common view area in the prior map. For example, in the prior map, grid A corresponds to the position of shelf A in the actual storage warehouse, and in the common view area, the target position A' corresponds to the position of shelf A in the actual storage warehouse, then grid A is the position corresponding to the target position A' in the prior map.
[0048] It is understandable that if the geographical location corresponding to the target location in the common view area does not exist in the prior map, the target location can be projected into the prior map according to the coordinates and the prior map can be updated. For example, if the target location in the common view area corresponds to the location of shelf A in the storage warehouse, and the location of shelf A is not recorded in the prior map, then the target location is projected into the prior map according to the projection relationship and the prior map is updated.
[0049] The confidence threshold can be preset, and the specific value can be determined according to actual needs, and this application does not impose any restrictions.
[0050] There are many ways to calculate confidence. For example, you can first obtain the number of new maps indicating that the target location is in the first state, then obtain the number of new maps that cover the target location, and then calculate the ratio of the number of new maps indicating that the target location is in the first state to the number of new maps that cover the target location, as the confidence that the target location is in the first state. For another example, first obtain the timestamp of each new map (the timestamp is used to indicate the time when the new map was generated), assign a credibility coefficient to each new map according to the newness of the generation time of each new map, and consider the credibility coefficient of each new map when calculating the number of new maps indicating that the target location is in the first state.
[0051] In this embodiment, the confidence that the target position in the common view area is in the first state is calculated, and the state of the target position is determined to be the first state when the confidence is greater than the confidence threshold, and then the corresponding position in the prior map is updated to the first state. That is to say, when updating the prior map, the data of the new map generated by multiple removable devices are taken into account. When the confidence that the target position is in the first state is greater than the confidence threshold, it is confirmed that the target position is indeed in the first state, and the prior map is updated. Therefore, it is helpful to reduce the situation where the new map generated is erroneous due to the failure of one or several removable devices, resulting in errors in the updated prior map, thereby helping to improve the accuracy of the prior map update.
[0052] In some embodiments, the prior map and the new map are grid maps. In other embodiments, the prior map and the new map may also be point cloud maps, feature maps, etc.
[0053] In some embodiments, updating the prior map based on each aligned new map includes:
[0054] Step S810: Determine a confidence ratio of the number of new maps indicating that the state of the first grid in the common view area is the first state to the number of associated new maps; wherein the first grid is a grid in the common view area, the associated new map is a new map covering the first grid, and the first state represents that the grid is occupied or idle.
[0055] Step S820: In response to the confidence ratio being greater than the preset ratio, determining that the state of the first grid is the first state, and updating the state of the grid at the corresponding position in the priori map to the first state.
[0056] The first grid may be any grid in the common view area. It should be understood that when determining the state of each grid in the common view area, each grid may be used as the first grid in turn and steps S810-S820 may be performed.
[0057] When the new map is a grid map, the state of each grid can be represented by the value stored in each grid on the grid map. For example, a probability value, a gray value, or a binary value can be stored in each grid. The state of the grid can refer to the description in the above embodiment. In this embodiment, the state of the grid includes idle and occupied as an example for explanation.
[0058] Exemplarily, the number of new maps indicating that the state of the first grid is the first state may be calculated first. The first state may be one of idle and occupied. For example, the number of new maps indicating that the state of the first grid is occupied may be calculated. Then, the confidence ratio of the number of new maps indicating that the state of the first grid is occupied to the number of associated new maps is calculated. If the confidence ratio is greater than a preset ratio, the state of the first grid is confirmed to be the first state. That is, using a voting mechanism, when more than a preset ratio of new maps believe that the first grid is in the first state, it is confirmed that it is in the first state.
[0059] In this embodiment, by calculating the confidence ratio of the number of new maps in which the first grid in the common view area is in the first state to the number of associated new maps, and when the confidence ratio is greater than a preset ratio, it is determined that the state of the first grid is the first state, and the state of the grid at the corresponding position in the prior map is updated to the first state. That is, when updating the prior map, the data of new maps generated by multiple mobile devices are taken into account, and a voting mechanism is used. When the new maps exceeding the preset ratio consider that the first grid is in the first state, it is confirmed that it is in the first state. Therefore, it is helpful to reduce the situation where the new map generated is wrong due to the failure of one or several mobile devices, resulting in errors in the updated prior map, thereby helping to improve the accuracy of the prior map update.
[0060] In some embodiments, determining the common view area between the new maps includes:
[0061] Step S410: Determine a reference new map from each new map.
[0062] Step S420: Determine a common viewing area between the other new maps and the reference new map.
[0063] In some embodiments, a baseline new map can be randomly determined from various new maps, or a baseline new map can be determined according to the chronological order in which the new maps are generated or uploaded. For example, the earliest generated or earliest uploaded new map is used as the baseline new map, the latest generated or latest uploaded new map is used as the baseline new map, and so on.
[0064] In some embodiments, the new map with the smallest change relative to the prior map can be used as the new reference map. In this embodiment, the alignment of the new map with the smallest change with the prior map has the highest accuracy, so using it as the new reference map to update the prior map with other new maps can also achieve higher accuracy.
[0065] In some embodiments, in response to the absence of a common view area between any other new map and the benchmark new map, the benchmark new map is overlaid to the area corresponding to the prior map to update the prior map. Some areas in the benchmark new map may be areas that do not exist on the prior map. For example, a mobile device collects data on a grain and oil storage area to generate a benchmark new map. However, no mobile device has previously collected data on the grain and oil storage area, so the grain and oil storage area does not exist in the benchmark new map in the prior map. For areas that exist in the benchmark new map but do not exist in the prior map (referred to as new areas in this article), the new areas can be directly overlaid on the corresponding coordinate positions on the prior map according to the coordinate relationship. Some areas in the baseline new map may also be areas that already exist on the prior map. For example, a mobile device collects data on a grain and oil storage area to generate a baseline new map. Previously, a mobile device has collected data on the grain and oil storage area and generated a prior map based on these data. However, with the passage of time, the environment of the grain and oil storage area (such as shelf location, etc.) may have changed. Therefore, the data corresponding to the grain and oil storage area in the baseline new map can be used to update the data corresponding to the grain and oil storage area in the prior map. For example, the baseline new map can be projected onto the coordinate system of the prior map and then the corresponding area can be updated according to the coordinate relationship.
[0066] In some embodiments, determining a common view area between the other new maps and the reference new map includes:
[0067] Step S421: Project the other new maps and the reference new map to the same coordinate system.
[0068] For details on how to project the coordinate system, please refer to the prior art.
[0069] Step S422: respectively obtaining the vertex coordinates of the other projected new maps and the projected reference new map.
[0070] Other new maps and benchmark new maps may be in various shapes, which may be regular shapes such as rectangles, circles, hexagons, etc., or irregular shapes. In some embodiments, other new maps and benchmark new maps may be adjusted to rectangles (for example, the blank area of a non-rectangular map may be filled to form a rectangle, etc., and the specific adjustment method is not limited), and the vertex coordinates on the diagonal of the rectangle may be obtained. For example, the vertex coordinates of the lower left corner and upper right corner of the other new maps after projection may be obtained, and the vertex coordinates of the lower left corner and upper right corner of the benchmark new map after projection may be obtained. For another example, the vertex coordinates of the upper left corner and lower right corner of the other new maps after projection may be obtained, and the vertex coordinates of the upper left corner and lower right corner of the benchmark new map after projection may be obtained. For another example, the vertex coordinates of the lower left corner and upper right corner, and the upper left corner and lower right corner of the benchmark new map after projection may be obtained, and the vertex coordinates of the lower left corner and upper right corner, and the upper left corner and lower right corner of the benchmark new map after projection may be obtained.
[0071] For a rectangular other new map and a base new map (including other new maps and base new maps whose shapes are adjusted to be rectangular), the coordinates of the four vertices of the projected other new map and the projected base new map can be obtained respectively. For example, please refer to Figure 2 ,like Figure 2 As shown, Mrcc represents a benchmark new map, and Mrci represents an "other new map". The vertex coordinates (x1, y1) and (x2, y2) of the lower left corner and upper right corner of the projected benchmark new map, as well as the vertex coordinates (x1', y1') and (x2', y2') of the lower left corner and upper right corner of the projected other new map are obtained respectively.
[0072] Step S423: based on the vertex coordinates of the other projected new maps and the projected reference new map, the vertex coordinates of the common view area are obtained.
[0073] Continue to refer Figure 2 , after obtaining the vertex coordinates (x1, y1) and (x2, y2) of the lower left corner and upper right corner of the projected benchmark new map, and the vertex coordinates (x1', y1') and (x2', y2') of the lower left corner and upper right corner of the other projected new maps, the four vertex coordinates of the overlapping area of the projected benchmark new map and the other new maps can be obtained, and then the common viewing area can be determined according to the four vertex coordinates. For example, the smaller value of the vertical coordinate of the projected benchmark new map and the other new map can be used as the vertical coordinate of the upper left corner of the common viewing area, and the larger value of the horizontal coordinate of the projected benchmark new map and the other new map can be determined as the horizontal coordinate of the upper left corner of the common viewing area, and then the vertex coordinate of the upper left corner of the common viewing area can be determined. Similarly, the vertex coordinates of the lower right corner of the common viewing area can also be determined, which will not be repeated here. Specifically, as Figure 2 As shown, the coordinates of the upper left corner of the overlapping area are (x2, y2'), and the coordinates of the lower left corner are (x2', y2).
[0074] Step S424: The area surrounded by the lines connecting the vertex coordinates is taken as the common viewing area.
[0075] It should be understood that the common view area refers to the area on two maps (such as the base new map and the other new map) that corresponds to the same geographical location, that is, the area where the two maps overlap. Since it is a "common view area", it must exist on at least two maps, such as Figure 2 As shown, the common view area obtained based on the vertex coordinates includes the area on the reference new map that overlaps with other new maps (such as Figure 2 M1 in the new map), and other areas on the new map that overlap with the new baseline map (such as Figure 2 M2 in ).
[0076] In some embodiments, aligning each new map based on the common view area includes:
[0077] Step S610: Determine the common viewing area between the benchmark new map and other new maps as the benchmark common viewing area, and determine the common viewing area between the benchmark new map and other new maps as other common viewing areas; wherein the benchmark new map is one of the new maps, and the other new maps are new maps other than the benchmark new map.
[0078] Continue to refer to Figure 2 ,exist Figure 2 In the figure, the reference common viewing area is M1, and the other common viewing areas are M2.
[0079] Step S620: acquiring point cloud coordinates in other common viewing areas as other point cloud coordinates, and acquiring point cloud coordinates in the reference common viewing area as reference point cloud coordinates.
[0080] In some embodiments, Figure 2 As shown, the base new map and other new maps are both grid maps, and each grid may include multiple point clouds. In order to reduce the amount of data, the point clouds in the same grid can be processed to calculate the point cloud coordinates corresponding to the grid. For example, the point cloud coordinates in the same grid can be averaged to obtain the point cloud coordinates corresponding to the grid, or the coordinates of the point cloud falling at the center of the same grid can be used as the point cloud coordinates of the grid, etc. This application does not limit the acquisition of the point cloud coordinates of the grid.
[0081] In step S620, other point cloud coordinates (denoted as Pci) corresponding to each grid in other common view areas and reference point cloud coordinates (denoted as Pcc) corresponding to each grid in the reference common view area may be obtained.
[0082] Step S630: align the coordinates of other point clouds with the coordinates of the reference point cloud to obtain the relative pose of other point clouds relative to the reference point cloud.
[0083] Specifically, after obtaining multiple other point cloud coordinates Pci and multiple reference point cloud coordinates Pcc, the multiple other point cloud coordinates Pci and multiple reference point cloud coordinates Pcc can be registered using ICP matching to obtain the relative pose of the other point clouds relative to the reference point cloud (denoted as ), the specific registration method can refer to the existing technology, which is not the focus of improvement of this application and will not be described here.
[0084] Step S640: Multiply the other point cloud coordinates by the relative pose to align the other new maps with the benchmark new map.
[0085] In step S640, the formula The coordinates Pci′ of other point clouds aligned with the benchmark new map are calculated.
[0086] In some embodiments, aligning each new map based on the common view area further includes:
[0087] Step S650: Select a new map from other new maps that has a common viewing area with the benchmark new map as the benchmark common viewing new map, and select a new map from other new maps that does not have a common viewing area with the benchmark new map but has a common viewing area with the benchmark common viewing new map as the first new map; wherein the benchmark new map is one of the new maps, and the other new maps are new maps other than the benchmark new map.
[0088] Now, step S650 is described exemplarily to make step S650 easier to understand. Assuming that there are new maps A to F, where new map A is determined as a base new map, and new map B (i.e., the base common-view new map) and new map A (i.e., the base new map) have a common-view area, new map F and new map A (i.e., the base new map) do not have a common-view area, and new map F and new map B (i.e., the base common-view new map) have a common-view area, then new map F is used as the first new map.
[0089] Step S660: aligning the first new map with the reference common-view new map.
[0090] Continuing with the above-mentioned new maps A to F as an example, since the new map B and the new map A (i.e., the baseline new map) have a common viewing area, and the new map F and the new map A do not have a common viewing area, but the new map F and the new map B have a common viewing area, the new map F can be aligned with the new map B first, and then the new map B can be aligned with the new map A, thereby indirectly achieving the alignment of the new map F with the new map A.
[0091] In this embodiment, the first new map is aligned with the baseline new map through the baseline common view new map. Since the prior map update through the baseline new map has more accurate information, the accuracy of the prior map update can be further improved compared with the embodiment of directly using the first new map to update the prior map.
[0092] In some embodiments, the first new map is aligned with the benchmark common-view new map. The point cloud coordinates corresponding to each grid in the first new map can be aligned with the point cloud coordinates in the benchmark common-view new map, and then aligned with the benchmark new map. For details, please refer to the aforementioned embodiments and will not be repeated here.
[0093] In some embodiments, the a priori map updating method further includes:
[0094] Step S10: Determine the degree of change of each new map relative to the prior map.
[0095] The specific method of determining the degree of change between the new map and the prior map can be referred to the prior art, and this application will not go into details.
[0096] In some embodiments, determining a common view area between the plurality of new maps comprises:
[0097] Step S430: Arrange the new maps in order of change degree from small to large to form a benchmark new map candidate list.
[0098] Step S440: Selecting the first new map from the candidate list of reference new maps as the reference new map.
[0099] When a new map is selected as a benchmark new map, it can be removed from the benchmark new map candidate list, or a mark can be added to indicate that it has been selected as the benchmark new map and has determined a common viewing area with other new maps.
[0100] Step S450: determining a common viewing area between the reference new map and other new maps, and adding a processing mark to the new map having the common viewing area with the reference new map.
[0101] Step S460: In response to the existence of a new map to which a processing mark is not added and the currently selected baseline new map is not the last new map in the baseline new map candidate list, the next new map is selected from the baseline new map candidate list as the baseline new map, and the step of determining a common view area between the baseline new map and other new maps is performed.
[0102] That is, in step S430 to step S460, each new map is selected as a base new map in the order of the degree of change from small to large, and is compared with the remaining new maps to obtain new maps that have a common viewing area with each base new map. The "remaining new map" refers to a new map that has no common viewing area with the previous base new map.
[0103] Exemplarily, assuming that there are new maps A to F, and the degree of change of new maps A to F relative to the prior map increases in sequence (i.e., the degree of change of new map A relative to the baseline new map is the smallest, and the degree of change of new map F relative to the baseline new map is the largest), new maps A to F are arranged in sequence to form a candidate list of baseline new maps. First, new map A is selected as the baseline new map. Assuming that new map C and new map D have a common viewing area with new map A, processing marks are added to new map C and new map D, and the processing marks indicate that new map C and new map D have a common viewing area with the baseline new map. In some embodiments, unprocessed marks can also be added to new map B, new map E, and new map F, and the unprocessed marks are used to indicate that new map B, new map E, new map F do not have a common viewing area with the baseline new map.
[0104] After comparing the new map A as the base new map with the other new maps and determining the common view area, the next new map in the base new map candidate list can be used as the base new map (i.e., the new map B is used as the base new map) to determine the common view area between the new map B and the new maps E and F. Assuming that the new map B has a common view area with the new maps A and E but does not have a common view area with the new map F, a processed mark is added to the new maps A and E. In some embodiments, an unprocessed mark can also be added to the new map F.
[0105] In the above order, new maps C to new maps F are used as reference new maps. If new map C is used as the reference new map and it is found that new map C and new map F have a common view area, a processing mark is also added to new map F. At this time, new maps A to F are all marked with processing marks. Although there are new maps D to F in the reference new map candidate list that have not been selected as reference new maps and compared with other new maps, since there are no new maps that do not have a common view area with other new maps, polling can be stopped to prevent waste of computing resources.
[0106] New maps C to F are used as benchmark new maps in the above order. If new map F is used as the benchmark new map and compared with other new maps, and it is found that new map F still has no common viewing area with other new maps, but new map F is the last one in the benchmark new map candidate list, polling will be stopped to prevent waste of computing resources.
[0107] In some embodiments, if the degree of change between the new map to be selected as the baseline new map and the previous baseline new map is less than a first change degree threshold value, or the area of the common viewing area between the new map to be selected as the baseline new map and the previous baseline new map is greater than a first common viewing area area threshold value, the new map is skipped and the next new map is used as the baseline new map. For example, after polling the new map A as the reference new map, if the degree of change between the new map B and the new map A (i.e., the previous reference new map) is less than the first change degree threshold, or the area of the common view area is greater than the first common view area threshold, then skip the new map B; then determine whether the degree of change between the new map C and the new map A (i.e., the previous reference new map) is less than the first change degree threshold, or whether the area of the common view area is greater than the first common view area threshold; if the degree of change between the new map C and the new map A (i.e., the previous reference new map) is not less than the first change degree threshold, or the area of the common view area is not greater than the first common view area threshold, then determine the new map C as the reference new map, otherwise skip the new map C. In this embodiment, if the degree of change between the two new maps is too small, then give up using the new map as the reference new map, which can further reduce the waste of computing resources.
[0108] In some embodiments, after polling the new map in the candidate list of the reference new map as the reference new map and other new maps, if there is still a new map with no common view area with other new maps, for example, the new map F mentioned above has no common view area with other new maps, then the new map F is directly aligned with the prior map and the prior map is updated using the data in the new map F. After the prior map is updated using the new map F, a processing mark may also be added to the new map F.
[0109] In the above embodiment, each new map is used as a benchmark new map in the order of the degree of change relative to the prior map from small to large to determine the common view area with other new maps and aligned based on the common view area, which is beneficial to improving the accuracy of alignment of new maps with larger degrees of change with the prior map.
[0110] In some embodiments, before updating the priori map based on each new map after alignment, the method further includes:
[0111] Step S70: obtaining the timestamps of all new maps covering the common view area; wherein the timestamps are used to indicate the generation time of all new maps covering the common view area.
[0112] Continue to refer Figure 2 , the new map Mrc and the new map Mrc cover the common view area M1 / M2 (although the common view areas M1 and M2 are on different new maps, they indicate the same geographical location and can therefore be considered to be the same area), and the timestamps of the new map Mrc and the new map Mrc are obtained respectively.
[0113] Since the new map is constructed by a mobile device through laser data, and the new map is uploaded to the server by the mobile device. The generation time of the new map can be the timestamp of the first frame of laser data used to construct the new map, or the mean, median, etc. of the timestamps of multiple frames of laser data used to construct the new map, or the time when the mobile device uploads the new map to the server, this application does not limit it. In short, the timestamp is used to reflect the timeliness of the new map. The earlier the timestamp of the new map, the farther the environmental information reflected by the new map is from the current time, and the worse its effectiveness.
[0114] In some embodiments, updating the prior map based on each aligned new map includes:
[0115] Step S810: obtaining common view area data based on a new map covering the common view area with a timestamp within a valid time range.
[0116] The effective time range of the timestamp can be configured according to actual needs. For example, the effective time range of the timestamp can be a specific time value, such as 1 hour, 20 minutes, etc. If the timestamp exceeds this time range, the corresponding common view area of the corresponding new map is considered unreliable. The new maps covering the common view area can also be sorted according to the timestamp, and the new maps with the timestamp closest to the current time are selected, and the common view areas corresponding to other new maps are discarded.
[0117] Based on the new map covering the common view area with timestamps within the valid time range, the common view area data is obtained. Figure 2 For example, suppose Figure 2 If the timestamps of the new maps corresponding to the common view areas M1 / M2 (i.e., the new map Mrc and the new map Mrc covering the common view areas M1 / M2) are both within the valid time range, the common view area data is obtained based on the data within the common view area on the new map Mrc and the new map Mrc (i.e., the data within the common view areas M1 and M2).
[0118] Step S820: Update the prior map using the common view area data.
[0119] For example, in Figure 2 In the common view area data provided by the common view area M1 and the common view area M2, the grid values of some grids are the same, and these grid values can be directly used to update the prior map. The grid values of some grids are different, and the grid value indicated by the new map closest to the current moment can be used as the target value to update the prior map. For example, if the timestamp of the new map Mrci to which the common view area M2 belongs is closer to the current moment, the grid value indicated in the common view area M2 is used to update the prior map. Alternatively, a confidence coefficient may be assigned to each new map according to the timestamp of each new map, and then each grid value in the common view area on each new map is multiplied by the confidence coefficient to obtain a grid value based on the confidence coefficient for each grid, and then the grid values based on the confidence coefficient for the grids at the same position of multiple new maps are averaged to obtain a target grid value, and if the target grid value is greater than 0.5, the target grid value is set to 1, otherwise the target grid value is set to 0, and then the prior map is updated based on the target grid value of each grid. Alternatively, a voting mechanism (refer to the aforementioned embodiment) may be used to determine the grid value of each grid in the common view area, and the prior map is updated, and so on.
[0120] In some embodiments, the mobile device uses an odometer, a gyroscope, and a 2D laser radar sensor to build a map while the mobile device is positioned on a priori map. When positioning on the priori map, the odometer, gyroscope, and laser matching are tightly coupled to build a real-time map that reflects the navigation environment at the time; the odometer and gyroscope construct a pre-integration model to calculate the corresponding pose change of two adjacent laser key frames and derive the corresponding confidence. During the positioning process, a laser odometer is constructed to calculate the pose change corresponding to two adjacent laser key frames, and the corresponding change confidence is adaptively modified according to the laser matching degree; the laser and map matching provide absolute pose constraints; and the three residual terms are jointly optimized to estimate the current pose of the device. In this process, a sub-map will be established, and the laser odometer is obtained by the laser and the sub-map. At the same time, it is determined whether the historical sub-map is redundant to delete the redundant sub-map. When saving the sub-map, only the sub-maps remaining after deleting the redundant sub-maps are used to build a new map.
[0121] In some embodiments, when the number of sub-maps constructed locally by the mobile device reaches a certain threshold, the degree of change between the new map and the prior map is calculated, and when the degree of change is greater than a predetermined upload threshold, the new map is uploaded to the server.
[0122] In some embodiments, after a new map is uploaded to a mobile device, in order to ensure the accuracy of positioning and constructed maps, the last sub-map of multiple sub-maps used to splice to form a new map will be retained, and the other sub-maps will be directly discarded, and the next new map will be expanded based on this sub-map.
[0123] In some embodiments, after receiving new maps from various removable devices, the server merges and updates the new maps. If there are multiple new maps uploaded from the same removable device on the server, only the latest new map uploaded by the removable device is processed.
[0124] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0125] See also Figure 3 , Figure 3 : is a schematic diagram of a framework of an embodiment of an electronic device 30 of the present application. The electronic device 30 includes a memory 31 and a processor 32 coupled to each other, and the processor 32 is used to execute program instructions stored in the memory 31 to implement the steps in any of the above-mentioned prior map updating method embodiments. In a specific implementation scenario, the electronic device 30 may include but is not limited to: a microcomputer, a server, and in addition, the electronic device 30 may also include a mobile device such as a laptop computer and a tablet computer, which is not limited here.
[0126] Specifically, the processor 32 is used to control itself and the memory 31 to implement the steps of the training method embodiment of any of the above-mentioned image detection models, or to implement the steps in the above-mentioned image detection method embodiment. The processor 32 can also be referred to as a CPU (Central Processing Unit). The processor 32 may be an integrated circuit chip with signal processing capabilities. The processor 32 may also be a general-purpose processor, a digital signal processor (DigitalSignal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. In addition, the processor 32 may be implemented by an integrated circuit chip.
[0127] The above scheme generates new maps through multiple mobile devices, and aligns each new map based on the common viewing area between the new maps generated by the multiple mobile devices, and uses the aligned new maps to update the prior map. Since the prior map is updated by using the new maps provided by multiple mobile devices, the impact of unexpected situations such as failure of a certain mobile device on the accuracy of map update can be reduced, and the impact of errors or mistakes in the new map provided by a certain mobile device on the accuracy of prior map update can also be reduced, which is beneficial to improving the accuracy of prior map update.
[0128] See also Figure 4 , Figure 4 The schematic diagram of the framework of an embodiment of a computer-readable storage medium 40 of the present application. The computer-readable storage medium 40 stores program instructions 401 that can be executed by a processor, and the program instructions 401 are used to implement the steps in any of the above-mentioned a priori map updating method embodiments.
[0129] The above scheme generates new maps through multiple mobile devices, and aligns each new map based on the common viewing area between the new maps generated by the multiple mobile devices, and uses the aligned new maps to update the prior map. Since the prior map is updated by using the new maps provided by multiple mobile devices, the impact of unexpected situations such as failure of a certain mobile device on the accuracy of map update can be reduced, and the impact of errors or mistakes in the new map provided by a certain mobile device on the accuracy of prior map update can also be reduced, which is beneficial to improving the accuracy of prior map update.
[0130] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0131] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0132] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0133] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0134] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
[0135] If the technical solution of this application involves personal information, the product using the technical solution of this application has clearly informed the personal information processing rules and obtained the individual's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using the technical solution of this application has obtained the individual's separate consent before processing the sensitive personal information, and at the same time meets the "explicit consent" requirement. For example, on personal information collection devices such as cameras, clear and prominent signs are set to inform that the personal information collection scope has been entered and personal information will be collected. If the individual voluntarily enters the collection scope, it is deemed that he or she agrees to the collection of his or her personal information; or on the device that processes personal information, the personal information processing rules are notified by obvious signs / information, and the individual's authorization is obtained through pop-up information or by asking the individual to upload his or her personal information; among them, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the type of personal information processed.
Claims
1. A priori map updating method, characterized in that: include: Obtain new maps generated by multiple movable devices in the target location respectively; Determining a common viewing area between each of the new maps; Based on the common view area, aligning each of the new maps; The priori map is updated based on the aligned new maps.
2. The a priori map updating method according to claim 1, characterized in that: The updating of the prior map based on each of the aligned new maps comprises: Based on the data of each of the new maps in the common view area, calculating the confidence that the target position in the common view area is in a first state; the first state represents the state of the target position; In response to a confidence level that the target position in the common view area is in the first state being greater than a confidence level threshold, determining the state of the target position in the common view area as the first state; The state of the position corresponding to the target position in the priori map is updated to the first state.
3. The a priori map updating method according to claim 1 or 2, characterized in that: The prior map and the new map are grid maps; The updating of the prior map based on each of the aligned new maps comprises: Determine a confidence ratio of the number of the new maps indicating that the state of the first grid in the common view area is a first state to the number of associated new maps; wherein the first grid is a grid in the common view area, the associated new map is a new map covering the first grid, and the first state represents that the grid is occupied or idle; In response to the confidence ratio being greater than a preset ratio, determining that the state of the first grid is the first state, and updating the state of the grid at the corresponding position in the priori map to the first state.
4. The a priori map updating method according to any one of claims 1 to 3, characterized in that: Determining the common viewing area between the new maps comprises: Determining a base new map from each of the new maps; A common viewing area between the other new maps and the reference new map is determined.
5. The a priori map updating method according to claim 4, characterized in that: The method further comprises: In response to the fact that the common view area does not exist between any other of the new maps and the reference new map, the reference new map is overlaid onto the area corresponding to the priori map to update the priori map.
6. The a priori map updating method according to claim 4, characterized in that: The determining of the common viewing area between the other new maps and the reference new map comprises: Projecting the other new maps and the reference new map to the same coordinate system; Respectively obtaining vertex coordinates of the projected other new map and the projected reference new map; Obtaining vertex coordinates of the common viewing area based on vertex coordinates of the projected other new map and the projected reference new map; The area surrounded by the lines connecting the vertex coordinates is taken as the common viewing area.
7. The a priori map updating method according to any one of claims 1 to 3, characterized in that: The aligning of the new maps based on the common viewing area comprises: Determine the common viewing area between the reference new map and other new maps as the reference common viewing area, and determine the common viewing area between the reference new map and other new maps as other common viewing areas; wherein the reference new map is one of the new maps, and the other new maps are new maps other than the reference new map; Acquire the point cloud coordinates in the other common viewing areas as other point cloud coordinates, and acquire the point cloud coordinates in the reference common viewing area as reference point cloud coordinates; Registering the coordinates of the other point clouds with the coordinates of the reference point cloud to obtain the relative position and posture of the other point clouds relative to the reference point cloud; The other point cloud coordinates are multiplied by the relative pose to align the other new maps with the benchmark new map.
8. The a priori map updating method according to any one of claims 1 to 3, characterized in that: The aligning the new maps based on the common viewing area further comprises: Select a new map having a common view area with the reference new map from among the other new maps as the reference common view new map, and select a new map that does not have the common view area with the reference new map but has the common view area with the reference common view new map from among the other new maps as the first new map; wherein the reference new map is one of the new maps, and the other new maps are new maps other than the reference new map; The first new map is aligned with the reference common view new map.
9. The a priori map updating method according to any one of claims 1 to 3, characterized in that: The method further comprises: Determining the degree of change of each of the new maps relative to the prior map; Determining the common viewing area between the multiple new maps comprises: Arranging the new maps in order from small to large according to the degree of change to form a candidate list of reference new maps; Selecting the first new map from the candidate list of reference new maps as the reference new map; Determine a common viewing area between the reference new map and the other new maps, and add a processing mark to the new map having the common viewing area with the reference new map; In response to the existence of the new map to which the processing mark is not added and the currently selected benchmark new map is not the last new map in the benchmark new map candidate list, the next new map is selected from the benchmark new map candidate list as the benchmark new map, and the step of determining the common view area between the benchmark new map and the other new maps is performed.
10. The a priori map updating method according to any one of claims 1 to 3, characterized in that: Before updating the prior map based on each of the aligned new maps, the method further includes: Obtaining the timestamps of all the new maps covering the common view area; wherein the timestamps are used to indicate the generation time of all the new maps covering the common view area; The updating of the prior map based on each of the aligned new maps comprises: Obtaining common view area data based on the new map covering the common view area with the timestamp within a valid time range; The priori map is updated using the common view area data.
11. An electronic device, characterized in that: It comprises a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the a priori map updating method according to any one of claims 1 to 10.
12. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, the a priori map updating method according to any one of claims 1 to 10 is implemented.