Map processing method and device, equipment and storage medium

By determining the location based on environmental scanning data and map matching in the map processing method of autonomous mobile devices, keeping the map edge unchanged or updating the map, the problem of inaccurate mapping caused by environmental changes is solved, and the stability and accuracy of the map are improved.

CN120760701APending Publication Date: 2025-10-10UBTECH ROBOTICS CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510944397.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-08
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

During the mapping process of autonomous mobile devices, large environmental changes lead to a decrease in the matching value between lidar data and maps, affecting the accuracy and stability of mapping.

Method used

By obtaining the environmental scan data of the target device and the matching degree of the map, the position of the device in the map is determined. When the device is at the edge of the map, the map remains unchanged. When the device is not at the edge, the map is updated based on the matching degree and scan data.

Benefits of technology

It improves the accuracy of the map, suppresses the confusion caused by sudden environmental changes at the map edge, reduces the confusion caused by inaccurate positioning, and enhances the stability and accuracy of the map.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120760701A_ABST
    Figure CN120760701A_ABST
Patent Text Reader

Abstract

The invention provides a map processing method and device, equipment and a storage medium. The method comprises the steps that environment scanning data of the environment where target equipment is located is acquired, the matching degree between the environment scanning data and a map is determined, and the map is used for assisting the target equipment in moving; determining the position of the target equipment in the map; under the condition that the position represents that the target equipment is located at the map edge of the map, keeping the map unchanged; and under the condition that the position represents that the target equipment is not located at the map edge of the map, updating the map based on the matching degree and the environment scanning data to obtain a target map. According to the invention, the accuracy of the map can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of map technology, and in particular to a map processing method, apparatus, device and storage medium. Background Art

[0002] When mapping autonomous mobile devices (such as robots), the relevant technology uses lidar data to build a map. Positioning is then determined by matching the lidar data with the map, and the map is then updated based on the positioning. This process is called real-time positioning and mapping. However, during autonomous movement, the device may pass through areas with significant environmental changes (such as entering a new area from the edge of the map). These large environmental changes often significantly reduce the matching value between the lidar data and the map, seriously affecting the accuracy and stability of mapping. Summary of the Invention

[0003] Embodiments of the present application provide a map processing method, device, electronic device, computer-readable storage medium, and computer program product, which can improve the accuracy of maps.

[0004] The technical solution of the embodiment of the present application is implemented as follows:

[0005] The present invention provides a map processing method, including:

[0006] Obtaining environmental scan data of an environment in which a target device is located, and determining a degree of match between the environmental scan data and a map, wherein the map is used to assist the target device in moving;

[0007] Determining a location of the target device in the map;

[0008] When the position representation indicates that the target device is at an edge of the map, keeping the map unchanged;

[0009] In a case where the position indicates that the target device is not at the edge of the map, the map is updated based on the matching degree and the environment scanning data to obtain a target map.

[0010] The present application also provides a map processing device, including:

[0011] A first determination module is configured to obtain environmental scan data of an environment in which a target device is located, and determine a degree of matching between the environmental scan data and a map, wherein the map is configured to assist the target device in moving;

[0012] A second determining module is used to determine the location of the target device in the map;

[0013] a first map processing module, configured to keep the map unchanged when the position representation indicates that the target device is at an edge of the map;

[0014] The second map processing module is configured to update the map based on the matching degree and the environment scanning data to obtain a target map when the location representation indicates that the target device is not at the edge of the map.

[0015] In the above scheme, the second determination module is also used to obtain the position information of the target device on the map and convert the position information into map pixel coordinates on the map; when the map pixel coordinates indicate an obstacle in the map, determine that the target device is not at the map edge of the map; when the map pixel coordinates indicate a non-obstacle in the map, start from the map pixel coordinates, perform an obstacle search on the map, and determine the position of the target device in the map based on the obstacle search results.

[0016] In the above scheme, the second determination module is further used to perform obstacle search along a first number of ray directions around the map pixel coordinates, starting from the map pixel coordinates; the second determination module is further used to determine that the target device is not at the map edge of the map when the obstacle search result indicates that the ratio of the second number of ray directions in which obstacles are searched to the first number is greater than a ratio threshold; and to determine that the target device is at the map edge of the map when the obstacle search result indicates that the ratio of the second number to the first number is less than or equal to the ratio threshold.

[0017] In the above scheme, the second determination module is further used to obtain the map resolution, map size, horizontal coordinate of the map origin, and vertical coordinate of the map origin of the map; determine the horizontal coordinate of the map pixel based on the horizontal coordinate included in the posture information, the map resolution and the horizontal coordinate of the map origin; determine the vertical coordinate of the map pixel based on the vertical coordinate included in the posture information, the map resolution, the map size and the vertical coordinate of the map origin; and combine the map pixel horizontal coordinate and the map pixel vertical coordinate to obtain the map pixel coordinate.

[0018] In the above scheme, the second map processing module is further used to update the map based on the environment scanning data to obtain the target map when the matching degree is greater than the matching degree threshold; the second map processing module is also used to keep the map unchanged when the matching degree is less than or equal to the matching degree threshold.

[0019] In the above scheme, the second map processing module is also used to obtain the first initial posture information of the target device; align the environmental scanning data with the map to obtain the first posture adjustment amount; use the first posture adjustment amount to adjust the first initial posture information to obtain the first target posture information of the target device; based on the first target posture information, the environmental scanning data is integrated into the map to obtain the target map.

[0020] In the above scheme, when the matching degree is less than or equal to the matching degree threshold, the second map processing module is also used to obtain the second initial posture information of the target device; align the environmental scanning data with the map to obtain a second posture adjustment amount; and use the second posture adjustment amount to adjust the second initial posture information to obtain the second target posture information of the target device.

[0021] In the above scheme, when the position represents that the target device is at the edge of the map, the first map processing module is also used to determine a search area of ​​the target size in the map with the target device as the center, and the target size is less than the size threshold; extract the target environment scan data corresponding to the search area from the environment scan data, and align the target environment scan data with the search area to obtain a posture adjustment amount and a registration result; when the registration result represents that the registration is successful, the posture adjustment amount is used to update the current posture information of the target device to obtain the target posture information.

[0022] An embodiment of the present application further provides an electronic device, including:

[0023] a memory for storing computer-executable instructions;

[0024] The processor is configured to implement the map processing method provided in the embodiment of the present application when executing the computer executable instructions stored in the memory.

[0025] An embodiment of the present application further provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the map processing method provided in the embodiment of the present application is implemented.

[0026] An embodiment of the present application further provides a computer program product, comprising computer executable instructions or a computer program, which, when executed by a processor, implements the map processing method provided in the embodiment of the present application.

[0027] The embodiments of the present application have the following beneficial effects:

[0028] Applying the above embodiment of the present application, first obtain the environmental scan data of the environment in which the target device is located, and determine the matching degree between the environmental scan data and the map, and then determine the position of the target device in the map, so that when the position characterizes that the target device is at the edge of the map, the map remains unchanged, and when the position characterizes that the target device is not at the edge of the map, the map is updated based on the matching degree and the environmental scan data to obtain the target map. In this way, the map is constructed according to whether the target device is at the edge of the map and the matching degree, and 1) when the target device is at the edge of the map, the map remains unchanged, that is, the map is not updated, which can suppress the problem of map confusion caused by sudden changes in the environment at the edge of the map construction, thereby improving the accuracy of the obtained map; 2) when the target device is not at the edge of the map, the map is updated based on both the matching degree and the environmental scan data, thereby reducing the problem of map update confusion caused by inaccurate positioning due to the matching degree between the environmental scan data and the map, thereby improving the accuracy of the obtained map. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 This is a schematic diagram of the architecture of the map processing system provided in an embodiment of the present application;

[0030] Figure 2 is a schematic structural diagram of an electronic device provided in an embodiment of the present application;

[0031] Figure 3 This is a first flow chart of the map processing method provided in an embodiment of the present application;

[0032] Figure 4 This is a second flow chart of the map processing method provided in an embodiment of the present application;

[0033] Figure 5 This is a third flow chart of the map processing method provided in the embodiment of the present application;

[0034] Figure 6 4 is a schematic diagram of a fourth flow chart of a map processing method provided in an embodiment of the present application;

[0035] Figure 7 This is a first schematic diagram of a map provided in an embodiment of the present application;

[0036] Figure 8 This is a second schematic diagram of the map provided in the embodiment of the present application.

[0037] It should be noted that the above-mentioned "first" and "second" are only used to distinguish different solutions, and do not represent the degree of distinction between the advantages and disadvantages of the solutions or the priority in the implementation process. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0039] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0040] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0041] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the functions of the module or unit.

[0042] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0043] The relevant data collection and processing in the embodiments of this application should be strictly in accordance with the requirements of relevant laws and regulations when applied in examples, and the informed consent or separate consent of the personal information subject should be obtained. Subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the personal information subject.

[0044] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.

[0045] 1) Posture information: the position and direction (or orientation) of the target device. The position represents the coordinates of the center or reference point of the target device in three-dimensional space. Three real numbers are usually used to represent the three-dimensional coordinates of a point. These three real numbers correspond to the distances on the X-axis, Y-axis, and Z-axis, respectively. In three-dimensional space, the position of a target device can be accurately located using a three-dimensional coordinate system. The direction represents the direction or posture of the target device in three-dimensional space. Ways to describe the direction include rotation matrix, Euler angle, and quaternion. The pose information of the target device on the map may include the position and direction on the map. The position can be described by two-dimensional coordinates (x, y), and the direction can also be represented by Euler angles, etc.

[0046] 2) Point cloud, a collection of a large number of points, each point contains three basic coordinate values ​​(X, Y, Z), which represent the position of the point in three-dimensional space. In addition, the points in the point cloud can also contain other attribute information, such as color value (RGB), reflection intensity (Intensity), etc. Point cloud data is usually generated in the following ways: a) LiDAR: By emitting laser pulses and measuring the return time of the reflected light, the distance to the target object is calculated to generate point cloud data. b) Depth Camera: Such as Kinect, RealSense, etc., it uses infrared light or structured light technology to obtain depth information and generate point clouds. c) Stereo Vision: Use binocular or multi-cameras to capture images of the same scene from different perspectives, use the principle of parallax to calculate depth information, and generate point clouds. d) 3D Scanner: A device specially used for high-precision three-dimensional object surface scanning to generate high-density point clouds.

[0047] 3) Simultaneous localization and mapping (SLAM) technology is a core technology that enables a target device to locate itself in an unknown environment and construct a map of the environment in real time using sensors. Its core principle is to simultaneously estimate the target device's own motion trajectory and the coordinates of environmental features by fusing measurement data from sensors (such as lidar, cameras, and millimeter-wave radar).

[0048] The embodiments of the present application provide a map processing method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can improve the accuracy of maps. Next, based on the above description of the nouns and terms involved in the embodiments of the present application, the embodiments of the present application are described in detail.

[0049] The map processing system provided by the embodiment of the present application is described below. Figure 1 , Figure 11 is a schematic diagram of the architecture of a map processing system provided in an embodiment of the present application. To support an exemplary application, map processing system 100 includes: server 200, network 300, and terminal 400. Terminal 400 is connected to server 200 via network 300. Network 300 can be a wide area network (WAN), a local area network (LAN), or a combination of the two, using either wireless or wired links for data transmission.

[0050] Here, the terminal 400 obtains environmental scan data of the environment in which the target device (such as a robot or autonomous vehicle) is located; sends the environmental scan data to the server 200; the server 200 receives the environmental scan data sent by the terminal 400; determines the degree of match between the environmental scan data and the map, which is used to assist the target device in moving; determines the location of the target device in the map; when the position of the target device indicates that it is at the edge of the map, the map remains unchanged; when the position of the target device indicates that it is not at the edge of the map, the map is updated based on the match and the environmental scan data to obtain the target map. Here, the terminal 400 can be the target device itself, such as a robot, autonomous vehicle, drone, or autonomous underwater vehicle.

[0051] The map processing method provided in the embodiment of the present application is implemented by an electronic device. For example, it can be implemented by a terminal alone, or by a server alone, or by a terminal and a server in collaboration. The electronic device for implementing the map processing method provided in the embodiment of the present application can be various types of terminals or servers. Among them, the server (such as server 200) can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The terminal (such as terminal 400) can be a laptop, a tablet computer, a desktop computer, a smart phone, a vehicle-mounted terminal, an aircraft, a robot, an autonomous vehicle, a drone, an autonomous underwater machine, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected via wired or wireless communication, and the embodiment of the present application does not limit this.

[0052] In some embodiments, a terminal or a server can implement the map processing method provided by the embodiments of the present application by running various computer-executable instructions or computer programs. For example, the computer-executable instructions can be microprogram-level commands, machine instructions or software instructions. The computer programs can be native programs or software modules in an operating system; can be native applications (APPs), i.e., programs that need to be installed in an operating system to run; or can be applets that can be embedded into any APP, i.e., programs that only need to be downloaded into a browser environment to run. In summary, the above computer-executable instructions can be any form of instructions, and the above computer programs can be any form of applications, modules or plug-ins.

[0053] The electronic device implementing the map processing method provided by the embodiments of the present application is described below. Referring to Figure 2 , Figure 2 is a structural schematic diagram of the electronic device provided by the embodiments of the present application. The electronic device 500 provided by the embodiments of the present application can be a terminal or a server. As shown in Figure 2 , the electronic device 500 includes at least one processor 510, a memory 550, at least one network interface 520 and a user interface 530. The various components in the electronic device 500 are coupled together through a bus system 540. It can be understood that the bus system 540 is used to realize the connection and communication between the components. In addition to a data bus, the bus system 540 also includes a power bus, a control bus and a status signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the bus system 540 in the Figure 2 .

[0054] The processor 510 can be an integrated circuit chip with signal processing capability, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor can be a microprocessor or any conventional processor.

[0055] The user interface 530 includes one or more output devices 531 that enable the presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, a mouse, a microphone, a touch screen display, a camera, other input buttons and controls.

[0056] The memory 550 may be removable, non-removable, or a combination thereof. The memory 550 may include one or more storage devices physically remote from the processor 510. The memory 550 includes volatile memory or non-volatile memory, or may include both volatile memory and non-volatile memory. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 550 described in the embodiments of the present application is intended to include any suitable type of memory.

[0057] In some embodiments, the memory 550 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplified below.

[0058] Operating system 551, including system programs for processing various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks;

[0059] A network communication module 552 for reaching other electronic devices via one or more (wired or wireless) network interfaces 520 , exemplary network interfaces 520 including Bluetooth, Wi-Fi, and Universal Serial Bus (USB);

[0060] a presentation module 553 for enabling presentation of information via one or more output devices 531 (e.g., a display screen, a speaker, etc.) associated with the user interface 530 (e.g., a user interface for operating peripheral devices and displaying content and information);

[0061] The input processing module 554 is configured to detect one or more user inputs or interactions from one of the one or more input devices 532 and to translate the detected inputs or interactions.

[0062] In some embodiments, the map processing device provided in the embodiments of the present application can be implemented in software. Figure 2 A map processing device 555 stored in a memory 550 is shown, which may be software in the form of a program and a plug-in, etc., and includes the following software modules: a first determination module 5551, a second determination module 5552, a first map processing module 5553, and a second map processing module 5554. These modules are logical, and therefore can be arbitrarily combined or further split according to the functions implemented. The functions of each module will be explained below.

[0063] The map processing method provided by the embodiment of the present application is described below. As mentioned above, the map processing method provided by the embodiment of the present application is implemented by an electronic device, for example, it can be implemented by a server or a terminal alone, or by a server and a terminal in collaboration. Therefore, the execution body of each step will not be repeated below. Figure 3 , Figure 3 : is a flowchart of a map processing method provided in an embodiment of the present application. The map processing method provided in an embodiment of the present application includes:

[0064] Step 101: Obtain environmental scan data of the environment in which the target device is located, and determine the degree of match between the environmental scan data and a map.

[0065] Among them, the map is used to assist the target device in moving.

[0066] For step 101, obtain environmental scanning data of the environment in which the target device is located. The target device may be a device that can move autonomously, such as a robot, an autonomous driving vehicle, etc. The terminal executing the embodiment of the present application may be the target device itself. The environmental scanning data may be point cloud data collected by a sensor (such as a lidar device), that is, the active environment in which the target device is located is scanned to obtain the environmental scanning data. Each data included in the environmental scanning data may be three-dimensional data, and each map point data is three-dimensional data in a world coordinate system.

[0067] For step 101, the degree of match between the environment scan data and the map can also be determined. The map is based on the simultaneous localization and mapping (SLAM) technology. The map is built during the movement of the target device and can be in the form of a grid map or a probability map. Each pixel in the map is set with a corresponding identifier, which includes three types of identifiers: obstacles, open spaces, and unknown areas. Figure 7As shown, pixels of obstacles on the map are black, pixels of open areas are white, and pixels of unknown areas are gray. The core function of SLAM is to simultaneously solve the two interdependent problems of localization and mapping. These two problems form a closed loop through real-time data interaction, jointly supporting the autonomous movement of the target device. The essence of SLAM is the symbiotic relationship between localization and mapping. 1) Localization can be understood as follows: The goal is to enable the target device to answer the question "Where am I?" The method is to observe environmental features using sensors (such as lidar / cameras) and match them with an existing map to determine its own pose (position + orientation). The dependency is that the map is required as a reference system (localization is impossible without a map). 2) Mapping can be understood as follows: The goal is to enable the target device to answer the question "What is the environment like?" The method is to fuse sensor data with localization results to construct a spatial model of the environment (such as a grid map or point cloud). The dependency is that the localization results are required to determine the coordinates of the observed data in the map (correct mapping is impossible without localization). It's important to note that mapping is a means to an end, while positioning is the goal. The ultimate goal is for the target device to know "where I am (positioning)." The map is merely a reference model for achieving positioning. SLAM operates continuously as the target device moves, correcting its positioning with newly acquired environmental scan data. The map is then updated based on the corrected positioning and environmental scan data. This solves the problem of autonomous positioning of target devices in unknown or dynamic environments.

[0068] When determining the degree of match between the environmental scan data and the map, the environmental scan data can be projected onto the map to obtain projection data of the environmental scan data on the map, and then the degree of match between the projection data and the map can be determined. In practical applications, the environmental scan data can be point cloud data, and thus the environmental scan data can include multiple scan point data. Therefore, the projection data includes the projection point data of each scan point data, and the map also includes multiple map point data. Based on this, for each projection point data, the map point data closest to the projection point data is determined. Then, based on the distance between the closest map point data and the projection point data, a single-point matching score for the projection point data is determined. The multiple single-point matching values ​​corresponding to the environmental scan data are averaged to obtain the aforementioned degree of match.

[0069] Step 102: Determine the location of the target device on the map.

[0070] For step 102, the location of the target device in the map is determined, that is, the location status of the target device in the map. The location is used to indicate: the target device is at the edge of the map, or the target device is not at the edge of the map. As an example, see Figure 8 ,like Figure 8As shown in (1), the target device is inside the map, that is, the target device is not at the edge of the map; Figure 8 As shown in (2), the target device is at the edge of the map.

[0071] In some embodiments, see Figure 4 , Figure 3 Step 102 shown, "Determining the position of the target device in the map," can be achieved by executing the following steps 1021-1023: Step 1021, obtaining the position information of the target device on the map, and converting the position information into map pixel coordinates on the map; Step 1022, when the map pixel coordinates indicate an obstacle in the map, determining that the target device is not at the edge of the map; Step 1023, when the map pixel coordinates indicate a non-obstacle in the map, starting from the map pixel coordinates, performing an obstacle search on the map, and determining the position of the target device in the map based on the obstacle search results.

[0072] For step 1021, first obtain the pose information of the target device on the map (i.e., p_map). This pose information can be represented by (x, y, θ), where x is the horizontal coordinate in the pose information (used to describe the horizontal coordinate position of the target device), y is the vertical coordinate in the pose information (used to describe the vertical coordinate position of the target device), and θ is the angle in the pose information (used to describe the orientation of the target device). The pose information is then converted into map pixel coordinates on the map (i.e., p_pixel).

[0073] In some embodiments, Figure 4 In step 1021 shown, "converting the posture information into map pixel coordinates on the map" can be achieved by performing the following steps: obtaining the map resolution, map size, horizontal coordinate of the map origin, and vertical coordinate of the map origin of the map; determining the horizontal coordinate of the map pixel based on the horizontal coordinate, map resolution and horizontal coordinate of the map origin included in the posture information; determining the vertical coordinate of the map pixel based on the vertical coordinate, map resolution, map size and vertical coordinate of the map origin included in the posture information; and combining the horizontal coordinate of the map pixel and the vertical coordinate of the map pixel to obtain the map pixel coordinate.

[0074] Here, first, the map resolution of the map (physical distance represented by each pixel (unit: meter / pixel), such as 0.05 meter / pixel) is acquired, which can be pre-set according to requirements before the map is created (such as 5*5). At the same time, the map size of the map is also acquired, which includes the height of the map (representing the number of rows of map pixels) and the width of the map (representing the number of columns of map pixels). At the same time, the origin coordinates of the map are also acquired, which include the horizontal coordinate of the map origin and the vertical coordinate of the map origin, and the origin coordinates of the map are the coordinates of the lower left corner of the map (such as a grid map or a probability map) in the world coordinate system. As can be seen from the above description, the pose information includes horizontal coordinates and vertical coordinates, so the horizontal coordinates and the vertical coordinates are converted to obtain the map pixel coordinates. Specifically, based on the horizontal coordinates included in the pose information, the map resolution, and the horizontal coordinate of the map origin, the first mapping relationship is combined to determine the map pixel horizontal coordinate. For example, the first mapping relationship can be: map pixel horizontal coordinate = (horizontal coordinate - map origin horizontal coordinate) / map resolution. Specifically, based on the vertical coordinates included in the pose information, the map resolution, the map size, and the vertical coordinate of the map origin, the second mapping relationship is combined to determine the map pixel vertical coordinate. For example, the second mapping relationship can be: map pixel vertical coordinate = (height of the map - 1) / 1 - (vertical coordinate - map origin vertical coordinate) / map resolution.

[0075] By applying the above embodiment, the continuous physical pose is discretized and mapped to the digital map by converting the pose information into the map pixel coordinates on the map, a unified spatial index reference is provided for subsequent processing, and the accuracy of subsequent processing is improved.

[0076] For step 1022, it is determined what the object indicated by the map pixel coordinates in the map is. Each pixel point in the map is provided with a corresponding identifier, which includes three kinds of obstacles, empty land, and unknown areas. In the case where the object indicated by the map pixel coordinates is an obstacle in the map (i.e., in the case where the map pixel coordinates indicate an obstacle in the map), it is determined that the target device is not at the edge of the map in the map, i.e., the target device is in the inside of the map in the map, as shown in (1) of FIG. 11. Figure 8

[0077] For step 1023, in the case where the object indicated by the map pixel coordinates is a non-obstacle in the map (including empty land and unknown areas) (i.e., in the case where the map pixel coordinates indicate a non-obstacle in the map), an obstacle search is performed on the map starting from the map pixel coordinates to obtain an obstacle search result, and then the position of the target device in the map is further determined according to the obstacle search result.

[0078] In some embodiments, Figure 4 ​In step 1023, “starting from the map pixel coordinates, performing obstacle search on the map” can be implemented by performing the following steps: starting from the map pixel coordinates, performing obstacle search along a first number of ray directions around the map pixel coordinates; based on this, Figure 4 In step 1023 shown, "determining the position of the target device in the map based on the obstacle search results" can be achieved by performing the following steps: when the ratio of the second number of ray directions representing the searched obstacles to the first number in the obstacle search results is greater than the ratio threshold, determining that the target device is not at the map edge of the map; when the ratio of the second number to the first number represented by the obstacle search results is less than or equal to the ratio threshold, determining that the target device is at the map edge of the map.

[0079] Here, first start from the map pixel coordinates, and search for obstacles along the first number of ray directions around the map pixel coordinates. The first number can be pre-set, such as 24, then the first number of ray directions include: starting from 0 degrees, one ray direction every 15 degrees, a total of 24 ray directions. The first number can be adjusted as needed and is not limited here. Starting from the map pixel coordinates, search for obstacles along each ray direction until a pixel point indicating an obstacle or a pixel point indicating an unknown area is found. If the searched pixel point exceeds the range of the image (i.e., the image corresponding to the map) and has not been searched, stop the search and consider that the result of this obstacle search is a search for an unknown area, but no obstacles. In actual applications, if Figure 8 As shown, starting from the map pixel coordinates, the obstacle search is performed forward along each ray direction, and the obstacle search along each ray direction can be implemented by using the Bresenham algorithm.

[0080] Continuing, determine the second number of ray directions that represent the search results for the obstacle, that is, when the obstacle is searched according to the ray direction, the ray direction can be recorded as the target ray direction. What is obtained here is the number of target ray directions, and the number of target ray directions is the second number. Then determine the ratio of the second number to the first number, that is: ratio = second number / first number. Then obtain the ratio threshold, which can be pre-set, for example, the ratio threshold can be 0.8. The ratio threshold can be adjusted as needed and is not limited here. When the ratio is greater than the ratio threshold, it is determined that the target device is not at the map edge of the map. When the ratio is less than or equal to the ratio threshold, it is determined that the target device is at the map edge of the map, such as Figure 8 As shown in (2).

[0081] By applying the above embodiment, by performing obstacle search in the first number of ray directions, it is determined whether the target device is at the edge of the map, thereby achieving rapid and accurate determination of the target device's position on the map, thereby improving the accuracy of subsequent processing and overall processing efficiency.

[0082] By applying the above steps 1021 to 1023, by converting the posture information into map pixel coordinates on the map, and determining whether the target device is at the edge of the map based on whether the map pixel coordinates indicate an obstacle on the map, the entire process is fast and accurate, thereby improving the accuracy of subsequent processing and overall processing efficiency.

[0083] Step 103: When the location representation target device is at the edge of the map, the map remains unchanged.

[0084] In step 103, if the target device is at the edge of the map, the map is not updated, i.e., the map remains unchanged. This prevents relocalization failures, cross-region positioning jumps, and map corruption caused by sudden environmental changes at the edge of the map, thereby improving the accuracy and robustness of mapping.

[0085] In some embodiments, see Figure 5 , when the position representation target device is at the edge of the map, the following steps 201-203 can also be performed: Step 201, with the target device as the center, determine the search area of ​​the target size in the map, and the target size is less than the size threshold; Step 202, extract the target environment scan data corresponding to the search area from the environment scan data, and align the target environment scan data with the search area to obtain the posture adjustment amount and the alignment result; Step 203, when the alignment result indicates that the alignment is successful, use the posture adjustment amount to update the current posture information of the target device to obtain the target posture information.

[0086] In step 201, "centered on the target device" means centered on the location of the target device in the map. Based on this, a search area of ​​a target size is determined in the map, centered on the location of the target device in the map. The target size is less than a size threshold. The size threshold can be pre-set and can be adjusted as needed. For example, if the search area is a circle centered on the target device, the target size can be the radius of the circle, such as 1 meter. For example, if the search area is a square centered on the target device, the target size can be the side length of the square, such as 1.5 meters. For example, since the target device is at the edge of the map, the subsequent location to which the target device is to move may be an unknown area. Therefore, the size threshold needs to be set relatively small. The smaller the size threshold, the higher the accuracy of the subsequent positioning processing. For example, the size threshold can be 2 meters. In this way, the map registration processing can be activated only for search ranges less than the size threshold (i.e., small ranges), and the map registration processing can be deactivated for search ranges greater than or equal to the size threshold (i.e., large ranges). This avoids erroneous positioning in unknown areas, which may cause map confusion due to erroneous positioning to a neighboring or adjacent similar area, thereby improving the positioning accuracy of the target device during movement.

[0087] In practical applications, the search area should include explored high-confidence obstacles (such as black walls) as matching benchmarks, exclude open spaces (white) and unknown areas (gray), and exclude dynamic objects (such as temporarily placed chairs). This can avoid interference from incomplete maps in edge areas.

[0088] In step 202, the target environment scan data corresponding to the search area is extracted from the environment scan data, thereby aligning the target environment scan data with the search area to obtain a pose adjustment amount and a registration result. It should be noted that the registration process can be implemented using an iterative closest point algorithm (ICP) or a correlative scan matching algorithm (CSM). The registration process is used to determine a pose adjustment amount, and the new pose information obtained by adjusting the current pose information by the pose adjustment amount is used to minimize the matching error between the target environment scan data and the search area (i.e., the overlap between the target environment scan data and the search area is the highest). The registration result is determined by the matching score between the target environment scan data and the search area. The matching score is used to indicate the overlap between the target environment scan data and the search area. The higher the overlap between the target environment scan data and the search area, the higher the matching score. When the matching score is greater than the score threshold, the registration result is determined to be a successful configuration of the target environment scan data and the search area; when the matching score is less than or equal to the score threshold, the registration result is determined to be a failed configuration of the target environment scan data and the search area.

[0089] In step 203, if the registration result indicates that the registration is successful, the posture adjustment amount is used to update the current posture information of the target device to obtain the target posture information. In practical applications, the posture adjustment amount can be a matrix, where target posture information = current posture information * posture adjustment amount.

[0090] If the registration result indicates a registration failure, the target device has failed to locate. In this case, the target device can be rotated by a set angle (e.g., 15 degrees), and then the process returns to step 201, executing steps 201 through 203 again. In practical applications, a threshold for the number of repetitions of steps 201 through 203 can be set, such as three. If registration still fails, the target device can be controlled to slowly advance (e.g., at a speed of less than 0.1 m / s) to explore.

[0091] Applying the above steps 201 to 203, when the target device is at the edge of the map, only the posture is relocated without updating the map, and the posture relocation is achieved by performing map registration on the search area of ​​the target size that is smaller than the set size threshold. In this way, only the map registration processing with a search range smaller than the size threshold (i.e., a small range) can be started, and the map registration processing with a search range greater than or equal to the size threshold (i.e., a large range) is not started, thereby avoiding the possibility of erroneous positioning and jumping to the next door or adjacent similar area when positioning in an unknown area, causing map confusion, and improving the positioning accuracy of the target device during movement.

[0092] Step 104: When the position representation target device is not at the edge of the map, the map is updated based on the matching degree and the environment scanning data to obtain a target map.

[0093] In step 104 , if the position representation target device is not at the edge of the map, whether to update the map is determined based on the matching degree and the environment scanning data. If it is determined that the map should be updated, the map is updated to obtain the target map.

[0094] In some embodiments, Figure 3 In step 104 shown, "updating the map based on the matching degree and the environment scan data to obtain the target map" can be achieved by performing the following steps: when the matching degree is greater than the matching degree threshold, updating the map based on the environment scan data to obtain the target map; based on this, the following steps can also be performed: when the matching degree is less than or equal to the matching degree threshold, keeping the map unchanged.

[0095] Here, we first determine whether the degree of match exceeds a matching threshold. If so, the map is updated based on the environment scan data to obtain the target map. If the degree of match is less than or equal to the matching threshold, the map remains unchanged. The matching threshold can be pre-set and can be adjusted as needed, and is not limited here.

[0096] By applying the above embodiment, by updating the map when the matching degree is greater than the matching degree threshold, it is possible to reduce map confusion caused by inaccurate positioning and map updating due to reasons such as wheel slippage and bumps, thereby improving the accuracy of map processing and reducing map construction errors.

[0097] In some embodiments, see Figure 6 "Updating the map based on the environment scanning data to obtain the target map" can be achieved by executing the following steps 301-304: Step 301, obtaining the first initial pose information of the target device; Step 302, aligning the environment scanning data with the map to obtain the first pose adjustment amount; Step 303, using the first pose adjustment amount to adjust the first initial pose information to obtain the first target pose information of the target device; Step 304, based on the first target pose information, integrating the environment scanning data into the map to obtain the target map.

[0098] For step 301 , first initial posture information of the target device is obtained. The first initial posture information is the current posture information of the target device, that is, the posture information obtained by last updating the posture information.

[0099] In step 302, the environment scan data is aligned with the map to obtain a first pose adjustment. It should be noted that the alignment process can be implemented using an iterative closest point (ICP) algorithm or a correlative scan matching (CSM) algorithm. The alignment process is used to determine a first pose adjustment, and the new pose information obtained by adjusting the current pose information with the first pose adjustment is obtained so that the matching error between the environment scan data and the map is minimized (i.e., the overlap between the environment scan data and the map is maximized).

[0100] In step 303, the first initial pose information is adjusted using the first pose adjustment variable to obtain first target pose information of the target device. In practical applications, the first pose adjustment variable can be a matrix: first target pose information = first initial pose information * first pose adjustment variable. This first target pose information is the updated pose information.

[0101] In step 304, after obtaining the updated pose information, i.e., the first target pose information, the environment scan data is integrated into the map based on the first target pose information to obtain the target map. Specifically, the coordinate position of the environment scan data in the map is determined based on the first target pose information. The coordinate system of the environment scan data is then converted to the coordinate system of the map to obtain the converted environment scan data. The converted environment scan data is then integrated into the map according to the coordinate position to obtain the target map. In this way, the map is updated.

[0102] By applying the above embodiment, the map is updated through posture update, and the map is updated when the matching degree is greater than the matching degree threshold. This can reduce map confusion caused by inaccurate positioning and map updating due to reasons such as wheel slippage and bumps, thereby improving the accuracy of map processing and reducing map construction errors.

[0103] In some embodiments, when the degree of matching is less than or equal to a matching threshold, the following steps may also be performed: obtaining the second initial posture information of the target device; aligning the environmental scanning data with the map to obtain a second posture adjustment amount; and using the second posture adjustment amount to adjust the second initial posture information to obtain the second target posture information of the target device.

[0104] Here, when the matching degree is less than or equal to the matching degree threshold, only the posture is updated without updating the map. Specifically, first obtain the second initial posture information of the target device. The second initial posture information is the current posture information of the target device, that is, the posture information obtained by the last update of the posture information. Then align the environmental scan data with the map to obtain a second posture adjustment. It should be noted that the alignment process can be implemented using the Iterative Closest Point (ICP) algorithm and the Correlative Scan Matching (CSM) algorithm. The alignment process is used to determine a second posture adjustment value, and the new posture information obtained by adjusting the current posture information with the second posture adjustment value is minimized (that is, the overlap between the environmental scan data and the map is the highest). Finally, the second posture adjustment value is used to adjust the second initial posture information to obtain the second target posture information of the target device. In practical applications, the second posture adjustment value can be a matrix, and the second target posture information = second initial posture information * second posture adjustment value. The second target posture information is the updated posture information.

[0105] Applying the above embodiment, when the matching degree is less than or equal to the matching degree threshold, only the pose is updated without updating the map. This can reduce map errors caused by inaccurate positioning and map updates due to factors such as wheel slippage and bumps, thereby improving map processing accuracy and reducing mapping errors.

[0106] Applying the above embodiment of the present application, first obtain the environmental scan data of the environment in which the target device is located, and determine the matching degree between the environmental scan data and the map, and then determine the position of the target device in the map, so that when the position characterizes that the target device is at the edge of the map, the map remains unchanged, and when the position characterizes that the target device is not at the edge of the map, the map is updated based on the matching degree and the environmental scan data to obtain the target map. In this way, the map is constructed according to whether the target device is at the edge of the map and the matching degree, and 1) when the target device is at the edge of the map, the map remains unchanged, that is, the map is not updated, which can suppress the problem of map confusion caused by sudden changes in the environment at the edge of the map construction, thereby improving the accuracy of the obtained map; 2) when the target device is not at the edge of the map, the map is updated based on both the matching degree and the environmental scan data, thereby reducing the problem of map update confusion caused by inaccurate positioning due to the matching degree between the environmental scan data and the map, thereby improving the accuracy of the obtained map.

[0107] The following continues to describe the exemplary structure of the map processing device 555 provided in the embodiment of the present application as a software module. In some embodiments, such as Figure 2 As shown, the software modules stored in the map processing device 555 of the memory 550 may include: a first determination module 5551, used to obtain environmental scanning data of the environment in which the target device is located, and determine the matching degree between the environmental scanning data and the map, and the map is used to assist the target device in moving; a second determination module 5552, used to determine the position of the target device in the map; a first map processing module 5553, used to keep the map unchanged when the position indicates that the target device is at the edge of the map; a second map processing module 5554, used to update the map based on the matching degree and the environmental scanning data to obtain a target map when the position indicates that the target device is not at the edge of the map.

[0108] In some embodiments, the second determination module 5552 is further used to obtain the position information of the target device on the map and convert the position information into map pixel coordinates on the map; when the map pixel coordinates indicate an obstacle in the map, determine that the target device is not at the edge of the map; when the map pixel coordinates indicate a non-obstacle in the map, start from the map pixel coordinates, search for obstacles on the map, and determine the position of the target device in the map based on the obstacle search results.

[0109] In some embodiments, the second determination module 5552 is further used to perform obstacle search along a first number of ray directions around the map pixel coordinates, starting from the map pixel coordinates; the second determination module 5552 is further used to determine that the target device is not at the map edge of the map when the obstacle search result indicates that the ratio of the second number of ray directions in which obstacles are searched to the first number is greater than a ratio threshold; and to determine that the target device is at the map edge of the map when the obstacle search result indicates that the ratio of the second number to the first number is less than or equal to the ratio threshold.

[0110] In some embodiments, the second determination module 5552 is further used to obtain the map resolution, map size, horizontal coordinate of the map origin, and vertical coordinate of the map origin of the map; determine the horizontal coordinate of the map pixel based on the horizontal coordinate included in the posture information, the map resolution and the horizontal coordinate of the map origin; determine the vertical coordinate of the map pixel based on the vertical coordinate included in the posture information, the map resolution, the map size and the vertical coordinate of the map origin; combine the map pixel horizontal coordinate and the map pixel vertical coordinate to obtain the map pixel coordinate.

[0111] In some embodiments, the second map processing module 5554 is further used to update the map based on the environment scanning data to obtain the target map when the matching degree is greater than the matching degree threshold; the second map processing module 5554 is further used to keep the map unchanged when the matching degree is less than or equal to the matching degree threshold.

[0112] In some embodiments, the second map processing module 5554 is also used to obtain a first initial posture information of the target device; align the environmental scanning data with the map to obtain a first posture adjustment amount; use the first posture adjustment amount to adjust the first initial posture information to obtain a first target posture information of the target device; based on the first target posture information, integrate the environmental scanning data into the map to obtain the target map.

[0113] In some embodiments, when the matching degree is less than or equal to the matching degree threshold, the second map processing module 5554 is further configured to acquire second initial pose information of the target device; register the environment scan data and the map to obtain a second pose adjustment amount; and adjust the second initial pose information by using the second pose adjustment amount to obtain second target pose information of the target device.

[0114] In some embodiments, when the position indicates that the target device is at a map edge of the map, the first map processing module 5553 is further configured to determine a target size search area in the map with the target device as the center, the target size being less than a size threshold; extract target environment scan data corresponding to the search area from the environment scan data, and register the target environment scan data and the search area to obtain a pose adjustment amount and a registration result; and when the registration result indicates that registration is successful, update the current pose information of the target device by using the pose adjustment amount to obtain target pose information.

[0115] It should be noted that the description of the device embodiments in the present application is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments, which will not be described here. For technical details not described in the map processing device provided by the embodiments of the present application, the description of the technical details in the above method embodiments can be understood.

[0116] The embodiments of the present application also provide a computer program product, which includes computer executable instructions or computer programs stored in a computer readable storage medium. The processor of the electronic device reads the computer executable instructions or computer programs from the computer readable storage medium, and the processor executes the computer executable instructions or computer programs, so that the electronic device executes the map processing method provided by the embodiments of the present application.

[0117] The embodiments of the present application also provide a computer readable storage medium, which stores computer executable instructions or computer programs. When the computer executable instructions or computer programs are executed by the processor, the processor will execute the map processing method provided by the embodiments of the present application.

[0118] In some embodiments, the computer readable storage medium can be RAM, ROM, flash memory, magnetic surface memory, optical disc, or CD-ROM memory; or various devices including one or any combination of the above storage.

[0119] In some embodiments, computer-executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0120] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or code portions).

[0121] By way of example, computer-executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed across multiple sites and interconnected by a communication network.

[0122] The above description is merely an embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, and improvements made within the spirit and scope of the present application are included in the scope of protection of the present application.

Claims

1. A map processing method, characterized in that: The method comprises: Obtaining environmental scan data of an environment in which a target device is located, and determining a degree of match between the environmental scan data and a map, wherein the map is used to assist the target device in moving; Determining a location of the target device in the map; When the position representation indicates that the target device is at an edge of the map, keeping the map unchanged; In a case where the position indicates that the target device is not at the edge of the map, the map is updated based on the matching degree and the environment scanning data to obtain a target map.

2. The method according to claim 1, wherein Determining the location of the target device in the map includes: Acquire position information of the target device on the map, and convert the position information into map pixel coordinates on the map; In a case where the map pixel coordinates indicate an obstacle in the map, determining that the target device is not at a map edge of the map; In a case where the map pixel coordinates indicate a non-obstacle in the map, an obstacle search is performed on the map starting from the map pixel coordinates, and a position of the target device in the map is determined based on the obstacle search results.

3. The method according to claim 2, wherein The step of performing obstacle search on the map starting from the map pixel coordinates includes: Starting from the map pixel coordinate, performing obstacle search along a first number of ray directions around the map pixel coordinate; The determining the location of the target device in the map based on the obstacle search result includes: If a ratio of a second number of ray directions representing searched obstacles to the first number of ray directions in the obstacle search results is greater than a ratio threshold, determining that the target device is not at a map edge of the map; If the obstacle search result indicates that the ratio of the second number to the first number is less than or equal to the ratio threshold, it is determined that the target device is located at the edge of the map.

4. The method according to claim 2, wherein The converting the position information into map pixel coordinates on the map includes: Obtaining a map resolution, a map size, a horizontal coordinate of a map origin, and a vertical coordinate of a map origin of the map; Determining the horizontal coordinate of a map pixel based on the horizontal coordinate included in the posture information, the map resolution, and the horizontal coordinate of the map origin; Determining a map pixel ordinate based on the ordinate included in the pose information, the map resolution, the map size, and the map origin ordinate; The map pixel horizontal coordinate and the map pixel vertical coordinate are combined to obtain the map pixel coordinate.

5. The method according to claim 1, wherein The updating of the map based on the matching degree and the environment scanning data to obtain a target map includes: When the matching degree is greater than a matching degree threshold, updating the map based on the environment scanning data to obtain the target map; The method further comprises: When the matching degree is less than or equal to the matching degree threshold, the map is kept unchanged.

6. The method according to claim 5, wherein The updating of the map based on the environment scanning data to obtain the target map includes: Acquiring first initial posture information of the target device; Registering the environment scan data with the map to obtain a first pose adjustment variable; Using the first posture adjustment amount, adjusting the first initial posture information to obtain first target posture information of the target device; Based on the first target pose information, the environment scan data is integrated into the map to obtain the target map.

7. The method according to claim 5, wherein When the matching degree is less than or equal to the matching degree threshold, the method further includes: Acquiring second initial posture information of the target device; Registering the environment scan data with the map to obtain a second posture adjustment value; The second initial posture information is adjusted using the second posture adjustment amount to obtain second target posture information of the target device.

8. The method according to claim 1, wherein In a case where the location representation indicates that the target device is located at a map edge of the map, the method further includes: Determining a search area of ​​a target size in the map with the target device as the center, the target size being smaller than a size threshold; Extracting target environment scan data corresponding to the search area from the environment scan data, and registering the target environment scan data with the search area to obtain a posture adjustment amount and a registration result; When the registration result indicates that the registration is successful, the posture adjustment amount is used to update the current posture information of the target device to obtain target posture information.

9. A map processing device, characterized in that: The device comprises: A first determination module is configured to obtain environmental scan data of an environment in which a target device is located, and determine a degree of matching between the environmental scan data and a map, wherein the map is configured to assist the target device in moving; A second determining module is used to determine the location of the target device in the map; a first map processing module, configured to keep the map unchanged when the position representation indicates that the target device is at an edge of the map; The second map processing module is configured to update the map based on the matching degree and the environment scanning data to obtain a target map when the location representation indicates that the target device is not at the edge of the map.

10. An electronic device, characterized in that: The electronic device comprises: a memory for storing computer-executable instructions; The processor is configured to implement the map processing method according to any one of claims 1 to 8 when executing the computer executable instructions stored in the memory.

11. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer program are executed by a processor, the map processing method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Electronic map generation method and device, terminal and storage medium

    CN110954114A

  • Electronic map processing method and device, electronic equipment and storage medium

    CN114550131A

  • Method and device for updating map and storage medium

    CN117168432A

  • Map updating method and apparatus, and autonomous moving apparatus and storage medium

    WO2025050384A1