Map switching method and apparatus, computer device, and readable storage medium
By dividing the scene map into multiple regional maps and determining the associated point pairs, the problem of robots struggling to load extremely large maps is solved, enabling robots to switch efficiently and locate accurately between different regional maps, thus improving the applicability and reliability of the robots.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SHENZHEN PUDU TECH CO LTD
- Filing Date
- 2025-08-08
- Publication Date
- 2026-06-11
Smart Images

Figure CN2025113662_11062026_PF_FP_ABST
Abstract
Description
Map switching methods, devices, computer equipment, and readable storage media
[0001] Cross-references to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411803348.4, filed on December 6, 2024, entitled “Map Switching Method, Apparatus, Computer Equipment and Readable Storage Medium”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of computer technology, and in particular to a map switching method, apparatus, computer device, computer-readable storage medium, and computer program product. Background Technology
[0004] Mobile robots are widely used in fields such as autonomous driving, indoor navigation, and industrial automation. To achieve autonomous navigation and environmental perception, mobile robots rely on maps to locate themselves and meet operational needs. However, traditional map usage methods are often limited by the robot's hardware capabilities. For extremely large maps, robots need high-performance processors and sensors to load and use them successfully, thus limiting their use of such large maps. Summary of the Invention
[0005] According to various embodiments of this application, a map switching method, apparatus, computer device, and readable storage medium are provided.
[0006] A map switching method, comprising:
[0007] In response to a map switching trigger event for the robot switching from a first area map to a second area map, the robot's first pose information in the first area map is determined, wherein the first area map and the second area map are obtained by dividing the scene map;
[0008] Obtain at least one pair of related points between the first regional map and the second regional map, wherein the related points in the pair belong to the first regional map and the second regional map respectively;
[0009] The conversion relationship between the first regional map and the second regional map is determined based on the at least one pair of associated points;
[0010] Based on the transformation relationship, determine the second pose information corresponding to the first pose information in the second region map;
[0011] The first region map is switched to the second region map, and the first pose information of the robot is switched to the second pose information.
[0012] A map switching device, comprising:
[0013] The first pose determination module is used to determine the first pose information of the robot in the first area map in response to a map switching trigger event for the robot switching from a first area map to a second area map. The first area map and the second area map are obtained by dividing the scene map.
[0014] The association point determination module is used to obtain at least one pair of association points between the first regional map and the second regional map, wherein the association points in the pair of association points belong to the first regional map and the second regional map respectively.
[0015] A conversion relationship determination module is used to determine the conversion relationship between the first regional map and the second regional map based on the at least one pair of associated points.
[0016] The second pose determination module is used to determine the second pose information corresponding to the first pose information in the second area map based on the transformation relationship.
[0017] The switching module is used to switch the first area map to the second area map and to switch the robot's first pose information to the second pose information.
[0018] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor performs the steps of the map switching method described above.
[0019] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the map switching method described above.
[0020] Details of one or more embodiments of this application are set forth in the following drawings and description. Other features and advantages of this application will become apparent from the specification, drawings, and claims. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained from these drawings without creative effort.
[0022] Figure 1 is an application environment diagram of the map switching method in one embodiment;
[0023] Figure 2 is a flowchart of a map switching method in one embodiment;
[0024] Figure 3 is a schematic diagram of a map switching method in one embodiment;
[0025] Figure 4 is a flowchart illustrating the map switching method in another embodiment;
[0026] Figure 5 is a structural block diagram of a map switching device in one embodiment;
[0027] Figure 6 is a block diagram of the internal structure of a computer device in one embodiment. Detailed Implementation
[0028] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings. Preferred embodiments of this application are shown in the drawings. However, this application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a thorough and complete understanding of the disclosure of this application.
[0029] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. The terminology used herein in the specification of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.
[0030] The map switching method provided in this application embodiment can be applied to the application environment shown in Figure 1. Robot 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated on server 104 or placed on a cloud or other network server. In response to a map switching trigger event for robot 102 switching from a first area map to a second area map, server 104 determines the first pose information of robot 102 in the first area map. The first and second area maps are obtained by dividing a scene map. Server 104 obtains at least one pair of related points between the first and second area maps, where the related points in the pair belong to the first and second area maps respectively. Server 104 determines the transformation relationship between the first and second area maps based on at least one pair of related points. Based on the transformation relationship, server 104 determines the second pose information corresponding to the first pose information in the second area map. The first area map of robot 102 is switched to the second area map, and the server switches the first pose information of robot 102 to the second pose information. Server 104 can be implemented using a standalone server, a server cluster consisting of multiple servers, or a cloud server. Robot 102 can be a cleaning robot, delivery robot, guide robot, vending robot, inspection robot, disinfection robot, unmanned robot, or other intelligent device that can move autonomously.
[0031] In one embodiment, as shown in Figure 2, a map switching method is provided. Taking the application of this method to a computer device (which may be the robot 102 or the server 104 in Figure 1) as an example, the method includes the following steps:
[0032] Step 202: In response to a map switching trigger event for the robot switching from the first area map to the second area map, determine the robot's first pose information in the first area map. The first area map and the second area map are obtained by dividing the scene map.
[0033] Among them, map switching trigger events refer to events that trigger map switching. Map switching trigger events can be events where the robot moves from one preset area map to another, events where the robot moves to an overlapping area of two preset area maps, or events involving the selection of multiple preset area maps. For example, in an event involving the selection of multiple preset area maps, if the robot is currently using the first area map and the user selects the second area map, the robot switches from the first area map to the second area map.
[0034] The scene map can be any type of map, such as a digital map, laser map, 2D map, 3D map, global map, local map, etc., without any specific limitations.
[0035] The target scene is equipped with a scene map, and multiple preset area maps correspond to multiple different areas of the target scene. There is a one-to-one correspondence between the multiple preset area maps and the multiple different areas. The shapes of the multiple different areas can be regular or irregular; the shapes of the corresponding multiple preset area maps can also be regular or irregular.
[0036] A target scenario refers to any scenario in which the robot can move based on a map. A target scenario can be a robot moving within at least one building, a robot operating autonomously, etc., but is not limited to these. A scenario map can be a map of at least one building, a road map in an autonomous driving scenario, etc., but is not limited to these.
[0037] The first pose information refers to the pose information corresponding to the robot's current position in the first area map. The first pose information can include position information and orientation information.
[0038] Specifically, the robot is currently moving within the first area map. When a map switching trigger event is triggered, causing the robot to switch from the first area map to the second area map, the computer device responds to the map switching trigger event and determines the robot's first pose information in the first area map.
[0039] In one embodiment, the computer device responds to a map selection event (map switching trigger event) to determine the robot's current first pose information in a first area map and the second area map selected by the map selection event.
[0040] Step 204: Obtain at least one pair of related points between the first regional map and the second regional map, wherein the related points in the pair belong to the first regional map and the second regional map respectively.
[0041] Among them, the associated point pair includes two associated points, one of which belongs to the first area map and the other belongs to the second area map.
[0042] Specifically, the computer device pre-sets the associated point pairs between the first regional map and the second regional map, and stores them in a corresponding associated point set. The computer device can retrieve the associated point pairs between the first regional map and the second regional map from the associated point set.
[0043] In one embodiment, the first regional map and the second regional map have overlapping areas, and the overlapping areas have at least one pair of associated points. One associated point in the pair belongs to the overlapping area of the first regional map, and the other associated point belongs to the overlapping area of the second regional map.
[0044] The overlapping area can be one area or multiple areas, meaning there are one or more overlapping areas between the first and second area maps. Each overlapping area has at least one pair of associated points.
[0045] In one embodiment, when the first region map and the second region map overlap, the computer device can extract multiple first feature points from the overlapping region of the first region map and multiple second feature points from the overlapping region of the second region map. The computer device acquires feature information for each first feature point and second feature information for each second feature point, and based on the feature information of each first feature point and each second feature point, determines multiple associated point pairs from the multiple first feature points and multiple second feature points. An associated point pair includes one first feature point and one second feature point.
[0046] Step 206: Determine the conversion relationship between the first regional map and the second regional map based on at least one pair of associated points.
[0047] Transformation is usually achieved through a series of mathematical transformations, including but not limited to translation, rotation, and scaling.
[0048] Specifically, the computer device identifies a first feature point belonging to the first region map and a second feature point belonging to the second region map in each pair of associated points. It then determines the pose information of each first feature point in the first region map and the pose information of each second feature point in the second region map. Based on the pose information of each first and second feature point, it determines the transformation relationship between the first and second region maps.
[0049] Step 208: Based on the transformation relationship, determine the second pose information corresponding to the first pose information in the second region map.
[0050] The first pose information and the second pose information are the pose information corresponding to the robot's current position in different area maps. The first pose information includes the robot's position and orientation in the first area map. The second pose information includes the robot's position and orientation in the second area map.
[0051] Specifically, the computer device performs pose transformation on the first pose information based on the transformation relationship to obtain the second pose information of the robot in the second area map.
[0052] In one embodiment, the first region map has a first coordinate system, and the second region map has a second coordinate system. The transformation relationship can be a transformation matrix between the first and second coordinate systems. The first pose information refers to the robot's current pose information in the first coordinate system of the first region map. The second pose information refers to the robot's current pose information in the second coordinate system of the second region map.
[0053] The computer device acquires the first pose information of the first feature point in the first coordinate system of the first region map, and acquires the second pose information of the second feature point in the second coordinate system of the second region map. Based on the first pose information and the second pose information, a transformation matrix between the first coordinate system and the second coordinate system is calculated. Based on the transformation matrix, the robot's current first pose information in the first coordinate system of the first region map is converted into second pose information in the second coordinate system of the second region map.
[0054] Step 210: Switch the first region map to the second region map, and switch the robot's first pose information to the second pose information.
[0055] Specifically, the computer device switches the robot's first region map to a second region map, and switches the robot's first pose information in the first region map to its second pose information in the second region map. That is, it switches the robot's current position's first pose information in the first region map to its current position's second pose information in the second region map.
[0056] It is understandable that when the robot receives a map switching trigger event, it determines the conversion relationship between the first area map and the second area map; when the robot runs to the overlapping area corresponding to the conversion relationship, it switches the robot's first area map to the second area map based on the conversion relationship, and switches the robot's first pose information in the first area map to the second pose information in the second area map.
[0057] In the aforementioned map switching method, the first and second region maps are obtained by dividing the scene map. By dividing the scene map into multiple smaller region maps, the performance requirements for the robot are reduced, overcoming the limitations of the robot's use of the scene map. In response to a map switching trigger event for the robot switching from the first region map to the second region map, the robot's first pose information in the first region map is determined to ascertain its position and orientation. At least one pair of associated points between the first and second region maps is acquired, where the associated points belong to both regions. Based on this pair, a transformation relationship between the first and second region maps is determined. Based on this transformation relationship, the second pose information corresponding to the first pose information in the second region map is determined. This ensures that when the robot switches from the first to the second region map, its first pose information in the first region map is replaced with its second pose information in the second region map. This allows the robot to seamlessly switch region maps based on the associated point pairs, improving the efficiency of map switching during movement and the accuracy of localization after map switching. Furthermore, it enhances the robot's reliability and applicability.
[0058] In one embodiment, the first area map and the second area map have overlapping areas, and the map switching trigger event includes a robot movement event; in response to a map switching trigger event for the robot switching from the first area map to the second area map, determining the robot's first pose information in the first area map includes: in response to a movement event in which the robot moves to the overlapping area of the first area map and the second area map, determining the robot's first pose information in the overlapping area of the first area map.
[0059] Based on the transformation relationship, the second pose information corresponding to the first pose information in the second region map is determined, including: based on the transformation relationship, the second pose information corresponding to the first pose information in the overlapping region of the second region map is determined.
[0060] Specifically, the first and second area maps overlap. The robot moves within the first area map, and when it reaches the overlapping area of the first and second area maps, the computer determines the robot's first pose information within that overlapping area of the first area map.
[0061] The computer device acquires the associated point pairs between the first regional map and the second regional map, where the associated points in the associated point pairs belong to the overlapping areas of the first regional map and the second regional map, respectively.
[0062] The computer device determines the transformation relationship between the first regional map and the second regional map based on the associated point pairs, and determines the second pose information corresponding to the first pose information in the second regional map based on the transformation relationship.
[0063] The computer device switches the robot's first area map to a second area map, and switches the robot's first pose information in the first area map to the second pose information in the second area map.
[0064] In this embodiment, the first and second regional maps have overlapping areas. These two maps with overlapping areas can be linked using associative points. This allows for automatic map switching when the robot moves into the overlapping area, effectively improving the efficiency of map switching. Furthermore, based on the associative point pairs in the overlapping area, the conversion relationship between the two regional maps can be calculated more accurately. This enables the robot's current position in the first regional map to be accurately mapped to the second regional map, helping to improve the accuracy of robot positioning in different regional maps.
[0065] In one embodiment, the method further includes:
[0066] The robot acquires its movement task in the target scene and acquires multiple preset area maps for the target scene, which correspond to multiple different areas of the target scene; the robot determines the start point and end point of the movement task, and determines the start point map to which the start point belongs and the end point map to which the end point belongs from the multiple preset area maps. Adjacent preset area maps have related point pairs; when there are related point pairs between the start point map and the end point map, the start point map is used as the first area map and the end point map is used as the second area map.
[0067] In this context, a movement task refers to the task of a robot moving from a starting point to a destination within a target scene. Specifically, the computer device pre-divides the scene map corresponding to the target scene into multiple preset area maps, with adjacent preset area maps having overlapping regions. These multiple preset area maps correspond to multiple different regions of the target scene.
[0068] The computer device determines the start and end points of the mobile task, and identifies the start point map to which the start point belongs and the end point map to which the end point belongs from multiple preset area maps. Adjacent preset area maps have associated point pairs.
[0069] The computer equipment detects whether the starting point map and the ending point map have related point pairs. If there are related point pairs between the starting point map and the ending point map, it means that the starting point map and the ending point map are adjacent. In this case, the starting point map is used as the first area map and the ending point map is used as the second area map.
[0070] When the robot needs to switch from the first area map to the second area map, the computer determines the robot's first pose information in the first area map and determines the transformation relationship between the first and second area maps based on the associated point pairs. Based on the transformation relationship, the computer determines the robot's second pose information in the second area map, switches the first area map to the second area map, and changes the robot's current position's first pose information in the first area map to its second pose information in the second area map.
[0071] In this embodiment, the robot's movement task in the target scene is acquired, and multiple preset area maps for the target scene are acquired. The start point and end point of the movement task are determined, and the start point map to which the start point belongs and the end point map to which the end point belongs are determined from the multiple preset area maps. When there are related point pairs between the start point map and the end point map, it means that the start point map and the end point map are adjacent. Then, the conversion relationship between the start point map and the end point map is determined based on the related point pairs, so that the robot can switch between the two area maps and convert the position and orientation between the area maps through the related point pairs. When the robot switches from the start point map to the end point map, it can accurately locate the robot's current pose in the end point map, so that the robot can move to the end point position based on the positioning of the end point map, thereby quickly realizing the robot's movement in the target scene.
[0072] In one embodiment, the method further includes:
[0073] When there are no associated point pairs between the starting map and the ending map, a transit map is selected from multiple preset area maps based on the associated point pairs between the starting map and the ending map, as well as adjacent preset area maps; a map queue is generated, which includes the starting map, transit map, and ending map; the maps in the map queue are traversed, and the traversed map is used as the first area map, and the next map of the traversed map is used as the second area map.
[0074] Specifically, when there are no associated point pairs between the starting point map and the ending point map, the computer device selects a transit map from multiple preset area maps based on the associated point pairs between the starting point map, the ending point map, and adjacent preset area maps. The computer device can generate a map queue in order from the starting point to the ending point, and the map queue includes the starting point map, the transit map, and the ending point map. The computer device traverses the maps in the map queue sequentially, using the traversed map as the first area map and the next map after the traversed map as the second area map.
[0075] For example, when the traversed map is the starting map, the starting map is used as the first region map, and the intermediate map is used as the second region map. When the intermediate map is used as the first region map, the destination map is used as the second region map.
[0076] In one embodiment, the transit map includes at least one preset area map.
[0077] In one embodiment, a transit point can be determined from a transit map, and a target path for the robot to perform the movement task can be generated based on the starting point, transit point, and destination, so that the robot moves along the target path to perform the movement task.
[0078] In this embodiment, when there are no associated point pairs between the starting point map and the ending point map, transit maps are selected from multiple preset area maps based on the associated point pairs between the starting point map, the ending point map, and adjacent preset area maps. This allows for the selection of transit maps that must be traversed from the starting point map to the ending point map. A map queue including the starting point map, transit maps, and the ending point map is generated. During the robot's movement task, map switching and pose transformation are performed according to the maps in the map queue, improving the efficiency of the robot's movement task.
[0079] In one embodiment, the method further includes:
[0080] In response to the robot's loading operation on the first area map, a second area map with associated point pairs with the first area map is determined; the second area map is preloaded into a preset database.
[0081] Obtain at least one pair of related points between the first and second region maps, including:
[0082] Read the second region map from the preset database, and obtain at least one pair of related points between the first region map and the read second region map.
[0083] Specifically, in response to the robot's loading operation on the first area map, the computer device determines a second area map that has associated point pairs with the first area map and preloads the second area map into a preset database.
[0084] When the robot needs to switch from the first area map to the second area map, the computer device reads the second area map from the preset database and obtains the associated point pairs between the first area map and the read second area map, so as to determine the conversion relationship between the first area map and the second area map based on the associated point pairs.
[0085] In one embodiment, the first area map and the second area map are preset area maps corresponding to the target scene. When the robot loads the scene map of the target scene for the first time, at least a portion of the preset area map of the scene map is loaded into the preset database.
[0086] In one embodiment, the data of a preset area map can be loaded into a preset database, so that the map data of a preset area can be used directly in the future to quickly obtain map data such as the pose information of feature points in the associated point pair, improve computing efficiency, and thus realize rapid map switching.
[0087] When the robot first loads a map of any preset area of the target scene, the computer device preloads all preset area maps of the target scene into a preset database.
[0088] Figure 3 shows a schematic diagram of a map switching method in one embodiment. The robot has an input unit, a loading unit, a conversion unit, and an output unit. The loading unit includes an extraction unit and a reading unit.
[0089] The input unit acquires map A. When the robot first loads map A, the extraction unit extracts data from map A and quickly loads the data into a preset database. The data in map A can be all the data in map A, for example, it can include the feature information and pose information of each feature point in map A. Furthermore, the data of all maps, such as map A, map B, and map C, can be stored in the preset database, so that the data of map A, map B, map C, etc., are all pre-loaded into the preset database to enable rapid data retrieval later.
[0090] The input unit acquires the robot's current pose information on map A, i.e., the first pose information. It also acquires the associated point pair (a, b) between map A and map B. In the associated point pair (a, b), feature point a belongs to map A, and feature point b belongs to map B. The input unit sends the first pose information and the associated point pair (a, b) to the conversion unit.
[0091] When the robot needs to switch from map A to map B, the conversion unit reads data from a preset database through the reading unit. That is, the reading unit reads the pose information of feature point a and feature point b, and sends them to the conversion unit.
[0092] The conversion unit calculates the second pose information in map B corresponding to the first pose information in map A based on the pose information of feature point a, feature point b, and the first pose information. The output unit outputs the second pose information in map B. Specifically, the conversion unit first determines the conversion relationship based on the pose information of feature point a and feature point b, and then converts the first pose information to obtain the second pose information through the conversion relationship.
[0093] In this embodiment, in response to the robot's loading operation on the first area map, a second area map with associated point pairs with the first area map is determined, and the second area map is preloaded into a preset database. When the robot needs to switch from the first area map to the second area map, it can directly read the second area map from the preset database, which can greatly increase the speed and efficiency of map loading, thereby improving the efficiency of subsequent map switching.
[0094] In one embodiment, the method further includes:
[0095] Obtain a scene map of the target scene and divide the scene map into multiple preset area maps, with adjacent preset area maps having overlapping areas; extract feature points from the overlapping areas of each adjacent preset area map and determine the feature information corresponding to each feature point; based on the feature information corresponding to each feature point in the adjacent preset area maps, determine multiple related point pairs between adjacent preset area maps, where the two feature points in the related point pair belong to the overlapping areas of the adjacent preset area maps respectively.
[0096] Specifically, the feature information can be the surrounding feature information of the feature point. The overlapping region can be points, lines, or surfaces that overlap with each other, without being specifically limited here.
[0097] Specifically, the computer device acquires a scene map of the target scene and divides the scene map into multiple preset area maps. Among the multiple preset area maps, two adjacent preset area maps have overlapping areas.
[0098] For each preset area map in adjacent preset area maps, the computer device extracts multiple feature points from the overlapping areas of the targeted preset area maps and determines the feature information corresponding to each feature point. Based on the feature information corresponding to each feature point in the adjacent preset area maps, the computer device determines matching feature points in the adjacent preset area maps, treats the matching feature points as association points, and combines them into association point pairs.
[0099] In one embodiment, the feature information corresponding to a feature point includes environmental feature information corresponding to the feature point. The environmental feature information is used to characterize the features of the surrounding environment of the feature point. For example, a computer device determines the feature point, collects environmental data around the feature point, extracts features from the environmental data, and obtains environmental feature information.
[0100] In one embodiment, the computer device selects one of two adjacent preset area maps, designates a feature point in the selected preset area map as a first feature point, and designates a feature point in the other preset area map as a second feature point. For each first feature point, the similarity between the feature information of the first feature point and the feature information of each second feature point is determined. Based on the similarity, a second feature point matching the first feature point is determined, and the matching first and second feature points are combined into an associated point pair.
[0101] In one embodiment, determining a second feature point that matches the first feature point based on similarity includes: filtering out second feature points with a similarity greater than a similarity threshold, wherein the filtered second feature points are the feature points that match the first feature point.
[0102] In one embodiment, determining a second feature point that matches the first feature point based on similarity includes: selecting the second feature point with the highest similarity, wherein the second feature point with the highest similarity is the feature point that matches the first feature point.
[0103] In one embodiment, a feature point in a preset area map can form a pair of associated points with feature points in multiple preset areas, so that a preset area map can be associated with multiple preset area maps based on a feature point.
[0104] In one embodiment, the computer device can determine the area of a target scene. When the area of the target scene is larger than a preset area, the scene map is divided into multiple preset area maps. The number of preset area maps can be determined based on the ratio between the total area of the scene map and the preset area of the preset area maps.
[0105] In one embodiment, the computer device can determine the shape of the target scene and divide the scene map based on the shape features of the scene map; for example, if the scene map includes turns, corners, etc., the scene map can be divided based on the dividing lines of turns and corners. The number of preset area maps obtained by the division is determined based on the shape features of the actual scene map, and is not specifically limited here.
[0106] In one embodiment, the computer device can comprehensively determine whether to divide the preset area map and the number of preset area maps based on the area and shape of the scene map corresponding to the target scene.
[0107] In one embodiment, the scene map of the target scene is a laser map, and the data corresponding to the laser map is laser data. The scene map is divided into multiple preset area maps, adjacent preset area maps have overlapping areas, and the data of each preset area map is also laser data.
[0108] In one embodiment, preset area map A and preset area map B have overlapping areas.
[0109] Figure 4 shows the architecture of a map switching method in one embodiment. Using a LiDAR installed in the robot, the robot is positioned at feature point a within the overlapping area of a preset map A, obtaining the pose data of feature point a. Using an odometer and inertial measurement unit installed in the robot, the robot performs fusion positioning at feature point a within the overlapping area of the preset map A, obtaining another pose data for feature point a. The two pose data for feature point a are verified. If the difference between the two pose data is less than or equal to a preset difference, the environmental feature information of feature point a in the preset map A is extracted. If the difference between the two pose data for feature point a is greater than a preset difference, feature point a is discarded.
[0110] The robot uses a LiDAR installed in its system to locate feature point b within the overlapping area of a pre-defined map B, obtaining pose data for feature point b. Then, using an odometry and inertial measurement unit (IMU) installed in the robot, another pose data for feature point b is obtained. The two pose data for feature point b are validated. If the difference between the two pose data is less than or equal to a preset difference, the environmental feature information of feature point b in the pre-defined map B is extracted. If the difference between the two pose data for feature point b is greater than a preset difference, feature point b is discarded.
[0111] Using the same processing method, multiple feature points 'a' in the overlapping area of the preset area map A and multiple feature points 'b' in the overlapping area of the preset area map B can be obtained.
[0112] Based on the environmental feature information of each feature point a and each feature point b, correlation point verification is performed to determine the feature point b that matches each feature point a. The matched feature points a and b are then considered as a correlation point pair. Furthermore, the preset area map A and preset area map B are considered as a correlation map pair, allowing switching between preset area map A and preset area map B via the correlation point pair.
[0113] In one embodiment, the method further includes:
[0114] When a new area map is added to the scene map of the target scene, the adjacent area maps of the new area map are determined from the preset area maps; the overlapping areas between the new area map and the adjacent area maps are determined, and feature points are extracted from the overlapping areas of the new area map and the adjacent area maps respectively; based on the feature information of the feature points in the new area map and the feature information of the feature points in the adjacent area maps, multiple associated point pairs between the new area map and the adjacent area maps are determined. In this embodiment, when the area of the target scene increases, for the newly added area map, the verification and binding of map association points can be completed at the boundary between the new and old maps by stitching. After binding, it can be put into use immediately, which has strong scalability.
[0115] In this embodiment, a scene map of the target scene is acquired and divided into multiple preset area maps to effectively segment the ultra-large map area. Adjacent preset area maps have overlapping regions. Feature points are extracted from the overlapping regions of each adjacent preset area map, and the feature information corresponding to each feature point is determined. Based on the feature information corresponding to each feature point in the adjacent preset area maps, multiple related point pairs between adjacent preset area maps are determined. This allows overlapping areas of the maps to be associated with each other, enabling the robot to quickly load and switch between small maps during map application to complete the loading and use of ultra-large scene maps. This effectively solves the resource consumption caused by ultra-large scenes and greatly saves the current resource consumption and storage overhead of computer equipment.
[0116] In one embodiment, a map switching method is provided, applied to a computer device, including:
[0117] Obtain a scene map of the target scene, and divide the scene map into multiple preset area maps, with adjacent preset area maps having overlapping areas;
[0118] Feature points are extracted from the overlapping areas of adjacent preset area maps, and the feature information corresponding to each feature point is determined.
[0119] Based on the feature information corresponding to each feature point in adjacent preset area maps, multiple related point pairs between adjacent preset area maps are determined. The two feature points in the related point pair belong to the overlapping areas of the adjacent preset area maps.
[0120] When a new area map is added to the scene map of the target scene, the adjacent area map of the new area map is determined from each preset area map.
[0121] Identify the overlapping areas between the newly added regional map and the adjacent regional maps, and extract feature points from the overlapping areas of the newly added regional map and the adjacent regional maps respectively.
[0122] Based on the feature information of feature points in the newly added area map and the feature information of feature points in the adjacent area maps, multiple pairs of related points between the newly added area map and the adjacent area maps are determined.
[0123] Obtain the robot's movement tasks in the target scene, and obtain multiple preset area maps for the target scene, with the multiple preset area maps corresponding to multiple different areas of the target scene;
[0124] Determine the start and end points of the movement task, and identify the start point map and the end point map from multiple preset area maps. Adjacent preset area maps have related point pairs.
[0125] When there are related point pairs between the starting map and the ending map, the starting map is used as the first area map and the ending map is used as the second area map.
[0126] Optionally, when there are no associated point pairs between the starting point map and the ending point map, a transit map is selected from multiple preset area maps based on the associated point pairs between the starting point map, the ending point map, and adjacent preset area maps; a map queue is generated, which includes the starting point map, the transit map, and the ending point map; the maps in the map queue are traversed, and the traversed map is used as the first area map, and the next map after the traversed map is used as the second area map.
[0127] During the process of the robot moving from the starting point to the ending point, when the robot moves from the first area map to the position where the first area map and the second area map overlap, the robot's first pose information in the first area map is determined.
[0128] Obtain at least one pair of related points between the first regional map and the second regional map, wherein the related points in the pair belong to the first regional map and the second regional map, respectively.
[0129] The conversion relationship between the first regional map and the second regional map is determined based on at least one pair of related points.
[0130] Based on the transformation relationship, determine the second pose information corresponding to the first pose information in the second region map;
[0131] Switch the first region map to the second region map, and switch the robot's first pose information to the second pose information.
[0132] In this embodiment, the scene map of the target scene is divided into multiple preset area maps to effectively segment the ultra-large area map. Adjacent preset area maps have at least one overlapping region. Feature points are extracted from the overlapping regions of each adjacent preset area map, and the feature information corresponding to each feature point is determined. Based on the feature information corresponding to each feature point in the adjacent preset area maps, multiple related point pairs between adjacent preset area maps are determined. This allows overlapping areas to be linked by related points, enabling the robot to load and use ultra-large scene maps by quickly loading and switching between single small maps during map application. This greatly reduces the computational and storage overhead of building ultra-large scene maps, improving system efficiency and performance. Furthermore, it significantly increases the speed and efficiency of map loading, improves the autonomous navigation and environmental perception capabilities of the mobile robot, and enables the robot to better adapt to the task requirements in ultra-large scenes, resulting in a leap in the actual application effect of the robot and the customer experience.
[0133] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0134] Based on the same inventive concept, this application also provides a map switching device for implementing the map switching method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more map switching device embodiments provided below can be found in the limitations of the map switching method described above, and will not be repeated here.
[0135] In one embodiment, as shown in FIG5, a map switching device 500 is provided, comprising:
[0136] The first pose determination module 502 is used to determine the first pose information of the robot in the first area map in response to a map switching trigger event for the robot switching from the first area map to the second area map. The first area map and the second area map are obtained by dividing the scene map.
[0137] The associated point determination module 504 is used to obtain at least one pair of associated points between the first area map and the second area map, wherein the associated points in the pair belong to the first area map and the second area map respectively.
[0138] The transformation relationship determination module 506 is used to determine the transformation relationship between the first area map and the second area map based on at least one pair of associated points.
[0139] The second pose determination module 508 is used to determine the second pose information corresponding to the first pose information in the second area map based on the transformation relationship.
[0140] The switching module 510 is used to switch the robot from the first area map to the second area map and to switch the robot's first pose information to the second pose information.
[0141] In one embodiment, the first region and the second region have overlapping areas, and the map switching trigger event includes the robot's movement event; the first pose determination module 502 is also used to determine the robot's first pose information in the overlapping area of the first region map in response to the robot's movement event from the overlapping area of the first region to the overlapping area of the second region map.
[0142] The second pose determination module 508 is also used to determine the second pose information corresponding to the first pose information in the overlapping area of the second area map based on the transformation relationship.
[0143] In one embodiment, the device further includes:
[0144] The acquisition module is used to acquire the robot's movement tasks in the target scene and acquire multiple preset area maps for the target scene, which correspond to multiple different areas of the target scene.
[0145] The map determination module is used to determine the starting point and ending point of the movement task, and to determine the starting point map to which the starting point belongs and the ending point map to which the ending point belongs from multiple preset area maps. Adjacent preset area maps have associated point pairs; when there are associated point pairs between the starting point map and the ending point map, the starting point map is used as the first area map and the ending point map is used as the second area map.
[0146] In one embodiment, the device further includes:
[0147] The filtering module is used to filter transit maps from multiple preset area maps when there are no related point pairs between the starting point map and the ending point map, based on the related point pairs between the starting point map and the ending point map, as well as adjacent preset area maps.
[0148] The generation module is used to generate a map queue, which includes a starting map, a transit map, and a destination map.
[0149] The traversal module is used to traverse the maps in the map queue, taking the traversed map as the first region map and the next map after the traversed map as the second region map.
[0150] In one embodiment, the device further includes:
[0151] The preloading module is used to respond to the robot's loading operation on the first area map, determine the second area map that has associated point pairs with the first area map, and preload the second area map into a preset database;
[0152] The associated point determination module 504 is also used to read the second area map from the preset database and obtain the associated point pairs between the first area map and the read second area map.
[0153] In one embodiment, the association point determination module 504 is further configured to acquire a scene map of the target scene, divide the scene map into multiple preset area maps, and adjacent preset area maps have overlapping areas; extract association points from the overlapping areas of the adjacent preset area maps respectively, and determine the feature information corresponding to each association point; and determine multiple association point pairs between adjacent preset area maps based on the feature information corresponding to each association point in the adjacent preset area maps, wherein the two association points in the association point pair belong to the adjacent preset area maps respectively.
[0154] In one embodiment, the association point determination module 504 is further configured to, when there is a newly added area map in the scene map of the target scene, determine the adjacent area map of the newly added area map from each preset area map; determine the overlapping area between the newly added area map and the adjacent area map, extract feature points from the overlapping areas of the newly added area map and the adjacent area map respectively; and determine multiple association point pairs between the newly added area map and the adjacent area map based on the feature information of the feature points in the newly added area map and the feature information of the feature points in the adjacent area map.
[0155] Each module in the aforementioned map switching device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0156] In one embodiment, a computer device, which may be a server, is provided, and its internal structure is shown in Figure 6. The computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is connected to the system bus via the I / O interfaces. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores map data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a map switching method.
[0157] Those skilled in the art will understand that the structure shown in Figure 6 is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0158] This application also provides a computer-readable storage medium. One or more non-volatile computer-readable storage media containing computer-executable instructions, which, when executed by one or more processors, cause the processors to perform the steps of a map switching method.
[0159] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute a map switching method.
[0160] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0161] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0162] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0163] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
[0164] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0165] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A map switching method, comprising: In response to a map switching trigger event for the robot switching from a first area map to a second area map, the robot's first pose information in the first area map is determined, wherein the first area map and the second area map are obtained by dividing the scene map; Obtain at least one pair of related points between the first regional map and the second regional map, wherein the related points in the pair belong to the first regional map and the second regional map respectively; The conversion relationship between the first regional map and the second regional map is determined based on the at least one pair of associated points; Based on the transformation relationship, determine the second pose information corresponding to the first pose information in the second region map; The first region map is switched to the second region map, and the first pose information of the robot is switched to the second pose information.
2. The method of claim 1, wherein, The first area map and the second area map have overlapping areas, and the map switching trigger event includes robot movement events; the step of determining the robot's first pose information in the first area map in response to the map switching trigger event for the robot switching from the first area map to the second area map includes: In response to a movement event in which the robot moves to an overlapping area of a first area map and a second area map, the first pose information of the robot in the overlapping area of the first area map is determined. The step of determining the second pose information corresponding to the first pose information in the second region map based on the transformation relationship includes: Based on the transformation relationship, the second pose information corresponding to the first pose information in the overlapping area of the second region map is determined.
3. The method of claim 1, wherein, The method further includes: The robot's movement task in the target scene is obtained, and multiple preset area maps for the target scene are obtained, the multiple preset area maps corresponding to multiple different areas of the target scene; The starting point and ending point of the mobile task are determined, and the starting point map to which the starting point belongs and the ending point map to which the ending point belongs are determined from the multiple preset area maps. Adjacent preset area maps have associated point pairs. When there are related point pairs between the starting point map and the ending point map, the starting point map is used as the first regional map and the ending point map is used as the second regional map.
4. The method of claim 3, wherein, The method further includes: When there are no associated point pairs between the starting point map and the ending point map, a transit map is selected from the multiple preset area maps based on the associated point pairs between the starting point map, the ending point map, and the adjacent preset area maps. Generate a map queue, the map queue including the starting point map, the transit map and the destination map; Iterate through the maps in the map queue, taking the traversed map as the first region map and the next map after the traversed map as the second region map.
5. The method of claim 1, wherein, The method further includes: In response to the robot's loading operation for the first area map, a second area map with associated point pairs with the first area map is determined; Preload the second area map into the preset database; The step of obtaining at least one pair of related points between the first regional map and the second regional map includes: The second area map is read from the preset database, and at least one pair of related points between the first area map and the read second area map is obtained.
6. The method of claim 1, wherein, The method further includes: Determine the area of the target scene; When the area of the target scene is larger than the preset area, the target scene map is divided into multiple preset area maps; The number of preset area maps is determined based on the ratio between the area of the target scene map and the preset area of the preset area map.
7. The method of claim 1, wherein, Determining the conversion relationship between the first regional map and the second regional map based on the at least one pair of associated points includes: Identify the first feature point in each pair of associated points that belongs to the first area map and the second feature point that belongs to the second area map; Determine the pose information of each first feature point in the first region map, and the pose information of each second feature point in the second region map; Based on the pose information of each of the first feature points and the pose information of the second feature points, the transformation relationship between the first region map and the second region map is determined.
8. The method of claim 1, wherein, The step of determining the second pose information corresponding to the first pose information in the second region map based on the transformation relationship includes: Obtain the first pose information of the first feature point in the first coordinate system of the first region map; and obtain the second pose information of the second feature point in the second coordinate system of the second region map; Based on the first pose information and the second pose information, calculate the transformation matrix between the first coordinate system and the second coordinate system; Based on the transformation matrix, the first pose information in the first coordinate system of the current first region map is converted into the second pose information in the second coordinate system of the second region map.
9. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Obtain a scene map of the target scene, and divide the scene map into multiple preset area maps, with adjacent preset area maps having overlapping areas; Feature points are extracted from the overlapping areas of adjacent preset area maps, and the feature information corresponding to each feature point is determined. Based on the feature information corresponding to each feature point in the adjacent preset area maps, multiple pairs of related points between the adjacent preset area maps are determined, and the two feature points in the pair of related points belong to the overlapping areas of the adjacent preset area maps respectively.
10. The method of claim 9, wherein, The method further includes: Select one of the two adjacent preset area maps; The feature points in the selected preset area map are used as the first feature points, and the feature points in the other preset area map are used as the second feature points. For each of the first feature points, determine the similarity between the feature information of the first feature point and the feature information of each of the second feature points; The second feature point that matches the first feature point is determined based on similarity. The matching first feature point and second feature point are combined into a pair of associated points.
11. The method of claim 10, wherein, The determination of the second feature point that matches the first feature point based on similarity includes: Filter out the second feature points whose similarity is greater than the similarity threshold; The selected second feature point is the feature point that matches the first feature point.
12. The method of claim 10, wherein, The method of determining the second feature point that matches the first feature point based on similarity further includes: The second feature point with the highest similarity is selected, and the second feature point with the highest similarity is the feature point that matches the first feature point.
13. The method of claim 10, wherein, A feature point in a preset area map can form a pair of related points with feature points in multiple preset areas, so that a preset area map can be associated with multiple preset area maps based on a feature point.
14. The method of claim 1, wherein, The method further includes: When a new area map is added to the scene map of the target scene, the adjacent area maps of the new area map are determined from each preset area map. Determine the overlapping areas between the newly added regional map and the adjacent regional maps, and extract feature points from the overlapping areas of the newly added regional map and the adjacent regional maps respectively. Based on the feature information of feature points in the newly added area map and the feature information of feature points in adjacent area maps, multiple pairs of related points between the newly added area map and adjacent area maps are determined.
15. A map switching device, comprising: The first pose determination module is used to determine the first pose information of the robot in the first area map in response to a map switching trigger event for the robot switching from a first area map to a second area map. The first area map and the second area map are obtained by dividing the scene map. The association point determination module is used to obtain at least one pair of association points between the first regional map and the second regional map, wherein the association points in the pair of association points belong to the first regional map and the second regional map respectively. A conversion relationship determination module is used to determine the conversion relationship between the first regional map and the second regional map based on the at least one pair of associated points. The second pose determination module is used to determine the second pose information corresponding to the first pose information in the second area map based on the transformation relationship. The switching module is used to switch the first area map to the second area map and to switch the robot's first pose information to the second pose information.
16. The map switching device according to claim 15, wherein The device further includes: The acquisition module is used to acquire the robot's movement tasks in the target scene and acquire multiple preset area maps for the target scene, which correspond to multiple different areas of the target scene. The map determination module is used to determine the starting point and ending point of the movement task, and to determine the starting point map to which the starting point belongs and the ending point map to which the ending point belongs from multiple preset area maps. Adjacent preset area maps have associated point pairs; when there are associated point pairs between the starting point map and the ending point map, the starting point map is used as the first area map and the ending point map is used as the second area map.
17. The map switching device according to claim 15, wherein The device further includes: The filtering module is used to filter transit maps from multiple preset area maps when there are no related point pairs between the starting point map and the ending point map, based on the related point pairs between the starting point map and the ending point map, as well as adjacent preset area maps. The generation module is used to generate a map queue, which includes a starting map, a transit map, and a destination map. The traversal module is used to traverse the maps in the map queue, taking the traversed map as the first region map and the next map after the traversed map as the second region map. The preloading module is used to respond to the robot's loading operation on the first area map, determine the second area map that has associated point pairs with the first area map, and preload the second area map into a preset database.
18. A computer device comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 14.
19. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method as claimed in any one of claims 1 to 14.
20. A computer program product comprising a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1 to 14.