Positioning state detection method and apparatus, device, and storage medium
By mapping point cloud maps to raster maps and filtering scan point data within elevation ranges, the problems of long processing time and high resource consumption in existing technologies are solved, achieving efficient positioning status detection.
Patent Information
- Application Number
- CN202510951543.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2045-07-09
AI Technical Summary
In device positioning scenarios, existing technologies that detect positioning status based on point cloud data are time-consuming and resource-intensive, resulting in low efficiency.
Multiple map point data from the point cloud map are mapped to multiple grids to generate a grid map. The target scan point data is then filtered by elevation value intervals to perform positioning status detection.
By filtering scan point data using a grid map, the computation time and resource consumption for location status detection are reduced, thereby improving detection efficiency and resource utilization.
Smart Images

Figure CN120927028B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of positioning technology, and in particular to a method, apparatus, device and storage medium for detecting positioning status. Background Technology
[0002] In device localization scenarios (such as robots and autonomous vehicles), localization status detection is crucial for accurate and reliable localization. Related technologies typically rely on all currently scanned point cloud data and the original point cloud map for localization status detection. However, point cloud data is often massive, leading to time-consuming and resource-intensive processes. Summary of the Invention
[0003] This application provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for detecting positioning status, which can improve the efficiency of positioning status detection and the utilization rate of computing resources.
[0004] The technical solution of this application embodiment is implemented as follows:
[0005] This application provides a method for detecting positioning status, including:
[0006] The point cloud map is mapped to multiple raster cells to obtain a raster map.
[0007] Acquire the scan point cloud of the target device, which includes data from multiple scan points;
[0008] From the grid map, determine the target grid that maps at least one of the map point data, and obtain the elevation value range of the target grid;
[0009] From the plurality of scan point data, determine the target scan point data corresponding to the target raster and having an elevation value within the elevation value range;
[0010] Based on the target scanning point data, the positioning status of the target device is detected, and a detection result is obtained. The detection result indicates whether the positioning of the target device is in a normal or abnormal state.
[0011] This application embodiment also provides a positioning status detection device, including:
[0012] The mapping module is used to map multiple map point data included in the point cloud map to multiple grids to obtain a grid map;
[0013] The acquisition module is used to acquire multiple scan point data included in the scan point cloud of the target device;
[0014] The first determining module is used to determine, from the grid map, a target grid that maps at least one of the map point data, and to obtain the elevation value range of the target grid;
[0015] The second determining module is used to determine, from the plurality of scan point data, the target scan point data corresponding to the target raster and having an elevation value within the elevation value range;
[0016] The detection module is used to detect the positioning status of the target device based on the target scanning point data, and obtain the detection result, which indicates whether the positioning of the target device is in a normal or abnormal state.
[0017] In the above scheme, the mapping module is further configured to generate a blank raster map with a target resolution, the blank raster map including the plurality of graticles; and to project the multiple map point data included in the point cloud map onto the multiple graticles included in the blank raster map to obtain the raster map.
[0018] In the above scheme, the target grid is mapped with multiple map point data; the first determining module is further configured to obtain the elevation values of each of the multiple map point data mapped to the target grid; determine the minimum elevation value and the maximum elevation value from the elevation values of each of the multiple map point data; and construct the elevation value interval of the target grid by taking the minimum elevation value as the starting point of the interval and the maximum elevation value as the ending point of the interval.
[0019] In some embodiments, the detection module 5555 is further configured to determine target map point data that matches the target scan point data from the point cloud map, and determine the distance between the target scan point data and the target map point data; determine the proportion of the target scan point data in the plurality of scan point data; and determine the detection result based on the distance and the proportion.
[0020] In the above scheme, both the number of target scan point data and the number of target map point data are target quantities, which are positive integers. The detection module is further configured to determine the weight value of each target scan point data; for each target scan point data, determine the point cloud distance between the target scan point data and the target map point data that matches the target scan point data, and weight the point cloud distance based on the weight value to obtain a weighted point cloud distance; and determine the distance based on the weighted point cloud distance corresponding to each target scan point data and the target quantity.
[0021] In the above scheme, the detection module is further configured to perform the following processing for each target scan point data: determine the first target grid corresponding to the target scan point data from the grid map; determine the first target scan point data corresponding to the first target grid from multiple target scan point data, and determine the first target map point data mapped to the first target grid from multiple target map point data; determine the matching degree between the first target scan point data and the first target map point data, and determine the weight value of the target scan point data based on the matching degree.
[0022] In the above scheme, the detection module is further configured to determine the first detection result as the detection result if the distance is less than a distance threshold and the percentage is greater than a percentage threshold, wherein the first detection result indicates that the positioning of the target device is in a normal state; and to determine the second detection result as the detection result if the distance and the percentage meet at least one of the following conditions, wherein the second detection result indicates that the positioning of the target device is in an abnormal state: the distance is greater than or equal to the distance threshold and the percentage is less than or equal to the percentage threshold.
[0023] In the above scheme, the detection module is further configured to determine the search range in the point cloud map for the target scan point data; determine the first map point data whose point cloud distance to the target scan point data is less than the point cloud distance threshold from the map point data included in the search range; and use the first map point data as the target map point data.
[0024] In the above scheme, each of the scan point data has an elevation value; the second determining module is further configured to map the plurality of scan point data to a plurality of grids included in the grid map, and determine, from the plurality of scan point data, a first scan point data mapped to the target grid; determine, from the first scan point data, a second scan point data whose elevation value is within the elevation value interval; and determine the second scan point data as the target scan point data corresponding to the target grid and having an elevation value within the elevation value interval.
[0025] This application also provides an electronic device, including:
[0026] Memory is used to store executable instructions for a computer;
[0027] The processor, when executing computer-executable instructions stored in the memory, implements the positioning state detection method provided in the embodiments of this application.
[0028] This application also provides a computer-readable storage medium storing computer-executable instructions or computer programs, which, when executed by a processor, implement the positioning status detection method provided in this application.
[0029] This application also provides a computer program product, including computer-executable instructions or a computer program, which, when executed by a processor, implements the positioning state detection method provided in this application.
[0030] The embodiments of this application have the following beneficial effects:
[0031] Applying the above embodiments of this application, firstly, the point cloud map includes multiple map point data which are mapped to multiple grids to obtain a grid map, and then the target device's scan point cloud includes multiple scan point data. Next, from the grid map, the target grid with at least one map point data is determined, and the elevation value range of the target grid is obtained. Then, from the multiple scan point data, the target scan point data corresponding to the target grid and having an elevation value within the elevation value range is determined, thus filtering the scan point data. Finally, based on the filtered target scan point data, the positioning status of the target device is detected, and the detection result is obtained. In this way, filtering the scan point data based on the grid map (including the target grid and elevation value range) allows for positioning status detection only based on the filtered target scan point data, reducing the computation time and resources required for positioning status detection, thereby improving the efficiency of positioning status detection and the utilization rate of computational resources. Attached Figure Description
[0032] Figure 1 This is a schematic diagram of the architecture of the positioning status detection system provided in the embodiments of this application;
[0033] Figure 2 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;
[0034] Figure 3 This is a first flowchart illustrating the positioning status detection method provided in this application embodiment;
[0035] Figure 4 This is a schematic diagram of the second process of the positioning status detection method provided in the embodiments of this application;
[0036] Figure 5 This is a schematic diagram of the third process of the positioning status detection method provided in the embodiments of this application;
[0037] Figure 6 This is a schematic diagram of the fourth process of the positioning status detection method provided in the embodiments of this application.
[0038] 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
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 1) 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] 2) Location status, which refers to the current location status of the target device. Location status includes normal status and abnormal status. Among them, the abnormal status is the location loss status. In the positioning system, when the target device cannot accurately determine its own location on the map, it is considered to be in an abnormal location status; when the target device can accurately determine its own location on the map, it is considered to be in a normal location status.
[0048] This application provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for detecting positioning status, which can improve the efficiency of positioning status detection and the utilization rate of computing resources. The embodiments of this application will now be described in detail based on the above description of the terms and concepts used in the embodiments.
[0049] The following describes the positioning status detection system provided in the embodiments of this application. See also Figure 1 , Figure 1 This is a schematic diagram of the architecture of a location status detection system provided in an embodiment of this application. To support an exemplary application, the location status detection 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 sends a detection request for the positioning status of a target device (such as a robot or autonomous vehicle) to server 200; server 200 receives the detection request from terminal 400; in response to the detection request, it maps multiple map point data included in the point cloud map to multiple grids to obtain a grid map; it acquires multiple scan point data included in the scan point cloud of the target device; from the grid map, it determines the target grid that is mapped with at least one map point data and obtains the elevation value range of the target grid; from the multiple scan point data, it determines the target scan point data corresponding to the target grid that has an elevation value within the elevation value range; based on the target scan point data, it detects the positioning status of the target device and obtains a detection result, which indicates whether the positioning of the target device is in a normal or abnormal state; it returns the detection result to terminal 400; terminal 400 receives the detection result returned by server 200. Here, terminal 400 can be the target device itself, such as a robot or autonomous vehicle.
[0051] The location status detection method provided in this application 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 location status detection method provided in this application 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, 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 does not impose any restrictions on this.
[0052] In some embodiments, the terminal or server can implement the positioning status detection 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 that implements a positioning status detection method according to 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 positioning status detection device provided in this application can be implemented in software. Figure 2 A detection device 555 for a positioning state stored in a memory 550 is shown. It can be software in the form of a program or plug-in, and includes the following software modules: a mapping module 5551, an acquisition module 5552, a first determination module 5553, a second determination module 5554, and a detection module 5555. 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 location status detection method provided in the embodiments of this application. As mentioned above, the location status detection method provided in the embodiments of this application is implemented by an electronic device, for example, it can be implemented by a server or terminal alone, or by 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 a positioning status detection method provided in an embodiment of this application. The positioning status detection method provided in an embodiment of this application includes:
[0064] Step 101: Map the multiple map point data included in the point cloud map to multiple grids to obtain a grid map.
[0065] For step 101, the point cloud map is a pre-created map. This point cloud map includes multiple map point data points, which can be obtained by collecting point cloud data (including multiple point data points) of the target device's activity environment (e.g., using a LiDAR device). The point cloud map is then constructed based on this collected point cloud data (therefore, the point data in the point cloud is also called map point data). This point cloud map is a three-dimensional point cloud map; each map point data point is three-dimensional data in a world coordinate system. The target device can be a robot, an autonomous vehicle, or other similar device. The terminal executing this embodiment can be the target device itself.
[0066] For step 101, the point cloud map is rasterized into a raster map. Specifically, the multiple map point data included in the point cloud map are mapped onto multiple graticles. These mapped graticles, containing multiple map point data, constitute the raster map. This raster map is a two-dimensional raster map, and the map point data obtained by mapping the map point data onto the raster map is all two-dimensional data. In practical applications, the raster map has a set resolution, which can be adjusted as needed. For example, if the resolution of a raster map is 4*4, then the number of graticles included in the raster map is 16.
[0067] In some embodiments, a raster map can be obtained by performing the following steps: generating a blank raster map with a target resolution, the blank raster map comprising multiple grids; and projecting the multiple map point data included in the point cloud map onto the multiple grids included in the blank raster map to obtain the raster map.
[0068] First, a blank raster map with a target resolution is generated. This blank raster map consists of multiple grids, meaning each grid cell is empty and contains no point data. It is a two-dimensional map. The target resolution can be preset and adjusted as needed; for example, a target resolution of 5x5 would result in a blank raster map with 25 grids. After obtaining the blank raster map, the point cloud data is projected along the z-axis of the three-dimensional coordinate system onto the grids of the blank raster map, resulting in a two-dimensional raster map. When projecting the point cloud data onto the blank raster map, the projection position of each point on the blank raster map is recorded as the projection point data, which represents the two-dimensional data distributed on the raster map.
[0069] By applying the above embodiments, a grid map is obtained by projecting multiple map point data included in the point cloud map onto a blank grid map. This achieves the conversion of three-dimensional point cloud data into a two-dimensional grid map, reduces the complexity of subsequent calculations, and improves the efficiency of positioning status detection.
[0070] Step 102: Obtain the scan point cloud of the target device, which includes multiple scan point data.
[0071] In step 102, when the target device is moving, it scans the point cloud of its current environment, for example, using a lidar device equipped on the target device (this can be real-time or periodic), to obtain the scanned point cloud. Therefore, this step acquires the scanned point cloud obtained by the target device during its actual movement. This scanned point cloud includes multiple scanned point data. Each scanned point data in the scanned point cloud is three-dimensional data. To facilitate the unification of the coordinate system in subsequent calculations (i.e., all calculations are performed based on the world coordinate system), each scanned point data here is three-dimensional data in the world coordinate system. Therefore, the point cloud collected by the target device is recorded as the initial scanned point cloud. Then, based on the pose information of the target device, the initial scanned point cloud is projected onto the world coordinate system to obtain the final scanned point cloud.
[0072] Step 103: From the raster map, identify the target raster that maps at least one map point data, and obtain the elevation value range of the target raster.
[0073] In this embodiment, after obtaining the raster map, each raster in the raster map is further marked as valid. Specifically, rasters mapped with at least one map point are marked as valid rasters (i.e., the aforementioned target rasters); rasters not mapped with map point data are marked as invalid rasters. It should be noted that an invalid raster can be understood as one where, during the creation of the point cloud map, obstacles (such as closed doors) cause the collected point cloud to lack points in the obscured areas, resulting in blind spots in the created point cloud map.
[0074] Simultaneously, the elevation value range for each grid cell in the raster map is recorded. In some embodiments, the elevation value range for each grid cell can be determined by performing the following steps: obtaining the elevation values of multiple map point data mapped to the grid; determining the minimum and maximum elevation values from the elevation values of the multiple map point data; using the minimum elevation value as the starting point of the range and the maximum elevation value as the ending point of the range to construct the elevation value range of the grid. Therefore, the elevation value range of the grid is: [minimum elevation value of map point data within the grid, maximum elevation value of map point data within the grid].
[0075] For step 103, determining the target grid that maps at least one map point data from the grid map is: determining the valid grid marked above from the grid map; obtaining the elevation value range of the target grid is: determining the elevation value range of the target grid from the elevation value range of each grid in the grid map recorded above.
[0076] In some embodiments, instead of recording the corresponding elevation value interval for each raster, the corresponding elevation value interval can be recorded only for the valid raster (i.e., the target raster mentioned above). This can reduce the amount of computation and the consumption of equipment resources (such as computing resources and storage resources). Based on this, for a target raster mapped with multiple map point data, the elevation value interval of the target raster can be obtained by performing the following steps: obtaining the elevation values of each of the multiple map point data mapped to the target raster; determining the minimum elevation value and the maximum elevation value from the elevation values of the multiple map point data; using the minimum elevation value as the starting point of the interval and the maximum elevation value as the ending point of the interval to construct the elevation value interval of the target raster.
[0077] Here, firstly, the elevation values of multiple map point data mapped to the target grid are obtained. These elevation values represent the height information in the map point data. Then, the minimum and maximum elevation values are determined from the elevation values of the multiple map point data. The minimum elevation value is then used as the starting point of the elevation value interval, and the maximum elevation value is used as the ending point of the elevation value interval, thus constructing the elevation value interval of the target grid. Therefore, the elevation value interval of the target grid is: [minimum elevation value of map point data within the target grid, maximum elevation value of map point data within the target grid].
[0078] By applying the above embodiments, by recording the corresponding elevation value range only for the effective grid (i.e. the target grid), the amount of computation and the occupation of equipment resources (such as computing resources and storage resources) can be reduced, thereby improving the detection efficiency of positioning status and resource utilization.
[0079] Step 104: From multiple scan point data, determine the target scan point data corresponding to the target raster and having an elevation value within the elevation value range.
[0080] For step 104, each scan point data has a corresponding elevation value, which represents the height information in the scan point data. Based on this, from multiple scan point data, the target scan point data corresponding to the target raster and whose elevation value is within the elevation value range is determined. Here, firstly, retaining the scan point data corresponding to the target raster (i.e., the aforementioned valid raster) can eliminate the scan point data corresponding to invalid raster, thereby avoiding the problem of false detection of positioning status caused by blind spots in the point cloud map (when creating the point cloud map, due to the obstruction of obstacles (such as closed doors), the collected point cloud is missing the point cloud of the obstructed area, thus causing the created point cloud map to have corresponding blind spots of the obstructed area), and improving the accuracy of positioning status detection. Secondly, retaining the scan point data corresponding to the target raster and whose elevation value is within the elevation value range can eliminate the scan point data whose elevation value exceeds the elevation value range. It should be noted that during point cloud map creation, dynamic environmental changes (i.e., the presence of dynamic objects, such as temporarily placed moving objects, changes in the opening and closing status of doors and windows, etc.) cause inherent differences between the point cloud collected during map creation and the actual scanned point cloud by the target device. This results in scanned point cloud data with elevation values outside the specified range. Therefore, by removing scanned point data with elevation values outside the specified range, the interference of dynamic environmental changes on positioning status detection can be eliminated, further improving the accuracy of positioning status detection.
[0081] In some embodiments, from multiple scan point data, target scan point data corresponding to a target raster and whose elevation value is within an elevation value range can be determined by performing the following steps: mapping multiple scan point data to multiple rasters included in a raster map, and determining first scan point data mapped to the target raster from the multiple scan point data; determining second scan point data whose elevation value is within an elevation value range from the first scan point data; and determining the second scan point data as target scan point data corresponding to the target raster and having an elevation value within the elevation value range.
[0082] Here, multiple scan point data are first mapped onto multiple grids within the raster map, resulting in a raster map mapped with multiple scan point data. It should be noted that the specific implementation process of "mapping multiple scan point data onto multiple grids within the raster map" is similar to the aforementioned implementation process of "mapping multiple map point data from a point cloud map onto multiple grids," and will not be repeated here. Then, from the multiple scan point data, the first scan point data mapped to the target grid is determined; this first scan point data is the scan point data corresponding to the target grid. Continuing, the elevation value of each scan point data is obtained, thereby determining the second scan point data from the first scan point data whose elevation value falls within the specified elevation value range; this second scan point data is the target scan point data corresponding to the target grid and has an elevation value within the specified elevation value range.
[0083] Applying the above embodiments, 1) by retaining the scan point data corresponding to the target grid (i.e., the aforementioned valid grid), the scan point data corresponding to the invalid grid can be eliminated, thereby avoiding the problem of false detection of positioning status caused by blind spots in the point cloud map and improving the accuracy of positioning status detection. 2) by retaining the scan point data corresponding to the target grid and whose elevation values are within the elevation value range, the scan point data whose elevation values exceed the elevation value range can be eliminated, thereby eliminating the interference of dynamic environmental changes on positioning status detection and further improving the accuracy of positioning status detection. Thus, the environmental adaptability of positioning status detection is enhanced, the impact of the environment on positioning status detection is reduced, and a positioning status detection scheme that is insensitive to environmental changes is achieved.
[0084] Step 105: Based on the target scanning point data, detect the positioning status of the target device and obtain the detection results.
[0085] The detection results indicate whether the target device is in a normal or abnormal state.
[0086] For step 105, based on the filtered target scan point data, the positioning status of the target device is detected, and a detection result is obtained. This detection result indicates that the positioning of the target device is in a normal state, or that the positioning of the target device is in an abnormal state. It should be noted that an abnormal positioning state is a positioning loss state. In a positioning system, when the target device cannot accurately determine its position on the map, it is considered to be in a positioning loss state; while when the target device can accurately determine its position on the map, it is considered to be in a normal positioning state.
[0087] Here, by filtering the scan point data based on the grid map, the positioning status can be detected only based on the target scan point data, which can reduce the computational resources and computation time required for positioning status detection (such as the time spent in the ICP matching process), thereby improving the efficiency of positioning status detection and the utilization rate of computational resources.
[0088] In some embodiments, see Figure 4 Step 105, "Based on the target scanning point data, detect the positioning status of the target device and obtain the detection result," can be achieved by executing the following steps 1051-1052: Step 1051, determine the target map point data that matches the target scanning point data from the point cloud map, and determine the distance between the target scanning point data and the target map point data; Step 1052, determine the proportion of the target scanning point data in the multiple scanning point data; Step 1053, determine the detection result based on the distance and proportion.
[0089] For step 1051, firstly, from the multiple map point data included in the point cloud data, the target map point data that matches the target scan point data is determined. In practical applications, this can be achieved using the Iterative Closest Point (ICP) algorithm. Specifically, from the point cloud map, the target map point data that matches the target scan point data can be determined by performing the following steps: for the target scan point data, determine the search range in the point cloud map; from the map point data included in the search range, determine the first map point data whose point cloud distance to the target scan point data is less than the point cloud distance threshold; and use the first map point data as the target map point data.
[0090] Here, for the target scan point data, the search range in the point cloud map is determined. To determine this search range, the target scan point data is first added to the point cloud map, and then the search radius is obtained. This determines the range centered on the target scan point data in the point cloud map, with a radius equal to the search radius. This determined range is then used as the search range. It should be noted that this search radius can be dynamically adjusted. It can be determined based on the resolution of the raster map and the movement speed of the target device. Specifically, it can be determined based on the raster map resolution and the movement speed of the target device, combined with a preset mapping relationship. This mapping relationship refers to the relationship between the raster map resolution, the movement speed of the target device, and the search radius. After determining the search range, the map point data included in the search range is determined, and the point cloud distance between each map point data included in the search range and the target scan point data is determined. Then, from the map point data included in the search range, the first map point data whose point cloud distance is less than a point cloud distance threshold is determined, and this first map point data is used as the target map point data. It should be noted that the distance threshold can be such that the point cloud distance corresponding to the first map point data is the minimum point cloud distance among all point cloud distances. That is, from the map point data included in the search range, the map point data with the smallest point cloud distance is determined as the first map point data.
[0091] By applying the above embodiments, the matching between target scan point data and target map point data is achieved through the iterative nearest point algorithm, which facilitates the subsequent detection process of positioning status and improves computational efficiency.
[0092] After obtaining the target map point data that matches the target scan point data, the distance between the target scan point data and the target map point data is also determined. In some embodiments, the number of target scan point data and the number of target map point data are both target quantities, where the target quantity is a positive integer; based on this, see [link to relevant documentation]. Figure 5 The distance between target scan point data and target map point data can be determined by performing the following steps 201-203: Step 201, determine the weight value of each target scan point data; Step 202, for each target scan point data, determine the point cloud distance between the target scan point data and the target map point data that matches the target scan point data, and weight the point cloud distance based on the weight value to obtain the weighted point cloud distance; Step 203, determine the distance based on the weighted point cloud distance corresponding to each target scan point data and the number of targets.
[0093] For step 201, a weight value is determined for each target scan point data. In some embodiments, see [link to relevant documentation]. Figure 6For each target scan point data, steps 2011-2013 can be executed to determine the weight value of each target scan point data: Step 2011, determine the first target grid corresponding to the target scan point data from the grid map; Step 2012, determine the first target scan point data corresponding to the first target grid from multiple target scan point data, and determine the first target map point data mapped to the first target grid from multiple target map point data; Step 2013, determine the matching degree between the first target scan point data and the first target map point data, and determine the weight value of the target scan point data based on the matching degree.
[0094] Here, the following processing is performed for each target scan point data: For step 2011, the first target grid corresponding to the target scan point data is determined from the grid map; For step 2012, all target scan point data corresponding to the first target grid are determined from the above multiple target scan point data, and the determined all target scan point data corresponding to the first target grid are used as the first target scan point data; at the same time, the first target map point data mapped to the first target grid is determined from the multiple target map point data; For step 2013, after step 2012, the first target scan point data corresponding to the first target grid and the first target map point data mapped to the first target grid are obtained, and the matching degree between the first target scan point data and the first target map point data is determined. This matching degree is used to characterize the matching degree between the target scan point data corresponding to the first target grid and the first target grid; Finally, based on the matching degree, the weight value of the target scan point data is determined. For example, the weight value and the matching degree are directly proportional, that is, the higher the matching degree, the higher the weight value. The weight value ranges from 0 to 1.
[0095] Steps 2011-2013 are applied to determine the weight value of each target scan point based on the matching degree between the target scan point data and the first target grid. This increases the weight value during distance calculation, assigning higher weight values to targets with higher matching degrees and reducing the interference of point cloud distances from targets with lower matching degrees. This results in a more suitable distance for evaluating the positioning status and improves the accuracy of positioning status detection. Furthermore, since the resolution of the first target grid is adjustable, the weight values determined based on the matching degree of the first target grid can also be adjusted. Thus, the grid resolution and dynamic weight mechanism can automatically adapt to different scenarios without manual parameter tuning.
[0096] For step 202, for each target scan point data, the point cloud distance between the target scan point data and the target map point data that matches the target scan point data is determined. This point cloud distance can be calculated based on the Euclidean distance calculation method. Then, the point cloud distance is weighted, that is, the point cloud distance is weighted based on the weight value to obtain the weighted point cloud distance.
[0097] For step 203, the distance is determined based on the weighted point cloud distance corresponding to each target scan point data and the number of targets. Specifically, the weighted point cloud distances are summed to obtain the total distance, and then the total distance is divided by the number of targets to obtain the final distance.
[0098] Applying steps 201-203, the distance between the target scan point data and the target map point data is used as an evaluation indicator for assessing the positioning status. Here, by adding a weight value during the calculation of this distance, the evaluation indicator of distance is optimized, thereby improving the accuracy of positioning status detection.
[0099] For step 1052, a first quantity of scan point data is obtained, and a second quantity of target scan point data is obtained. Then, the ratio of the second quantity to the first quantity is determined. This ratio is the proportion of target scan point data in the multiple scan point data. Therefore, the proportion of target scan point data in the multiple scan point data = the second quantity divided by the first quantity.
[0100] For step 1053, after obtaining the distance and percentage, the positioning status is comprehensively judged by combining the distance and percentage, thereby obtaining the detection result of the positioning status.
[0101] By applying steps 1051-1053 above, and by combining the distance between the target map point data and the target scan point data that match the target scan point data, as well as the proportion of the target scan point data in the multiple scan point data, the positioning status can be detected, thereby improving the accuracy of positioning status detection.
[0102] In some embodiments, based on distance and percentage, the detection result can be determined by performing the following steps: if the distance is less than a distance threshold and the percentage is greater than a percentage threshold, the first detection result is determined as the detection result, and the first detection result indicates that the positioning of the target device is in a normal state; if the distance and percentage meet at least one of the following conditions, the second detection result is determined as the detection result, and the second detection result indicates that the positioning of the target device is in an abnormal state: the distance is greater than or equal to the distance threshold and the percentage is less than or equal to the percentage threshold.
[0103] Here, corresponding thresholds are set for both distance and percentage; that is, a distance threshold is set for distance, and a percentage threshold is set for percentage (e.g., the percentage threshold could be 30%), thus implementing a dual-threshold judgment condition. Based on this, if the distance is less than the distance threshold and the percentage is greater than the percentage threshold, the first detection result is determined as the detection result, indicating that the target device's positioning is in a normal state. Otherwise, the second detection result is determined as the detection result, indicating that the target device's positioning is in an abnormal state. Specifically, if the distance and percentage meet at least one of the following conditions, the second detection result is determined as the detection result: the distance is greater than or equal to the distance threshold, and the percentage is less than or equal to the percentage threshold. It should be noted that the distance threshold and percentage threshold can be set as needed, and the distance threshold can be dynamically adjusted.
[0104] By applying the above embodiments and setting dual threshold judgment conditions, the accuracy of positioning status detection can be improved.
[0105] In some embodiments, if the percentage is less than or equal to the percentage threshold, it means that the difference between the scanned point cloud and the point cloud map scanned by the target device exceeds the set difference threshold. Therefore, the point cloud map needs to be updated, i.e., the point cloud map needs to be reconstructed.
[0106] In some embodiments, if the detection results at a set number of consecutive time points all indicate that the target device's positioning is in an abnormal state, an alarm is triggered to prompt the user to take timely action. By setting a set number of consecutive time points, false detections of positioning status caused by transient interference can be effectively avoided, thereby improving the accuracy of positioning status detection.
[0107] Applying the above embodiments of this application, firstly, the point cloud map includes multiple map point data which are mapped to multiple grids to obtain a grid map, and then the target device's scan point cloud includes multiple scan point data. Next, from the grid map, the target grid with at least one map point data is determined, and the elevation value range of the target grid is obtained. Then, from the multiple scan point data, the target scan point data corresponding to the target grid and having an elevation value within the elevation value range is determined, thus filtering the scan point data. Finally, based on the filtered target scan point data, the positioning status of the target device is detected, and the detection result is obtained. In this way, filtering the scan point data based on the grid map (including the target grid and elevation value range) allows for positioning status detection only based on the filtered target scan point data, reducing the computation time and resources required for positioning status detection, thereby improving the efficiency of positioning status detection and the utilization rate of computational resources.
[0108] The following description continues to illustrate the exemplary structure of the positioning status detection device 555 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 2As shown, the software modules in the positioning state detection device 555 stored in the memory 550 may include: a mapping module 5551, used to map multiple map point data included in the point cloud map to multiple grids to obtain a grid map; an acquisition module 5552, used to acquire multiple scan point data included in the scan point cloud of the target device; a first determination module 5553, used to determine a target grid that is mapped with at least one of the map point data from the grid map, and acquire the elevation value range of the target grid; a second determination module 5554, used to determine the target scan point data corresponding to the target grid and having an elevation value within the elevation value range from the multiple scan point data; and a detection module 5555, used to detect the positioning state of the target device based on the target scan point data and obtain a detection result, wherein the detection result indicates that the positioning of the target device is in a normal state or an abnormal state.
[0109] In some embodiments, the mapping module 5551 is further configured to generate a blank raster map with a target resolution, the blank raster map including the plurality of graticles; and to project the plurality of map point data included in the point cloud map onto the plurality of graticles included in the blank raster map to obtain the raster map.
[0110] In some embodiments, the target grid is mapped with multiple map point data; the first determining module 5553 is further configured to obtain the elevation values of each of the multiple map point data mapped to the target grid; determine the minimum elevation value and the maximum elevation value from the elevation values of each of the multiple map point data; and construct the elevation value interval of the target grid by using the minimum elevation value as the starting point of the interval and the maximum elevation value as the ending point of the interval.
[0111] In some embodiments, the detection module 5555 is further configured to determine target map point data that matches the target scan point data from the point cloud map, and determine the distance between the target scan point data and the target map point data; determine the proportion of the target scan point data in the plurality of scan point data; and determine the detection result based on the distance and the proportion.
[0112] In some embodiments, the number of target scan point data and the number of target map point data are both target quantities, where the target quantity is a positive integer; the detection module 5555 is further configured to determine a weight value for each target scan point data; for each target scan point data, determine the point cloud distance between the target scan point data and the target map point data that matches the target scan point data, and weight the point cloud distance based on the weight value to obtain a weighted point cloud distance; and determine the distance based on the weighted point cloud distance corresponding to each target scan point data and the target quantity.
[0113] In some embodiments, the detection module 5555 is further configured to perform the following processing for each target scan point data: determine the first target grid corresponding to the target scan point data from the grid map; determine the first target scan point data corresponding to the first target grid from a plurality of target scan point data, and determine the first target map point data mapped to the first target grid from a plurality of target map point data; determine the matching degree between the first target scan point data and the first target map point data, and determine the weight value of the target scan point data based on the matching degree.
[0114] In some embodiments, the detection module 5555 is further configured to determine a first detection result as the detection result if the distance is less than a distance threshold and the percentage is greater than a percentage threshold, wherein the first detection result indicates that the positioning of the target device is in a normal state; and to determine a second detection result as the detection result if the distance and the percentage meet at least one of the following conditions, wherein the second detection result indicates that the positioning of the target device is in an abnormal state: the distance is greater than or equal to the distance threshold and the percentage is less than or equal to the percentage threshold.
[0115] In some embodiments, the detection module 5555 is further configured to: determine a search range in the point cloud map for the target scan point data; determine a first map point data whose point cloud distance to the target scan point data is less than a point cloud distance threshold from the map point data included in the search range; and use the first map point data as the target map point data.
[0116] In some embodiments, each of the scan point data has an elevation value; the second determining module 5554 is further configured to map the plurality of scan point data to a plurality of grids included in the grid map, and determine, from the plurality of scan point data, a first scan point data mapped to the target grid; determine, from the first scan point data, a second scan point data whose elevation value is within the elevation value interval; and determine the second scan point data as the target scan point data corresponding to the target grid and having an elevation value within the elevation value interval.
[0117] 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 positioning status detection device provided in the embodiments of this application can be understood based on the description of the technical details in the above method embodiments.
[0118] 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 positioning state detection method provided in this application.
[0119] 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 positioning state detection method provided in this application.
[0120] 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.
[0121] 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.
[0122] 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).
[0123] 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.
[0124] 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 method for detecting positioning status, characterized in that, The method includes: The point cloud map is mapped to multiple raster cells to obtain a raster map. Acquire the scan point cloud of the target device, which includes data from multiple scan points; From the grid map, determine the target grid that maps at least one of the map point data, and obtain the elevation value range of the target grid; From the plurality of scan point data, determine the target scan point data corresponding to the target raster and having an elevation value within the elevation value range; From the point cloud map, determine the target map point data that matches the target scan point data, and determine the distance between the target scan point data and the target map point data; Determine the proportion of the target scan point data in the plurality of scan point data; Based on the distance and the proportion, a detection result is determined, which indicates whether the positioning of the target device is in a normal or abnormal state.
2. The method as described in claim 1, characterized in that, The process of mapping multiple map point data from a point cloud map to multiple grids to obtain a grid map includes: Generate a blank raster map with a target resolution, the blank raster map comprising the plurality of rasters; The point cloud map includes multiple map point data, which are projected onto the multiple grids included in the blank grid map to obtain the grid map.
3. The method as described in claim 1, characterized in that, The target raster is mapped with multiple map point data; obtaining the elevation value range of the target raster includes: Obtain the elevation values of each of the multiple map point data mapped to the target raster; Determine the minimum and maximum elevation values from the respective elevation values of the multiple map point data; The minimum elevation value is used as the starting point of the interval, and the maximum elevation value is used as the ending point of the interval to construct the elevation value interval of the target raster.
4. The method as described in claim 1, characterized in that, The number of target scan point data and the number of target map point data are both target numbers, and the target numbers are positive integers; determining the distance between the target scan point data and the target map point data includes: Determine the weight value of each of the target scan point data; For each target scan point data, the point cloud distance between the target scan point data and the target map point data that matches the target scan point data is determined, and the point cloud distance is weighted based on the weight value to obtain the weighted point cloud distance; The distance is determined based on the weighted point cloud distance corresponding to each target scan point data and the number of targets.
5. The method as described in claim 4, characterized in that, Determining the weight value of each target scan point data includes: For each of the target scan point data, the following processing is performed: From the grid map, determine the first target grid corresponding to the target scan point data; From the plurality of target scan point data, determine the first target scan point data corresponding to the first target grid, and from the plurality of target map point data, determine the first target map point data mapped to the first target grid; Determine the matching degree between the first target scan point data and the first target map point data, and determine the weight value of the target scan point data based on the matching degree.
6. The method as described in claim 1, characterized in that, The determination of the detection result based on the distance and the proportion includes: If the distance is less than the distance threshold and the proportion is greater than the proportion threshold, the first detection result is determined as the detection result, and the first detection result indicates that the positioning of the target device is in a normal state; If the distance and the percentage meet at least one of the following conditions, the second detection result is determined as the detection result, and the second detection result indicates that the positioning of the target device is in an abnormal state: the distance is greater than or equal to the distance threshold, and the percentage is less than or equal to the percentage threshold.
7. The method as described in claim 1, characterized in that, The step of determining the target map point data that matches the target scan point data from the point cloud map includes: For the target scan point data, determine the search range in the point cloud map; From the map point data included in the search range, determine the first map point data whose point cloud distance to the target scan point data is less than the point cloud distance threshold; The first map point data is used as the target map point data.
8. The method as described in claim 1, characterized in that, Each of the scan point data has an elevation value; determining the target scan point data corresponding to the target raster and having an elevation value within the elevation value range from the plurality of scan point data includes: The plurality of scan point data are mapped to a plurality of grids included in the grid map, and the first scan point data mapped to the target grid is determined from the plurality of scan point data; From the first scan point data, determine the second scan point data where the elevation value is within the elevation value range; The second scan point data is determined as the target scan point data corresponding to the target grid and having an elevation value within the elevation value range.
9. A positioning status detection device, characterized in that, The device includes: The mapping module is used to map multiple map point data included in the point cloud map to multiple grids to obtain a grid map; The acquisition module is used to acquire multiple scan point data included in the scan point cloud of the target device; The first determining module is used to determine, from the grid map, a target grid that maps at least one of the map point data, and to obtain the elevation value range of the target grid; The second determining module is used to determine, from the plurality of scan point data, the target scan point data corresponding to the target raster and having an elevation value within the elevation value range; The detection module is used to determine target map point data that matches the target scan point data from the point cloud map, and to determine the distance between the target scan point data and the target map point data; to determine the proportion of the target scan point data in the multiple scan point data; and to determine the detection result based on the distance and the proportion, wherein the detection result indicates whether the positioning of the target device is in a normal or abnormal state.
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 method for detecting the positioning state as described in 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 the processor, the method for detecting the positioning state as described in any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Mobile carrier positioning method and device, computer equipment and medium
CN112362059A
Grid map construction method, grid map construction device and electronic equipment
CN115507840A
