Map processing method and device, equipment and storage medium

By acquiring environmental scan data and map matching accuracy from autonomous mobile devices, the location is determined and the map is updated, solving the problem of inaccurate mapping caused by large environmental changes and improving the accuracy and stability of the map.

CN120760701BActive Publication Date: 2026-11-06UBTECH ROBOTICS CORP LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510944397.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-08
Publication Date
2026-11-06
Estimated Expiration
2045-07-08

AI Technical Summary

Technical Problem

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

Method used

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

Benefits of technology

It improves map accuracy, suppresses map edge distortion caused by sudden environmental changes, reduces distortion caused by inaccurate positioning, and enhances map stability and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120760701B_ABST
    Figure CN120760701B_ABST
Patent Text Reader

Abstract

The application provides a map processing method and device, equipment and a storage medium. The method comprises: obtaining environment scanning data of an environment in which a target device is located, and determining a matching degree between the environment scanning data and a map, the map being used to assist the target device to move; determining a position of the target device in the map; in a case where the position indicates that the target device is at a map edge of the map, keeping the map unchanged; in a case where the position indicates that the target device is not 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. Through the application, the accuracy of the map can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In the mapping process for autonomous mobile devices (such as robots), relevant technologies use LiDAR data to build maps, and then use the matching between LiDAR data and the map for localization, continuously updating the map based on the localization. This process is called real-time localization and mapping (RTM). However, during autonomous movement, devices may traverse areas with significant environmental changes (such as entering a new area from the edge of the map). These significant environmental changes often lead to a substantial decrease in the matching value between LiDAR data and the map, severely affecting the accuracy and stability of the mapping. Summary of the Invention

[0003] This application provides a map processing method, apparatus, electronic device, computer-readable storage medium, and computer program product that can improve map accuracy.

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

[0005] This application provides a map processing method, including:

[0006] The system acquires environmental scanning data of the environment in which the target device is located, and determines the degree of matching between the environmental scanning data and the map, which is used to assist the target device in moving.

[0007] Determine the location of the target device on the map;

[0008] The map remains unchanged when the location indicates that the target device is at the edge of the map.

[0009] If the location indicates 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.

[0010] This application also provides a map processing apparatus, including:

[0011] The first determining module is used to acquire environmental scanning data of the environment where the target device is located, and to determine the matching degree between the environmental scanning data and the map, wherein the map is used to assist the target device in moving.

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

[0013] The first map processing module is configured to keep the map unchanged when the location indicates that the target device is at the edge of the map.

[0014] The second map processing module is used to update the map based on the matching degree and the environmental scan data when the location indicates that the target device is not at the edge of the map, thereby obtaining a target map.

[0015] In the above scheme, the second determining module is further configured to acquire the pose information of the target device on the map and convert the pose information into map pixel coordinates on the map; if the map pixel coordinates indicate an obstacle in the map, determine that the target device is not at the edge of the map; if the map pixel coordinates indicate a non-obstacle in the map, start from the map pixel coordinates to 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 determining module is further configured to perform obstacle search along a first number of ray directions around the map pixel coordinates, starting from the map pixel coordinates; the second determining module is further configured to determine that the target device is not at the edge of the map if the ratio of the second number of ray directions representing the obstacles found in the obstacle search results to the first number is greater than a ratio threshold; and to determine that the target device is at the edge of the map if the ratio of the second number to the first number representing the obstacle search results is less than or equal to the ratio threshold.

[0017] In the above scheme, the second determining module is further configured to obtain the map resolution, map size, map origin x-coordinate, and map origin y-coordinate of the map; determine the map pixel x-coordinate based on the x-coordinate included in the pose information, the map resolution, and the map origin x-coordinate; determine the map pixel y-coordinate based on the y-coordinate included in the pose information, the map resolution, the map size, and the map origin y-coordinate; and combine the map pixel x-coordinate and the map pixel y-coordinate to obtain the map pixel coordinates.

[0018] In the above scheme, the second map processing module is further configured to update the map based on the environmental scanning data to obtain the target map when the matching degree is greater than the matching degree threshold; the second map processing module is further configured 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 further configured to acquire the first initial pose information of the target device; register the environmental scanning data with the map to obtain a first pose adjustment amount; adjust the first initial pose information using the first pose adjustment amount to obtain the first target pose information of the target device; and integrate the environmental scanning data into the map based on the first target pose information 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 further configured to obtain the second initial pose information of the target device; register the environmental scanning data with the map to obtain the second pose adjustment amount; and use the second pose adjustment amount to adjust the second initial pose information to obtain the second target pose information of the target device.

[0021] In the above scheme, when the location indicates that the target device is at the edge of the map, the first map processing module is further configured to determine a search area for the target size in the map with the target device as the center, wherein the target size is less than a size threshold; extract the target environment scan data corresponding to the search area from the environment scan data, and register the target environment scan data with the search area to obtain a pose adjustment amount and a registration result; if the registration result indicates that the registration is successful, use the pose adjustment amount to update the current pose information of the target device to obtain the target pose information.

[0022] This application also provides an electronic device, including:

[0023] Memory is used to store executable instructions for a computer;

[0024] The processor is configured to execute computer-executable instructions stored in the memory to implement the map processing method provided in the embodiments of this application.

[0025] This application also provides a computer-readable storage medium storing computer-executable instructions or computer programs, which, when executed by a processor, implement the map processing method provided in this application.

[0026] This application also provides a computer program product, including computer-executable instructions or a computer program, which, when executed by a processor, implements the map processing method provided in this application.

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

[0028] Applying the above embodiments of this application, environmental scanning data of the target device's environment is first obtained, and the matching degree between the environmental scanning data and the map is determined. Then, the location of the target device on the map is determined. If the location indicates that the target device is at the edge of the map, the map remains unchanged. If the location indicates that the target device is not at the edge of the map, the map is updated based on the matching degree and the environmental scanning data to obtain the target map. Thus, the map is constructed based on whether the target device is at the edge of the map and the matching degree. 1) If the target device is at the edge of the map, keeping the map unchanged (i.e., not updating the map) can suppress map errors caused by sudden environmental changes at the map edge, improving the accuracy of the obtained map. 2) If the target device is not at the edge of the map, both the matching degree and the environmental scanning data are combined to update the map. This can reduce map update errors caused by inaccurate positioning due to the matching degree between the environmental scanning data and the map, improving the accuracy of the obtained map. Attached Figure Description

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

[0030] Figure 2 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;

[0031] Figure 3 This is a first flowchart illustrating the map processing method provided in this application embodiment;

[0032] Figure 4 This is a schematic diagram of the second process of the map processing method provided in the embodiments of this application;

[0033] Figure 5 This is a schematic diagram of the third process of the map processing method provided in the embodiments of this application;

[0034] Figure 6 This is a schematic diagram of the fourth process of the map processing method provided in the embodiments of this application;

[0035] Figure 7 This is a first schematic diagram of the map provided in the embodiments of this application;

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

[0037] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation

[0038] To make the objectives, 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 limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0039] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is 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" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0041] In this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of a larger module or unit that includes the functionality of the module or unit.

[0042] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.

[0043] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0044] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0045] 1) Pose Information: This refers to the position and orientation (or facing) of the target device. Position represents the coordinates of the target device's center or reference point in three-dimensional space. Typically, three real numbers are used to represent the three-dimensional coordinates of a point, corresponding to distances along the X, Y, and Z axes, respectively. In three-dimensional space, the position of a target device can be precisely located using a three-dimensional coordinate system. Orientation represents the target device's orientation or attitude in three-dimensional space. Methods for describing orientation include rotation matrices, Euler angles, and quaternions. The pose information of the target device on a map can include its position and orientation. The position can be described using two-dimensional coordinates (x, y), and the orientation can be represented using Euler angles, etc.

[0046] 2) Point cloud: A collection of numerous points, each containing three basic coordinate values ​​(X, Y, Z) representing its position in three-dimensional space. In addition, points in a point cloud can also contain other attribute information, such as color values ​​(RGB) and reflectance intensity. Point cloud data is typically 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, thus generating point cloud data. b) Depth camera: Such as Kinect and RealSense, which use infrared light or structured light technology to acquire depth information and generate point clouds. c) Stereo vision: By capturing images of the same scene from different perspectives using binocular or multi-view cameras, depth information is calculated using the parallax principle to generate point clouds. d) 3D scanner: A device specifically designed for high-precision scanning of the surface of three-dimensional objects, generating high-density point clouds.

[0047] 3) Simultaneous Localization and Mapping (SLAM) technology is a core technology that enables target devices to locate themselves in unknown environments and build environmental maps in real time using sensors. Its core principle is to simultaneously estimate the target device's own trajectory and environmental feature coordinates by fusing measurement data from sensors (such as LiDAR, cameras, and millimeter-wave radar).

[0048] This application provides a map processing method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can improve map accuracy. The following is a detailed description of the embodiments of this application based on the foregoing explanation of the terms and concepts used.

[0049] The following describes the map processing system provided in the embodiments of this application. See also Figure 1 , Figure 1This is a schematic diagram of the architecture of the map processing system provided in this application embodiment. To support an exemplary application, the map processing system 100 includes: a server 200, a network 300, and a terminal 400. The terminal 400 is connected to the server 200 via the network 300, which can be a wide area network (WAN), a local area network (LAN), or a combination of both, using wireless or wired links for data transmission.

[0050] Here, terminal 400 acquires 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 server 200; server 200 receives the environmental scan data sent by terminal 400; determines the matching degree between the environmental scan data and the map, which is used to assist the target device in moving; determines the position of the target device on the map; if the position indicates that the target device is at the edge of the map, the map remains unchanged; if 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 environmental scan data to obtain the target map. Here, 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 this application embodiment is implemented by an electronic device. For example, it can be implemented by a terminal alone, by a server alone, or by a terminal and a server working together. The electronic device implementing the map processing method provided in this application embodiment can be various types of terminals or servers. The server (e.g., server 200) can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The terminal (e.g., terminal 400) can be a laptop, tablet, desktop computer, smartphone, vehicle terminal, aircraft, robot, autonomous vehicle, drone, autonomous underwater vehicle, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, and this application embodiment does not impose any restrictions on this.

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

[0053] The following describes an electronic device implementing the map processing method provided in an embodiment of this application. See also... Figure 2 , Figure 2 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device 500 provided in this embodiment can be a terminal or a server. Figure 2 As shown, electronic device 500 includes at least one processor 510, memory 550, at least one network interface 520, and user interface 530. The various components in electronic device 500 are coupled together via a bus system 540. It is understood that the bus system 540 is used to implement communication between these 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 clarity, in… Figure 2 The general labeled all buses as Bus System 540.

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

[0055] 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 displays. User interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

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

[0057] In some embodiments, memory 550 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

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

[0059] The network communication module 552 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.

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

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

[0062] In some embodiments, the map processing apparatus provided in this application can be implemented in software. Figure 2 A map processing device 555 stored in memory 550 is shown. It may be software in the form of programs and plug-ins, including the following software modules: a first determining module 5551, a second determining module 5552, a first map processing module 5553, and a second map processing module 5554. These modules are logically related and can therefore be arbitrarily combined or further divided according to the functions they implement. The functions of each module will be described below.

[0063] The following describes the map processing method provided in the embodiments of this application. As mentioned above, the map processing method provided in the embodiments of this application is implemented by an electronic device, such as a server or terminal alone, or a server and terminal working together. Therefore, the executing entity of each step will not be described again below. See Figure 3 , Figure 3 This is a flowchart illustrating the map processing method provided in this application embodiment. The map processing method provided in this application embodiment includes:

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

[0065] The map is used to assist the target device in moving.

[0066] For step 101, environmental scanning data of the environment in which the target device is located is obtained. The target device can be a robot, an autonomous vehicle, or other autonomously moving device. The terminal executing this embodiment of the application can be the target device itself. The environmental scanning data can be point cloud data collected by sensors (such as LiDAR devices), that is, scanning the activity environment in which the target device is located to obtain the environmental scanning data. Each data point included in the environmental scanning data can be three-dimensional data, and each map point data is three-dimensional data in the world coordinate system.

[0067] For step 101, the matching degree between the environmental scan data and the map can also be determined. This map is based on Simultaneous Localization and Mapping (SLAM) technology and is constructed during the movement of the target device. It can be in raster or probabilistic map format, etc. Each pixel in the map is assigned a corresponding label, including three types: obstacles, empty ground, and unknown areas. Figure 7As shown, pixels representing obstacles on the map are displayed in black, pixels representing empty areas are displayed in white, and pixels representing unknown areas are displayed in gray. The core function of SLAM is to simultaneously solve the two interdependent problems of localization and mapping. These two processes interact in real-time to form a closed loop, 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: Goal: To get the target device to answer "Where am I?"; Method: Observe environmental features through sensors (such as LiDAR / camera) and match them with existing maps to obtain its own pose (position + orientation); Dependency: Requires a map as a reference frame (without a map, localization is impossible). 2) Mapping can be understood as follows: Goal: To get the target device to answer "What is the environment like?"; Method: Fuse sensor data and localization results to construct a spatial model of the environment (such as a raster map or point cloud). Dependency: Requires localization results to determine the coordinates of the observed data on the map (without localization, correct mapping is impossible). It's important to note that mapping is the means, while localization is the goal. The ultimate objective is for the target device to know "where I am (location)." The map is merely a reference model for achieving localization. SLAM continuously runs as the target device moves, using newly acquired environmental scan data to correct its localization. The map is then updated based on the corrected localization and environmental scan data, thus addressing the problem of autonomous localization for target devices in unknown or dynamic environments.

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

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

[0070] Step 102 determines the target device's location on the map, i.e., its positional status within the map. This location indicates whether the target device is at a map edge or not. See also: Figure 8 ,like Figure 8As shown in (1), the target device is located inside the map, meaning it is not located at the edge of the map; Figure 8 As shown in (2), the target device is located at the edge of the map.

[0071] In some embodiments, see Figure 4 , Figure 3 The step 102 "determining the location of the target device on the map" shown can be achieved by performing the following steps 1021-1023: Step 1021, obtain the pose information of the target device on the map and convert the pose information into map pixel coordinates on the map; Step 1022, if the map pixel coordinates indicate obstacles in the map, determine that the target device is not at the edge of the map; Step 1023, if the map pixel coordinates indicate non-obstacles in the map, start from the map pixel coordinates, perform an obstacle search on the map, and determine the location of the target device on the map based on the obstacle search results.

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

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

[0074] Here, we first obtain the map resolution (the physical distance represented by each pixel (unit: meters / pixel), e.g., 0.05 meters / pixel). This resolution can be preset according to requirements before map creation (e.g., 5x5). We also obtain the map dimensions, which include the map's height (representing the number of rows of pixels) and width (representing the number of columns of pixels). Furthermore, we obtain the map's origin coordinates, including the x-coordinate and y-coordinate. The origin coordinates are the coordinates of the bottom left corner of the map (such as a raster map or probabilistic map) in the world coordinate system. As described above, pose information includes x-coordinates and y-coordinates. Therefore, we convert the x-coordinates and y-coordinates respectively to obtain the map pixel coordinates. Specifically, based on the x-coordinate, map resolution, and map origin x-coordinate included in the pose information, combined with the first mapping relationship, we determine the map pixel x-coordinate. For example, this first mapping relationship can be: Map pixel x-coordinate = (x-coordinate - map origin x-coordinate) / map resolution. Specifically, based on the pose information including the ordinate, map resolution, map size, and map origin ordinate, and combined with the second mapping relationship, the map pixel ordinate is determined. For example, the second mapping relationship can be: map pixel ordinate = (map height - 1) / 1 - (ordinate - map origin ordinate) / map resolution.

[0075] By applying the above embodiments, the pose information is converted into map pixel coordinates on the map, thereby discretizing and mapping the continuous physical poses onto the digital map. This provides a unified spatial index reference for subsequent processing and improves the accuracy of subsequent processing.

[0076] For step 1022, determine what object the map pixel coordinates indicate on the map. Each pixel in the map is assigned a corresponding identifier, which includes three types: obstacle, empty space, and unknown area. If the object indicated by the map pixel coordinates is an obstacle on the map (i.e., the map pixel coordinates indicate an obstacle on the map), then it is determined that the target device is not on the edge of the map, meaning the target device is inside the map. Figure 8 As shown in (1).

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

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

[0079] Here, the search for obstacles begins at the map pixel coordinates and proceeds along a first set of ray directions surrounding those coordinates. This first set of ray directions can be preset, such as 24. These ray directions would then consist of 24 ray directions, starting from 0 degrees and extending every 15 degrees. This first set of ray directions can be adjusted as needed and is not limited here. Starting from the map pixel coordinates, the search continues forward along each ray direction until a pixel indicating an obstacle or an unknown area is found. If a pixel is found outside the image (i.e., the image corresponding to the map) and no obstacle is found, the search stops, and the search result is considered to have found an unknown area but no obstacle. In practical applications, such as... Figure 8 As shown, starting from the map pixel coordinates, the obstacle search proceeds forward along each ray direction, and the Bresenham algorithm can be used to perform the obstacle search along each ray direction.

[0080] Continuing, determine the second number of obstacle search results representing the ray directions of the found obstacles. That is, when an obstacle is found according to a ray direction, this ray direction can be recorded as the target ray direction. Here, we obtain the number of target ray directions, which is the second number. Then, determine the ratio of the second number to the first number: Ratio = Second Number / First Number. Then, obtain a ratio threshold, which can be preset, for example, 0.8. This ratio threshold can be adjusted as needed and is not limited here. If the ratio is greater than the ratio threshold, it is determined that the target device is not on the map edge. If the ratio is less than or equal to the ratio threshold, it is determined that the target device is on the map edge. Figure 8 As shown in (2).

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

[0082] By applying steps 1021-1023 above, the pose information is converted into map pixel coordinates on the map, and the determination of whether the target device is on the edge of the map is realized based on whether the map pixel coordinates indicate obstacles on the map. The whole process is fast and accurate, improving the accuracy of subsequent processing and the overall processing efficiency.

[0083] Step 103: If the location representation target device is located at the edge of the map, keep the map unchanged.

[0084] For step 103, if the location representation target device is located at the edge of the map, the map is not updated, i.e., the map remains unchanged. Thus, by not updating the map when the target device is at the map edge, problems such as relocation failures, cross-regional location jumps, and map distortion caused by sudden environmental changes at the map edge can be suppressed, improving the accuracy and robustness of mapping.

[0085] In some embodiments, see Figure 5 If the target device is located at the edge of the map, the following steps 201-203 can be performed: Step 201: Determine the search area for the target size in the map, centered on the target device, where the target size is less than a size threshold; Step 202: Extract the target environment scan data corresponding to the search area from the environment scan data, and register the target environment scan data with the search area to obtain the pose adjustment amount and the registration result; Step 203: If the registration result indicates successful registration, update the current pose information of the target device using the pose adjustment amount to obtain the target pose information.

[0086] For step 201, "centered on the target device" means centered on the target device's location on the map. Based on this, a search area for the target size is determined on the map, centered on the target device's location on the map. This target size is smaller than a size threshold. This size threshold can be preset and 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; 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 instance, since the target device is at the edge of the map, the subsequent location the target device needs to move to 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 subsequent positioning processing. For example, the size threshold can be 2 meters. In this way, only map registration processing with a search range smaller than the size threshold (i.e., a small area) can be initiated, while map registration processing with a search range greater than or equal to the size threshold (i.e., a large area) will not be initiated. This avoids potential mispositioning in unknown areas, such as jumping to adjacent or similar areas, which could lead to map distortion and improve the positioning accuracy during the target device's movement.

[0087] In practical applications, the search area needs to include explored high-confidence obstacles (such as black walls) as a matching benchmark: excluding empty spaces (white) and unknown areas (gray), and excluding dynamic objects (such as temporarily placed chairs). This avoids interference from incomplete maps in edge areas.

[0088] For step 202, target environment scan data corresponding to the search area is extracted from the environment scan data, and then the target environment scan data is registered with the search area to obtain the pose adjustment amount and the registration result. It should be noted that the registration process can be implemented using the Iterative Closest Point (ICP) algorithm or the Correlative Scan Matching (CSM) algorithm. This registration process determines a pose adjustment amount, which is used to adjust the current pose information to obtain a new pose information, minimizing the matching error between the target environment scan data and the search area (i.e., maximizing the overlap between the target environment scan data and the search area). The registration result is determined by the matching score between the target environment scan data and the search area. This matching score indicates the degree of overlap between the target environment scan data and the search area; the higher the overlap, 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] For step 203, if the registration result indicates successful registration, the pose adjustment amount is used to update the current pose information of the target device to obtain the target pose information. In practical applications, the pose adjustment amount can be a matrix, where the target pose information = current pose information * pose adjustment amount.

[0090] If the registration result indicates registration failure, it means 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 can return to step 201 to repeat steps 201-203. In practical applications, a threshold for the number of repetitions of steps 201-203 can be set, for example, the threshold could be 3 times. If registration still fails, the target device can be controlled to slowly advance and explore (the speed can be less than 0.1 m / s).

[0091] Applying steps 201-203 above, when the target device is at the edge of the map, only pose relocalization is performed without updating the map. Furthermore, pose relocalization is achieved by map registration within a search area of ​​the target size that is smaller than the set size threshold. In this way, map registration processing can be initiated only when the search range is smaller than the size threshold (i.e., a small range), and map registration processing is not initiated when the search range is larger than or equal to the size threshold (i.e., a large range). This avoids the possibility of mislocalization when positioning in an unknown area, which may jump to a neighboring or similar area and cause map distortion, thereby improving the positioning accuracy of the target device during movement.

[0092] Step 104: If the target device is not located at the edge of the map, update the map based on the matching degree and environmental scan data to obtain the target map.

[0093] For step 104, if the location representation target device is not located at the edge of the map, then based on the matching degree and environmental scan data, it is determined whether to update the map, and 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 The step 104 shown, "update the map based on the matching degree and environmental 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, update the map based on the environmental 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, keep the map unchanged.

[0095] Here, we first determine if the matching degree is greater than a matching degree threshold. If the matching degree is greater than the threshold, the map is updated based on the environmental scan data to obtain the target map. If the matching degree is less than or equal to the matching degree threshold, the map remains unchanged. This matching degree threshold can be preset and can be adjusted according to needs; there are no restrictions here.

[0096] By applying the above embodiments, updating the map when the matching degree is greater than the matching degree threshold can reduce map errors caused by inaccurate positioning due to wheel slippage, bumps, etc., thereby improving the accuracy of map processing and reducing mapping errors.

[0097] In some embodiments, see Figure 6 The process of "updating the map based on environmental scan data to obtain the target map" can be achieved by executing the following steps 301-304: Step 301: Obtain the first initial pose information of the target device; Step 302: Register the environmental scan data with the map to obtain the first pose adjustment amount; Step 303: Adjust the first initial pose information using the first pose adjustment amount to obtain the first target pose information of the target device; Step 304: Integrate the environmental scan data into the map based on the first target pose information to obtain the target map.

[0098] For step 301, the first initial pose information of the target device is obtained. The first initial pose information is the current pose information of the target device, that is, the pose information obtained from the last pose information update.

[0099] In step 302, the environmental scan data is registered with the map to obtain the first pose adjustment. It should be noted that the registration process can be implemented using the Iterative Closest Point (ICP) algorithm or the Correlative Scan Matching (CSM) algorithm. This registration process determines a first pose adjustment, which is used to adjust the current pose information to obtain a new pose information, minimizing the matching error between the environmental scan data and the map (i.e., maximizing the overlap between the environmental scan data and the map).

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

[0101] In step 304, after obtaining the updated pose information, i.e., after obtaining the first target pose information, the environmental scan data is integrated into the map based on the first target pose information to obtain the target map. Specifically, based on the first target pose information, the coordinate positions of the environmental scan data in the map are determined. Then, the coordinate system of the environmental scan data is transformed to the coordinate system of the map to obtain the transformed environmental scan data. Finally, the transformed environmental scan data is integrated into the map according to its coordinate positions to obtain the target map. In this way, the map update is achieved.

[0102] By applying the above embodiments, map updates are achieved through pose updates, and map updates are performed when the matching degree is greater than the matching degree threshold. This can reduce map errors caused by inaccurate positioning due to wheel slippage, bumps, or other reasons, thereby improving the accuracy of map processing and reducing mapping errors.

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

[0104] Here, if the matching degree is less than or equal to the matching degree threshold, only the pose is updated, not the map. Specifically, firstly, the second initial pose information of the target device is obtained. This second initial pose information is the current pose information of the target device, i.e., the pose information obtained from the last pose update. Then, the environmental scan data and the map are registered to obtain the second pose adjustment amount. It should be noted that the registration process can be implemented using the Iterative Closest Point (ICP) algorithm or the Correlative Scan Matching (CSM) algorithm. This registration process is used to determine a second pose adjustment amount. The new pose information obtained by adjusting the current pose information using this second pose adjustment amount minimizes the matching error between the environmental scan data and the map (i.e., maximizes the overlap between the environmental scan data and the map). Finally, the second initial pose information is adjusted using the second pose adjustment amount to obtain the second target pose information of the target device. In practical applications, the second pose adjustment amount can be a matrix, where the second target pose information = second initial pose information * second pose adjustment amount. The second target pose information is the updated pose information.

[0105] Applying the above embodiments, when the matching degree is less than or equal to the matching degree threshold, only the pose is updated, and the map is not updated. This reduces map errors caused by inaccurate positioning due to wheel slippage, bumps, or other reasons, thereby improving the accuracy of map processing and reducing mapping errors.

[0106] Applying the above embodiments of this application, environmental scanning data of the target device's environment is first obtained, and the matching degree between the environmental scanning data and the map is determined. Then, the location of the target device on the map is determined. If the location indicates that the target device is at the edge of the map, the map remains unchanged. If the location indicates that the target device is not at the edge of the map, the map is updated based on the matching degree and the environmental scanning data to obtain the target map. Thus, the map is constructed based on whether the target device is at the edge of the map and the matching degree. 1) If the target device is at the edge of the map, keeping the map unchanged (i.e., not updating the map) can suppress map errors caused by sudden environmental changes at the map edge, improving the accuracy of the obtained map. 2) If the target device is not at the edge of the map, both the matching degree and the environmental scanning data are combined to update the map. This can reduce map update errors caused by inaccurate positioning due to the matching degree between the environmental scanning data and the map, improving the accuracy of the obtained map.

[0107] The following description continues to illustrate the exemplary structure of the map processing device 555 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 2 As shown, the software modules stored in the map processing device 555 in the memory 550 may include: a first determining module 5551, used to acquire environmental scan data of the environment where the target device is located, and determine the matching degree between the environmental scan data and the map, the map being used to assist the target device in moving; a second determining 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; and a second map processing module 5554, used to update the map based on the matching degree and the environmental scan 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 determining module 5552 is further configured to acquire the pose information of the target device on the map and convert the pose information into map pixel coordinates on the map; if the map pixel coordinates indicate an obstacle in the map, determine that the target device is not located at the edge of the map; if the map pixel coordinates indicate a non-obstacle in the map, start from the map pixel coordinates to perform an obstacle search on the map, and determine the location of the target device in the map based on the obstacle search results.

[0109] In some embodiments, the second determining module 5552 is further configured to perform obstacle search along a first number of ray directions around the map pixel coordinates, starting from the map pixel coordinates; the second determining module 5552 is further configured to determine that the target device is not at the edge of the map if 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 a ratio threshold; and to determine that the target device is at the edge of the map if the ratio of the second number to the first number in the obstacle search results is less than or equal to the ratio threshold.

[0110] In some embodiments, the second determining module 5552 is further configured to obtain the map resolution, map size, map origin x-coordinate, and map origin y-coordinate of the map; determine the map pixel x-coordinate based on the x-coordinate included in the pose information, the map resolution, and the map origin x-coordinate; determine the map pixel y-coordinate based on the y-coordinate included in the pose information, the map resolution, the map size, and the map origin y-coordinate; and combine the map pixel x-coordinate and the map pixel y-coordinate to obtain the map pixel coordinates.

[0111] In some embodiments, the second map processing module 5554 is further configured to update the map based on the environmental 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 configured 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 further configured to: acquire first initial pose information of the target device; register the environmental scan data with the map to obtain a first pose adjustment amount; adjust the first initial pose information using the first pose adjustment amount to obtain first target pose information of the target device; and integrate the environmental scan data into the map based on the first target pose information 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 obtain the second initial pose information of the target device; register the environmental scanning data with the map to obtain a second pose adjustment amount; and adjust the second initial pose information using the second pose adjustment amount to obtain the second target pose information of the target device.

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

[0115] It should be noted that the description of the device embodiments in this application is similar to the description of the method embodiments described above, and has similar beneficial effects as the method embodiments, so it will not be repeated here. Any technical details not covered in the map processing device provided in the embodiments of this application can be understood based on the description of the technical details in the above method embodiments.

[0116] This application also provides a computer program product, which includes computer-executable instructions or a computer program stored in a computer-readable storage medium. The processor of an electronic device reads the computer-executable instructions or computer program from the computer-readable storage medium and executes the computer-executable instructions or computer program, causing the electronic device to perform the map processing method provided in this application.

[0117] This application also provides a computer-readable storage medium storing computer-executable instructions or computer programs. When the computer-executable instructions or computer programs are executed by a processor, the processor will execute the map processing method provided in this application.

[0118] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0119] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, 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 stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.

[0120] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).

[0121] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.

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

Claims

1. A map processing method, characterized in that, The method includes: The system acquires environmental scanning data of the environment in which the target device is located, and determines the degree of matching between the environmental scanning data and the map, which is used to assist the target device in moving. The pose information of the target device on the map is obtained, and the pose information is converted into map pixel coordinates on the map; When the map pixel coordinates indicate non-obstacles in the map, starting from the map pixel coordinates, an obstacle search is performed along a first number of ray directions around the map pixel coordinates, and if the ratio of a second number of ray directions representing the searched obstacles to the first number is less than or equal to a ratio threshold, the target device is determined to be at the edge of the map. If the target device is located at the edge of the map, the map remains unchanged; If the target device is not located 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.

2. The method as described in claim 1, characterized in that, The method further includes: If the map pixel coordinates indicate an obstacle in the map, it is determined that the target device is not located at the edge of the map.

3. The method as described in claim 1, characterized in that, The method further includes: If the ratio of the second number of ray directions representing the obstacles found in the obstacle search results to the first number is greater than the ratio threshold, it is determined that the target device is not located at the edge of the map.

4. The method as described in claim 1, characterized in that, The step of converting the pose information into map pixel coordinates on the map includes: Obtain the map resolution, map size, x-coordinate of the map origin, and y-coordinate of the map origin; Based on the pose information including the x-coordinate, the map resolution, and the x-coordinate of the map origin, the x-coordinate of the map pixel is determined; Based on the pose information including the ordinate, the map resolution, the map size, and the ordinate of the map origin, the map pixel ordinate is determined; The map pixel coordinates are obtained by combining the horizontal coordinate of the map pixel and the vertical coordinate of the map pixel.

5. The method as described in claim 1, characterized in that, The step of updating the map based on the matching degree and the environmental scan data to obtain the target map includes: If the matching degree is greater than the matching degree threshold, the map is updated based on the environmental scan data to obtain the target map; The method further includes: If the matching degree is less than or equal to the matching degree threshold, the map remains unchanged.

6. The method as described in claim 5, characterized in that, The step of updating the map based on the environmental scan data to obtain the target map includes: Obtain the first initial pose information of the target device; The environmental scan data is registered with the map to obtain the first pose adjustment amount; The first initial pose information is adjusted using the first pose adjustment amount to obtain the first target pose information of the target device; Based on the first target pose information, the environmental scan data is integrated into the map to obtain the target map.

7. The method as described in claim 5, characterized in that, If the matching degree is less than or equal to the matching degree threshold, the method further includes: Obtain the second initial pose information of the target device; The environmental scan data is registered with the map to obtain the second pose adjustment amount; The second pose adjustment amount is used to adjust the second initial pose information to obtain the second target pose information of the target device.

8. The method as described in claim 1, characterized in that, When the target device is located at the edge of the map, the method further includes: Centered on the target device, a search area for the target size is determined in the map, wherein the target size is less than a size threshold; Extract the target environment scan data corresponding to the search area from the environment scan data, and register the target environment scan data with the search area to obtain the pose adjustment amount and registration result; If the registration result indicates successful registration, the pose adjustment amount is used to update the pose information of the target device to obtain the target pose information.

9. A map processing device, characterized in that, The device includes: The first determining module is used to acquire environmental scanning data of the environment where the target device is located, and to determine the matching degree between the environmental scanning data and the map, wherein the map is used to assist the target device in moving. The second determining module is used to acquire the pose information of the target device on the map and convert the pose information into map pixel coordinates on the map; when the map pixel coordinates indicate non-obstacles in the map, starting from the map pixel coordinates, performing obstacle search along a first number of ray directions around the map pixel coordinates, and determining that the target device is at the edge of the map when the ratio of a second number of ray directions representing the searched obstacles to the first number is less than or equal to a ratio threshold. The first map processing module is used to keep the map unchanged when the target device is at the edge of the map. The second map processing module is used to update the map based on the matching degree and the environmental scan data to obtain the target map when the target device is not located at the edge of the map.

10. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions for a computer; A processor, when executing computer-executable instructions stored in the memory, implements the map processing method according to any one of claims 1 to 8.

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

  • Method and device for updating map and storage medium

    CN117168432A