Robot positioning method, chip and laser robot based on multi-layer grid map

By using a combination of multi-layer grid maps and laser sensors in robot positioning, the candidate solutions are calculated and judged layer by layer, and the problems of relocation time and high computing power consumption in the existing technology are solved, and fast and accurate positioning is achieved.

CN118859233BActive Publication Date: 2025-03-11AMICRO SEMICONDUCTOR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310474756.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-28
Publication Date
2025-03-11
Estimated Expiration
2043-04-28

AI Technical Summary

Technical Problem

The existing global relocation methods of robots take a long time and consume a lot of computing resources, making it difficult to achieve real-time and fine positioning.

Method used

Using a robot positioning method based on multi-layer grid map, data is collected through laser sensors, and the grid map with a resolution from low to high layer by layer is obtained, candidate solutions are traversed and real-time probability and values ​​are calculated, and feasible solutions are judged, and invalid solutions are reduced.

Benefits of technology

It realizes fast and accurate positioning in multi-layer grid maps, reduces relocation time and computing power consumption, and improves the robot's real-time and fine positioning capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118859233B_ABST
    Figure CN118859233B_ABST
Patent Text Reader

Abstract

The present application discloses a robot positioning method, a chip and a laser robot based on a multi-layer grid map. The robot positioning method comprises: the robot uses a laser sensor to collect laser point data; the robot obtains the multi-layer grid map layer by layer in order of resolution from low to high; the robot traverses each candidate solution in the current layer grid map; when the robot determines that the currently traversed candidate solution is a feasible solution, the robot controls the laser point data to stop adding the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution, and then sets the determined feasible solution as the candidate solution of the next layer grid map based on the ratio between the resolution of the next layer grid map and the resolution of the current layer grid map, and then recursively determines the feasible solution in the candidate solutions of each layer grid map in order of resolution from low to high, until the optimal feasible solution is determined, and the optimal feasible solution is set as the repositioning result of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of map repositioning, and in particular to a robot positioning method, a chip and a laser robot based on a multi-layer grid map. Background Art

[0002] At present, the global relocation method of the robot can adopt the global relocation technology based on LiDAR. For the relocation of sweepers using laser maps, the industry mostly adopts software algorithms, such as generating random particles within the position drift range of the known grid map, calculating the matching degree between the LiDAR data of all particles and the current map, selecting the best particles for replication, and then the robot resamples all particles, and repeatedly uses the matching method to traverse each generated LiDAR data; the position where the particle group converges after multiple iterations is the real posture of the robot. Among them, when performing global relocation based on LiDAR particle filtering, the robot needs to keep moving until the particles converge, which takes a long time. Because the use of matching methods and prediction of the correct robot posture require traversing various posture information generated by each LiDAR data, it consumes more computing power resources of the processor to complete a relatively accurate positioning operation, which is not conducive to the real-time positioning operation of the robot. Summary of the invention

[0003] The present application discloses a robot positioning method, chip and laser robot based on a multi-layer grid map. The specific technical solutions include:

[0004] The robot uses a laser sensor to collect laser point data; the robot obtains a multi-layer grid map layer by layer in the order of resolution from low to high; wherein the multi-layer grid map is a grid map with multiple resolution levels, and each layer of the grid map is configured with a resolution; the robot traverses each candidate solution in the current layer of the grid map, and controls the laser point data to add the corresponding multiple occupancy probability values ​​obtained at the candidate solution currently traversed in sequence to obtain a real-time probability sum value; then based on the currently calculated real-time probability sum value, it is determined whether the candidate solution currently traversed is a feasible solution or an infeasible solution; when the robot determines that the candidate solution currently traversed is a feasible solution, it controls the laser point data to stop adding the corresponding multiple occupancy probability values ​​obtained at the candidate solution currently traversed, and then sets the determined feasible solution as the candidate solution of the next layer of the grid map based on the ratio between the resolution of the next layer of the grid map and the resolution of the current layer of the grid map, and then recursively determines the feasible solution in the candidate solutions of each layer of the grid map in the order of resolution from low to high, until the optimal feasible solution is determined, and the optimal feasible solution is set as the relocation result of the robot.

[0005] In summary, when the robot determines a feasible solution or an infeasible solution in each layer of the grid map, it can immediately exit the probability value sum calculation, avoiding subsequent redundant calculations for the same candidate solution, so that the robot can complete a relatively accurate positioning operation in the multi-layer grid map within the coverage area of ​​its laser sensor without consuming a lot of computing resources, which is conducive to the real-time and precise positioning operation of the robot. On this basis, when the robot traverses the grid maps of each resolution layer by layer, it stops traversing and calculating the real-time probability and value when the candidate solution currently traversed is an infeasible solution, reducing the invalid calculation time, thereby greatly reducing the robot repositioning time. Moreover, when the candidate solution currently traversed is a feasible solution, it continues to traverse a higher resolution grid map, allowing the robot to start searching from a more likely position in the grid map of the corresponding resolution, reducing the amount of data calculation and search caused by the traversal of a higher resolution grid map, and improving the search speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 A schematic flow chart of a robot positioning method based on a multi-layer grid map is disclosed as an embodiment.

[0007] Figure 2 A flowchart diagram of a method for determining whether a candidate solution currently traversed is a feasible solution or an infeasible solution is disclosed as another embodiment. Implementation

[0008] The specific implementation of the present invention is further described below in conjunction with the accompanying drawings. When the mobile robot walks in the environment area, it uses a laser sensor to scan the surrounding environment. Generally, the laser probe rotates 360 degrees to scan, collects laser points fed back at various directions, and converts them into a grid coordinate system to establish a laser map. If the map resolution is distinguished and used for large-scale positioning calculations, a multi-layer grid map is established, which is regarded as a multi-resolution laser map composed of grid maps at multiple resolutions; then, at least one target position can be determined based on the probability information of the collected laser points falling into the map coordinate position of the resolution, so that the mobile robot can use the laser map to relocate the target position, which is a position where the robot has been located but has lost its posture information.

[0009] As an embodiment, the robot positioning method based on a multi-layer grid map disclosed in this embodiment includes the following basic positioning concepts in the multi-layer grid map: the robot positioning method includes: the robot uses a laser sensor to collect laser point data; the robot is equipped with a laser sensor for scanning the environment, collects laser point data, and can obtain multiple laser point data in each scanning circle; the laser point data collected by the laser sensor is also controlled to perform position transformation operations in parallel in the current layer grid map; each time the position transformation operation is performed, a target point and its corresponding occupancy probability value are obtained, wherein one laser point data performs a round of position transformation operations to obtain a target point, and the posture used by one laser point data to perform a round of position transformation operations can be used as a candidate solution. When the robot's position is set to the origin position of the coordinate system of the grid map, the posture used by one laser point data to perform a round of position transformation operations can be directly used as the posture of a target point, and the candidate solution can be used as a preliminary positioning result of the robot in the current layer grid map. For example, the robot controls the laser point data to perform multiple rounds of position transformation operations, that is, the laser point data is different but will perform the same type of coordinate offset operation (with the same coordinate offset in various coordinate axis directions) within the same clock cycle, and translate to the corresponding grid position in the currently acquired layer of the grid map, thereby obtaining multiple target offset coordinates and their corresponding occupancy probability values.

[0010] Moreover, the robot obtains the multi-layer grid map layer by layer in the order of resolution from low to high; wherein the multi-layer grid map is a grid map with multiple resolution levels, and each layer of the grid map is configured with a corresponding resolution; in this embodiment, a map at one resolution is a grid map of one level of resolution. In order to achieve a fine search for feasible solutions or candidate solutions, the robot obtains the multi-resolution grid map from the DDR memory in the order of resolution from low to high.

[0011] Regarding multi-resolution raster maps, it should be noted that multi-resolution is to set multiple levels of resolution from large to small resolution values. Raster maps at various resolutions constitute a multi-resolution raster map, which can also be understood as multi-layer raster maps and raster maps with multiple levels of resolution. Therefore, when a multi-resolution raster map is regarded as consisting of block maps of multiple resolutions, the multi-resolution raster map is a collection of multiple raster maps of different resolutions, and these raster maps of different resolutions are used to represent the same detection area. Each raster map is represented as a layer of raster map or a raster map of one level of resolution. When a multi-resolution raster map is regarded as a global raster map, The global grid map is a grid map that supports multiple resolutions to represent the same detection area. Each resolution corresponds to a layer of block map or a grid map of a level of resolution in the global grid map. That is, after traversing a grid map of one resolution in the global grid map, if the resolution value is changed, a grid map of another resolution can be traversed in the global grid map (a grid map of a different level of resolution relative to the grid map traversed last time). The global grid map can be recorded as a grid map that can be refreshed to different levels of resolution, so that the candidate solution processing system can repeatedly traverse or selectively traverse the map of the same detection area according to each level of resolution. On this basis, the robot positioning method disclosed in the present application generally starts from the grid map with the lowest resolution in the process of searching for multi-layer grid maps, and gradually increases the resolution in sequence to perform a fine search, that is, search in a map with a finer resolution. Here, in this specification, high resolution means that the resolution value is small, indicating a small offset step; low resolution means that the resolution value is large, indicating a large offset step.

[0012] The robot traverses each candidate solution in the current grid map, and controls the laser point data to add up the multiple occupancy probability values ​​corresponding to the candidate solution currently traversed in sequence, which is equivalent to accumulating the candidate solutions currently traversed in the current grid map to obtain the real-time probability and value; then based on the currently calculated real-time probability and value, it is determined whether the candidate solution currently traversed is a feasible solution or an infeasible solution. Among them, the candidate solution currently traversed corresponds to a round of position transformation operation. The robot calculates the real-time probability and value corresponding to a target point by adding up the occupancy probability values ​​corresponding to a target point obtained by the same round of position transformation operation in the current grid map; among the target points obtained by performing the same position transformation operation on multiple laser point data in the current grid map, the occupancy probability values ​​corresponding to each target point are added up once, and a real-time probability and value is obtained; the acquisition order of the real-time probability and value currently obtained is the same as the order of the target points involved in the addition.

[0013] It can be understood that the occupancy probability values ​​corresponding to the target points obtained by all laser point data in the same round of position transformation operations in the current layer grid map are added in sequence, including the coordinates of the robot scheduling target point and its corresponding occupancy probability value output and accumulation. When the occupancy probability value corresponding to the target point obtained by scheduling one of the laser point data in the same round of position transformation operations (the same type of position transformation operations) is added, a real-time probability and value corresponding to a candidate solution is obtained, that is, the real-time probability and value corresponding to the candidate solution corresponding to the same round of position transformation operations executed.

[0014] Based on the currently calculated real-time probability and value, it is determined whether the candidate solution currently traversed is a feasible solution or an infeasible solution. The judgment here can be a dynamic judgment process, that is, as the laser point data changes, the target point and its corresponding occupancy probability value calculated at the candidate solution currently traversed also change, and the real-time probability and value obtained by adding them in sequence also change, and the reference value or threshold required for the judgment also changes accordingly, which can adapt to the resolution change of the grid map and the change of the occupancy probability value at different grid positions. Improve the accuracy of judging feasible solutions or infeasible solutions from candidate solutions.

[0015] When the robot determines that the candidate solution currently traversed is a feasible solution, the control laser point data stops adding the corresponding multiple occupancy probability values ​​obtained at the candidate solution currently traversed. At this time, it is determined that the robot selects a feasible solution in the current layer grid map as the current optimal solution in the current layer grid map, and can be configured as the candidate solution in the next layer grid map obtained. Specifically, the determined feasible solution is set as the candidate solution of the next layer grid map based on the ratio between the resolution of the next layer grid map and the resolution of the current layer grid map, and then the feasible solution is recursively determined in the candidate solutions of each layer grid map in order from low to high resolution. Here, the recursive judgment refers to repeatedly executing each candidate solution traversed for each layer grid map, and judging whether the candidate solution currently traversed is a feasible solution or an infeasible solution based on the currently calculated real-time probability and value, and the traversal order of the grid map is in the order of low to high resolution. Repeat this execution until the optimal feasible solution is determined, and the optimal feasible solution is set as the relocation result of the robot.

[0016] It is worth noting that when the robot determines that the currently traversed candidate solution is a feasible solution, it controls the laser point data to stop adding the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution, because continuing to calculate the real-time probability and value for the same candidate solution on the basis of having determined a feasible solution is a redundant calculation; until the currently traversed candidate solution is updated to a new candidate solution in the current layer grid map, or a candidate solution in the next layer grid map, the robot's invalid calculation amount at the currently traversed candidate solution is reduced.

[0017] It should be noted that a target offset coordinate is the result of a round of position transformation operation of a laser point data, and a target offset coordinate can be indexed to the corresponding occupancy probability value. Among them, each output of a feasible solution or an infeasible solution determines the traversal of a candidate solution, and can convert the feasible solution into a candidate solution in the next layer of grid map according to the resolution difference. When the candidate solutions in a layer of grid map are traversed, it can be confirmed that the traversal of a layer of grid map is completed, and then the robot traverses the next layer of grid map in the order of resolution from low to high and recursively selects feasible solutions.

[0018] In some embodiments, N laser point data execute the same round of position transformation operation to obtain N target points, that is, N target offset coordinates that need to participate in the addition of occupancy probability values. Whenever a target point obtained by the same round of position transformation operation in the current layer grid map is calculated, the occupancy probability value corresponding to the target point is controlled to be added to the probability and value result previously added, and then the current added probability and value result is updated to the probability and value result previously added, wherein the initial added probability and value result is a value of 0. When the occupancy probability values ​​corresponding to the N target points under the same round of position transformation operation are added, the final real-time probability and value are obtained.

[0019] In the above embodiment, the robot positioning method also includes: when the robot determines that the currently traversed candidate solution is an infeasible solution, the control laser point data stops adding the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution, and then updates the next candidate solution to the currently traversed candidate solution, wherein the next candidate solution is a candidate solution from the next layer of the grid map, or a candidate solution that has not been traversed in the current layer of the grid map; it should be noted that continuing to calculate the real-time probability and value for the same candidate solution on the basis of an infeasible solution has been determined is a redundant calculation, so before the currently traversed candidate solution is updated to a new candidate solution, the control laser point data is kept stopped adding the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution, thereby reducing the amount of invalid calculations of the robot at the currently traversed candidate solution, saving the robot positioning time.

[0020] Then, the robot continues to control the laser point data to add up the multiple occupancy probability values ​​corresponding to the updated candidate solution of the current traversal in sequence to obtain the real-time probability and value, so as to continue to judge whether the updated candidate solution of the current traversal is a feasible solution or an infeasible solution based on the currently calculated real-time probability and value. It can be to continue to screen feasible solutions or infeasible solutions in the current layer of grid map, or to screen infeasible solutions or feasible solutions in a new layer of grid map. Recursively judge feasible solutions or infeasible solutions in the candidate solutions of each layer of grid map in order from low to high resolution, and repeat this until the optimal feasible solution is determined, and the optimal feasible solution is set as the relocation result of the robot.

[0021] In summary, whenever the robot determines a feasible solution or an infeasible solution in each layer of the grid map, it can exit the sum calculation of the probability value at the first time, avoiding subsequent redundant calculations for the same candidate solution. This allows the robot to complete a relatively accurate positioning operation in the multi-layer grid map within the coverage area of ​​its laser sensor without consuming more computing resources, which is conducive to the robot's real-time and precise positioning operation.

[0022] As an example, combining Figure 1 It can be seen that the robot positioning method includes:

[0023] Step A: The robot uses a laser sensor to collect laser point data. The robot is equipped with a laser sensor for scanning the environment to collect laser point data. Each scan can obtain multiple laser point data within the current detection area and feedback the posture information within the current detection area, including the posture information of surrounding obstacles and the posture information of the robot.

[0024] Step B: The robot obtains the multi-layer grid map layer by layer in the order of resolution from low to high, and then executes step C. In step B currently executed by the robot, the robot obtains the current layer grid map.

[0025] Specifically, the current layer grid map is obtained from the robot's internal memory, which comes from a multi-layer grid map, that is, a multi-resolution grid map. The multi-resolution grid map is a grid map at multiple resolutions, where each layer of the grid map corresponds to a resolution. In order to achieve a fine search for feasible solutions or candidate solutions, the robot obtains the multi-resolution grid map from the DDR memory in order from low to high resolution.

[0026] Whenever a laser point data is obtained, the laser point data is controlled to perform position transformation operations in parallel in the current layer of the grid map; whenever a position transformation operation is performed, the target point and its corresponding occupancy probability value are obtained, wherein a laser point data performs a round of position transformation operations to obtain a target point, and the posture used by a laser point data to perform a round of position transformation operations can be used as a candidate solution. The robot controls the same laser point data to perform multiple rounds of position transformation operations, that is, to execute multiple candidate solutions; different laser point data will perform the same type of coordinate offset operation (with the same coordinate offset in various coordinate axis directions), that is, to execute the same candidate solution, and translate to the corresponding grid position in the currently acquired layer of the grid map, so that multiple laser point data will obtain multiple target offset coordinates and their corresponding occupancy probability values ​​from one candidate solution.

[0027] Step C: The robot traverses each candidate solution in the current layer grid map, and controls the laser point data to add up the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution in sequence to obtain the real-time probability and value; then, based on the currently calculated real-time probability and value, it is determined whether the currently traversed candidate solution is a feasible solution or an infeasible solution.

[0028] In step C, the robot traverses each candidate solution in the current layer grid map and calculates the corresponding real-time probability and value, wherein the result of a laser point data calculated through a candidate solution is a target point, and each target point is configured with an occupation probability value; for the same candidate solution, the cumulative result of the occupation probability values ​​of multiple target points obtained by multiple laser point data is represented by the real-time probability and value, therefore, a real-time probability and value corresponds to multiple laser point data, and a result obtained by calculating a laser point data through a candidate solution corresponds to an occupation probability value. Each time the robot traverses a candidate solution in the current layer grid map, the occupation probability value of the target point corresponding to a laser point data collected by the laser sensor of the control robot is accumulated once to obtain a real-time probability and value. Among them, there are pre-set candidate solutions in the first acquired grid map (which can be the grid map of the lowest resolution level traversed by the robot, which can be recorded as the first layer grid map in this application).

[0029] In step C, the robot also determines whether the candidate solution currently traversed in the current layer grid map is a feasible solution or an infeasible solution based on the currently calculated real-time probability and value. It should be noted that the robot first selects the candidate solution from the current layer grid map and then determines the feasible solution and the infeasible solution. During the judgment / screening process, the robot will maintain a comparison with a fixed threshold or a dynamically changing threshold (a threshold that changes with the resolution of the grid map). When the robot determines that the candidate solution currently traversed in the current layer grid map is an infeasible solution, step D is executed; when the robot determines that the candidate solution currently traversed in the current layer grid map is a feasible solution, step E is executed.

[0030] Step D: When the robot determines that the candidate solution currently traversed is an infeasible solution, the robot controls the laser point data to stop adding the multiple occupancy probability values ​​corresponding to the candidate solution currently traversed, and then updates the next candidate solution to the candidate solution currently traversed; then, the robot controls the laser point data to sequentially add the multiple occupancy probability values ​​corresponding to the updated candidate solution currently traversed to obtain the real-time probability and value, so as to continue to judge whether the updated candidate solution currently traversed is a feasible solution or an infeasible solution based on the currently calculated real-time probability and value.

[0031] Therefore, when it is determined that an infeasible solution is judged in the current grid map, the robot stops traversing the target point and its corresponding occupancy probability value obtained at the candidate solution currently traversed by the laser point data that is not involved in the calculation, and naturally stops calculating the real-time probability and value. Then return to execute step B and / or step C. When the candidate solution is traversed in the current grid map, it is necessary to switch the grid map, then first return to execute step B to obtain the next grid map, then the next candidate solution is also a candidate solution in the next grid map, and the next grid map can be understood as a grid map with a higher resolution that has not been traversed by the robot; when the candidate solution is not traversed in the current grid map, first return to execute step C to obtain the next candidate solution, then the next candidate solution is a candidate solution that has not been traversed in the current grid map, that is, a candidate solution that has not participated in the aforementioned position transformation operation to obtain the target point and its corresponding occupancy probability value.

[0032] When it is determined that the last candidate solution traversed in the highest resolution grid map is judged as an infeasible solution, it can stop traversing the multi-layer grid map or stop executing the robot positioning method to call other repositioning algorithms. At this time, the preset posture data can be selected as the robot's repositioning result; or when it is determined that all traversed candidate solutions in the current grid map are judged as infeasible solutions, the feasible solution in the previous grid map is set as the optimal feasible solution and the calculation of the real-time probability and value is stopped, and the optimal feasible solution is set as the robot's repositioning result. Reduce the amount of invalid calculations and data search.

[0033] In some embodiments, when the robot is traversing each candidate solution in the current grid map, if the sum of the real-time probability and value of the target point added in real time and a certain dynamically changing reference value is less than or equal to a certain threshold, the robot determines that the candidate solution currently traversed is an infeasible candidate solution in the current grid map, that is, an infeasible solution. The robot will give priority to excluding the candidate solution when traversing the next grid map, and will not use it as a candidate solution for the next grid map. The infeasible solution will be given priority to excluding the candidate solution when traversing the next grid map, and will not use it as a candidate solution for the next grid map. In the next grid map as a grid map with a higher resolution (higher resolution level), the amount of search data and the calculation time can be reduced, and the infeasible solution can be screened out and the calculation of the real-time probability and value can be terminated in time before the sum of the occupation probability values ​​corresponding to all laser point data is calculated, thereby reducing the position transformation operation assigned to the same batch of laser point data by the infeasible solution, that is, reducing the invalid calculation of the laser point data in the grid map of the corresponding resolution, and speeding up the operation speed and search speed. When the current layer raster map is a raster map with a higher resolution (higher resolution level), the data calculation time can be greatly reduced.

[0034] Step E: When the robot determines that the candidate solution currently traversed is a feasible solution, it controls the laser point data to stop adding the multiple occupancy probability values ​​corresponding to the candidate solution currently traversed, and then sets the determined feasible solution as the candidate solution of the next grid map based on the ratio between the resolution of the next grid map and the resolution of the current grid map. Then, it recursively determines the feasible solution in the candidate solutions of each grid map in order from low to high resolution until the optimal feasible solution is determined, and sets the optimal feasible solution as the relocation result of the robot.

[0035] Combining step D and step E, it can be seen that no matter whether the candidate solution currently traversed by the robot is a feasible solution or an infeasible solution, the laser point data is controlled to stop adding the multiple occupancy probability values ​​corresponding to the candidate solution currently traversed, thereby reducing the robot repositioning time and improving search efficiency.

[0036] Specifically, when the robot determines that the candidate solution currently traversed is a feasible solution, it determines that the robot determines that the candidate solution is a feasible solution in the current layer grid map, and then the robot sets the screened feasible solution as the candidate solution in the next layer grid map based on the resolution difference between the next layer grid map and the current layer grid map. The robot can also directly update the screened feasible solution in the grid map with the same resolution to the candidate solution in the next layer grid map. The posture data corresponding to the candidate solution in the next layer grid map is written into the robot's built-in memory and saved for the robot to screen in the process of traversing the next layer grid map. Therefore, after determining that the robot has judged that the candidate solution in the current grid map is a feasible solution and set the screened feasible solution as the candidate solution in the next grid map, the robot needs to execute back to step B to obtain the next grid map, including obtaining the candidate solution in the next grid map, and then executing steps C to E to traverse and judge the candidate solutions one by one in the same grid map, that is, to achieve recursive judgment of candidate solutions one by one; and then repeatedly executing steps B to E to achieve recursive judgment of feasible solutions layer by layer, specifically traversing and judging the candidate solutions layer by layer, until a feasible solution is determined in the last obtained grid map and determined as the optimal feasible solution.

[0037] In some embodiments, in the current layer of the grid map, when the robot controls all laser point data to perform the same round of position transformation operations (corresponding to the same candidate solution) and the sum of the occupancy probability values ​​of the target points obtained is greater than or equal to a threshold, the candidate solution corresponding to the same round of position transformation operations is set as a feasible solution, that is, a feasible solution of the current layer of the grid map, and step E is executed; before the robot traverses the next layer of the grid map, it is necessary to first divide the feasible solutions of the current layer of the grid map into corresponding candidate solutions, so as to improve the search precision in the next layer of the grid map as a grid map with higher resolution (higher resolution level). Specifically, after the robot determines that the candidate solution traversed in the current layer grid map is a feasible solution, the robot will screen out the feasible solution from the current layer grid map in step E, wherein the posture data corresponding to the screened feasible solution includes the coordinates of the target point obtained in the current layer grid map by the same round of position transformation operation (the coordinates in the current layer grid map can be used for positioning in the next layer grid map after resolution conversion and decomposition, and will be converted in proportion according to the difference in resolution) and its corresponding occupancy probability value, so as to become the candidate solution of the next layer grid map, and set it as The candidate solutions of the next grid map layer correspond to the posture data and can be used for the laser point data to perform the same round of position transformation operation; therefore, when traversing to the next grid map layer, when the laser point data performs the same round of position transformation operation in the next grid map layer, the candidate solutions of the next grid map layer are read from the memory provided in the robot, without controlling the laser point data to repeatedly perform the same round of position transformation operation, so that the robot can recursively search for the optimal feasible solution layer by layer in the grid map with a resolution from low to high, and can provide the robot with the posture data required for repositioning. Therefore, the robot first forms the initial candidate solution set on the lowest resolution grid map and starts searching for feasible solutions, and then traverses the multi-resolution grid map layer by layer from low to high resolution, and selects feasible solutions from the candidate solution set of each layer of the grid map and decomposes them into multiple candidate solutions as candidate solutions for the next layer of the grid map, that is, converts the current optimal solution into a candidate solution that adapts to the resolution of the next layer of the grid map, until the final feasible solution is selected in the highest resolution grid map as the optimal feasible solution, forming a relocalization result, and then it is considered to complete the robot's relocalization process in the multi-resolution grid map.

[0038] The robot executes steps A to E, including traversing and judging all candidate solutions in the same layer of the grid map by repeatedly executing steps C to E, and traversing and judging the candidate solutions in each layer of the grid map layer by layer by repeatedly executing steps B to E, traversing to the last layer of the grid map (the grid map with the highest resolution), and screening out each feasible solution from the candidate solutions of the last layer of the grid map as the optimal feasible solution set, providing repositioning posture data for the grid map with the highest resolution, optionally, when the position of the robot is set as the origin position of the coordinate system of the grid map, the relatively accurate posture information of the robot can be repositioned through the optimal feasible solution set, or the posture of the laser point data currently scanned by the laser sensor in the multi-resolution grid map can be found, that is, the global repositioning process is completed, and the global repositioning is considered to be successful, otherwise the repositioning search fails.

[0039] In summary, in the process of traversing grid maps of various resolutions layer by layer, the robot stops traversing and calculating the real-time probability and value when the currently traversed candidate solution is an infeasible solution, reducing invalid calculation time, thereby greatly reducing the robot repositioning time; when the currently traversed candidate solution is a feasible solution, it continues to traverse a layer of grid maps with higher resolution, allowing the robot to start searching from a more likely position in the grid map of the corresponding resolution, reducing the amount of data calculation and search brought by the traversal of a layer of grid maps with higher resolution, and improving the search speed.

[0040] In some embodiments, in the process of the robot recursively judging feasible solutions from candidate solutions of each layer of the grid map in order of resolution from low to high, there are:

[0041] If there is a candidate solution in the last grid map that is judged to be a feasible solution, the feasible solution judged by the robot in the last grid map is set as the optimal feasible solution, and the optimal feasible solution is set as the relocation result; wherein, the last grid map is the grid map with the highest resolution that is searched in order from low to high resolution on the basis of the robot updating the feasible solution of the current grid map to the candidate solution of the next grid map. The pose data involved in the feasible solution in the highest resolution grid map is configured as the pose data required for the robot to relocate in the grid map with the highest resolution.

[0042] If all candidate solutions in the S-th layer grid map cannot be judged as feasible solutions, and there are candidate solutions in the S-1th layer grid map that are judged as feasible solutions, then the feasible solution judged by the robot in the S-1th layer grid map is set as the optimal feasible solution, and the optimal feasible solution is set as the relocalization result. Among them, S is an integer greater than the value 1, and S is less than or equal to the maximum number of layers allowed to be configured in a multi-layer grid map, corresponding to the level of the last layer grid map. In this way, the pose data involved in the feasible solution in the S-1th layer grid map can be configured as the pose data required for the robot to relocalize in the S-1th layer grid map or a higher layer grid map.

[0043] Preferably, the laser sensor of the robot collects laser point data located in the current detection area, and the robot stores grid maps of the current detection area at multiple resolutions, and configures the grid maps at multiple resolutions to be multi-layer grid maps arranged in order of resolution from low to high; each layer of grid map is a block map generated within the effective detection range of the robot's laser sensor; each layer of grid map or each resolution grid map can be regarded as a block map generated within the effective detection range of the laser sensor, but the resolution required to represent the effective detection range is different, and the degree of refinement displayed is different. The current detection area is represented by: all wheel position transformation operations required to be performed by all laser point data in the current layer of grid map, and the position drift area formed in the corresponding angles and coordinates; the current detection area is represented by all wheel position transformation operations required to be performed by all laser point data in the current layer of grid map, and the position drift area formed in the corresponding angles and coordinates (candidate solutions); in a layer of grid map, the set of all candidate solutions to be traversed pre-set in a layer of grid map can be defined as a candidate solution set, and each candidate solution to be traversed is a combination of angles and coordinates to be traversed.

[0044] In a layer of raster maps, each candidate solution to be traversed is a combination of angles and coordinates to be traversed; one candidate solution corresponds to a round of position transformation operations; a round of position transformation operations is represented as a combination of an angle and a coordinate, or a combination of an angle deflection and a coordinate offset, so that the coordinate offset of a feasible solution in the current layer of raster maps is used to represent a coordinate area in the next layer of raster maps, that is, a raster map with a higher resolution needs to use more grids to represent an area of ​​the same physical size in a raster map with a lower resolution.

[0045] For a layer of grid map, the current layer of grid map is the layer of grid map currently obtained by the robot; the next layer of grid map is the layer of grid map obtained by the robot next time; the resolution of the next layer of grid map is higher than the resolution of the current layer of grid map. Both the current layer of grid map and the next layer of grid map are laser grid maps, which accept laser point data (i.e., the position coordinates of laser points, scanning points, or point cloud points) falling into the corresponding grid and match an occupancy probability value in the grid. For the grid map, the entire environment scanned by the laser sensor is first divided into rectangular grids with the same side length. The side length of the grid is selected according to the size of the autonomous mobile device where the feasible solution processing system is located and the need for environmental representation. As for the resolution of the map, it can be represented by the number of grids. For example, under a 0.05m resolution map, 1m needs to be represented by 20 grids. Then, through the continuous movement of the robot in the environment, the information of each grid in the scanned environment is obtained and an occupancy probability value is assigned to represent the probability of this grid being occupied. Each grid represents a rectangular block, and a value in the range of (0,1) is used to indicate the probability of this block being occupied, indicating whether there is an obstacle at the corresponding physical location. Therefore, the map data of the grid map may include the coordinates of the grid, the position information of the target point in the grid map, the occupancy probability value corresponding to the target point falling into the corresponding grid, the grid side length, the grid map coordinate system elements, the map resolution, the coordinate offset step required for coordinate offset in the grid map, and the angle deflection step required for angle deflection in the grid map.

[0046] In the above embodiment, a round of position transformation operations corresponding to a candidate solution includes an angle deflection operation and a coordinate shift operation, and the coordinate shift operation includes a horizontal coordinate shift operation and a vertical coordinate shift operation; wherein the same round of position transformation operations represents the same type of angle deflection operations and the same type of coordinate shift operations; a round of position transformation operations includes: controlling a laser point data to first perform an angle deflection operation, then perform a coordinate shift operation along one coordinate axis direction, and then perform a coordinate shift operation along another coordinate axis direction to obtain a target point, so as to transform a laser point data into a target point through a round of position transformation operations, and a target point is configured with an occupation probability value in a layer of grid map; wherein, when one coordinate axis direction represents the horizontal coordinate axis direction, the other coordinate axis direction represents the vertical coordinate axis direction, so as to indicate that the horizontal coordinate shift operation is performed first, and then the vertical coordinate shift operation is performed; when one coordinate axis direction represents the vertical coordinate axis direction, the other coordinate axis direction represents the horizontal coordinate axis direction, so as to indicate that the vertical coordinate shift operation is performed first, and then the horizontal coordinate shift operation is performed, which can be understood as constituting one coordinate shift operation. In the coordinate system of each layer of the grid map, one coordinate axis direction is set perpendicular to another coordinate axis direction.

[0047] In the same round of position transformation operation, the offset direction of the first coordinate offset and the coordinate offset amount generated by the first coordinate offset relative to the coordinates before execution in the offset direction are preset, and the offset direction of the later coordinate offset and the coordinate offset amount generated by the later coordinate offset relative to the coordinates before execution in the offset direction are also preset.

[0048] When traversing the target point in the grid map or performing at least one round of position transformation operation, the maximum number of grids allowed to be accommodated in the horizontal axis direction of the grid map is preferably greater than or equal to the product of the maximum number of offsets allowed for the same reference coordinate in the horizontal axis direction of the grid map and the horizontal axis offset step; the maximum number of grids allowed to be accommodated in the vertical axis direction of the grid map is preferably greater than or equal to the product of the maximum number of offsets allowed for the same reference coordinate in the vertical axis direction of the grid map and the vertical axis offset step.

[0049] The robot does not restrict the execution order between the horizontal coordinate offset operation and the vertical coordinate offset operation in a round of position transformation operation. The robot is pre-configured with the maximum number of offsets allowed for the reference coordinates in the horizontal coordinate axis direction of the current layer grid map and the coordinate offset step length in the horizontal coordinate axis direction, and the maximum number of offsets allowed for the reference coordinates in the vertical coordinate axis direction of the current layer grid map and the coordinate offset step length in the vertical coordinate axis direction according to the resolution of the current layer grid map.

[0050] As an embodiment, the robot positioning method is divided into at least one of the following steps:

[0051] Step 1: The robot traverses each candidate solution in the current layer grid map, and controls the laser point data to perform a round of position transformation operations corresponding to the currently traversed candidate solution to obtain the target point. Each time a target point is obtained, the number of target points is counted once. Then execute step 2.

[0052] The robot will traverse each candidate solution in the currently determined candidate solution set by repeatedly executing step 1. The robot will obtain a target point and its corresponding occupancy probability value each time it traverses a candidate solution in the current layer grid map by executing step 1 once, and count the number of target points obtained; then execute step 2 until the current layer grid map is traversed or the process is terminated because an infeasible solution is screened out.

[0053] It should be noted that each candidate solution corresponds to one round of position transformation operation, and the laser point data in each data channel performs at least one round of position transformation operation in parallel; the current layer grid map is a layer of grid map currently obtained by the feasible solution acquisition module.

[0054] Step 2: Control all laser point data to add up the occupation probability values ​​corresponding to each target point obtained in a round of position transformation operations corresponding to the currently traversed candidate solution. Each time the addition is performed, the current target point and its corresponding occupation probability value are determined according to the order of addition of the occupation probability values ​​corresponding to the target points, and then the current sum is set as the real-time probability sum of the current target point; then, based on the real-time probability sum of the current target point and the number of target points, determine whether the currently traversed candidate solution is a feasible solution or an infeasible solution, and determine whether the currently traversed candidate solution is a feasible solution or an infeasible solution based on the currently calculated real-time probability sum; and when a feasible solution is determined, update the currently determined feasible solution to the current optimal solution; then execute step 3.

[0055] Specifically, in step 1, each time a candidate solution is traversed in the current layer grid map, the occupation probability values ​​corresponding to each target point obtained by controlling the laser point data in a round of position transformation operation corresponding to the currently traversed candidate solution in step 2 are sequentially added. Each time the addition is performed, the current target point and its corresponding occupation probability value are determined according to the order of addition of the occupation probability values ​​corresponding to each target point, and then the current sum value is set as the real-time probability sum value of the current target point; then, based on the relationship between the real-time probability sum value of the current target point, the maximum single-point probability and the preset screening threshold, a feasible solution is determined from the candidate solutions determined in step 1 and set as the current optimal solution. Then, step 3 is executed.

[0056] Each time step 2 is executed, a candidate solution is traversed and a corresponding round of position transformation operations is performed, and based on this, it is determined whether the corresponding candidate solution is a feasible solution. In the process of the robot traversing a layer of grid map, each candidate solution currently determined is traversed by repeatedly executing step 2, including successively determining feasible solutions or infeasible solutions, and updating the determined feasible solution to the current optimal solution as the current optimal solution in the multi-layer grid map. After traversing the first layer of grid map, the obtained candidate solution set is the set of candidate solutions corresponding to each round of position transformation operations that need to be performed in the current layer of grid map. The robot controls all laser point data to sequentially add the occupation probability values ​​corresponding to each target point obtained in a round of position transformation operations corresponding to the currently traversed candidate solution. Each time the addition is performed, the current target point and its corresponding occupation probability value are determined according to the order of addition of the occupation probability values ​​corresponding to each target point, and it is determined that the currently added occupation probability value is an occupation probability value currently participating in the addition among the occupation probability values ​​corresponding to all target points obtained in the same round of position transformation operations, and the current added sum is set as the real-time probability sum value of the current target point; then, based on the real-time probability sum value of the current target point and the maximum single-point probability, a feasible solution is screened out from the candidate solution set determined in step 1, specifically, the relationship between the calculation result of the real-time probability sum value of the current target point and the maximum single-point probability and a preset screening threshold is judged to determine whether the currently traversed candidate solution is a feasible solution.

[0057] Whenever a feasible solution is determined in the current grid map, the number of feasible solutions in the current grid map is increased by one until all candidate solutions in the current grid map are traversed and determined to be feasible solutions in turn, and then the number of feasible solutions in the current grid map is counted.

[0058] It can be understood that by repeatedly executing steps 1 and 2, the occupation probability values ​​corresponding to each target point obtained by controlling all laser point data in a round of position transformation operations corresponding to the currently traversed candidate solution are added in sequence until all the occupation probability values ​​corresponding to the target points obtained by all laser point data in the same round of position transformation operations are added to obtain the real-time probability and value of the last target point. By repeatedly executing step 2, all laser point data are controlled to obtain the corresponding real-time probability and value by executing the position transformation operations corresponding to all candidate solutions, and the number of real-time probability and values ​​obtained cumulatively is equal to the number of target points in the current layer grid map.

[0059] In step 2, the occupation probability values ​​corresponding to each target point obtained by a round of position transformation operation corresponding to the candidate solution currently traversed by all laser point data are added in sequence, which is equivalent to an accumulation operation. The number of additions can be regarded as the number of accumulations of occupation probability values ​​one by one, and the sum obtained by each addition needs to be threshold judged to determine whether the candidate solution corresponding to the current target point is an infeasible solution or a feasible solution in the current layer grid map to determine whether to stop the accumulation operation before traversing all target points, and update the feasible solution to the current optimal solution when it is judged to be a feasible solution.

[0060] Step 3: After a feasible solution is determined in the current grid map by executing step 2, the determined feasible solution is set as at least one candidate solution of the next grid map based on the ratio between the resolution of the next grid map and the resolution of the current grid map, which is equivalent to setting the updated current optimal solution as at least one candidate solution of the next grid map, so as to determine at least one round of position transformation operation required to be performed in the next grid map; after all candidate solutions are traversed in the current grid map by executing step 2, it is determined that all feasible solutions are screened out from the current grid map, the next grid map is updated to the current grid map described in step 1, and then the candidate solution of the next grid map (also the candidate solution first set in step 3) is updated to the candidate solution described in step 1, which can be used as the horizontal and vertical coordinate values ​​and angle values ​​of the target point calculated or screened in real time by the latest executed step 1 in some embodiments; the target point obtained last time and its corresponding occupancy probability value can be updated, or stored in order of resolution from low to high. Then, repeat the steps 1, 2 and 3 until the last grid map layer (i.e., the grid map layer with the highest resolution) is traversed and a feasible solution is determined therefrom, or when the number of feasible solutions determined in the current grid map layer is zero, the latest set current optimal solution in the same grid map layer is set as the optimal feasible solution, and the optimal feasible solution is set as the relocation result of the robot, or it can be determined that the robot completes all candidate solutions in a grid map layer. Specifically, when the last grid map layer (i.e., the grid map layer with the highest resolution) is traversed and a feasible solution is determined therefrom, the feasible solution in the last grid map layer (i.e., the grid map layer with the highest resolution) is updated to the current optimal solution and becomes the optimal feasible solution; or when the number of feasible solutions determined in the current grid map layer is zero, the current optimal solution set in the previous grid map layer is set as the optimal feasible solution.

[0061] It should be noted that in the current grid map, the occupancy probability value corresponding to a target point obtained by a laser point data in each round of position transformation operation is added once to obtain a corresponding real-time probability and value. For the same round of position transformation operation, the number of accumulated real-time probability and values ​​is equal to the number of target points in the current grid map. Among them, the current grid is the grid map currently obtained by the robot; the next grid map is the grid map obtained by the robot next time; the number of candidate solutions included in the next grid map is less than the number of candidate solutions included in the current grid map; the resolution of the next grid map is higher than the resolution of the current grid map.

[0062] Furthermore, from the above steps 2 and 3, it can be seen that the occupancy probability values ​​corresponding to the target points obtained by all laser point data in each round of position transformation operations are added together to obtain the corresponding map probability and value. The number of map probability and value is equal to the number of candidate solutions in the current layer grid map. Moreover, all feasible solutions in the current layer grid map have been screened out through step 2 to form a feasible solution set in the current layer grid map. At this time, the feasible solutions in the screened feasible solution set are set as candidate solutions in the next layer grid map in turn. Due to the resolution difference between maps of different levels, it is not necessarily necessary to directly update the currently screened feasible solution set to the candidate solution set described in step 1. It is still necessary to decompose the horizontal and vertical coordinate values ​​and angle values ​​of the target points calculated in real time in the latest executed step 2 (when executing step 2 in the first layer grid map) or screened out according to the change in resolution. After the feasible solutions in the selected feasible solution set are set as candidate solutions in the next grid map layer in turn, step 3 also updates the candidate solution set in the next grid map layer to the candidate solution set described in step 1, and updates the target points corresponding to the candidate solutions in the next grid map layer to the target points obtained by a round of position transformation operations corresponding to the candidate solutions currently traversed by all the laser point data described in step 1, and updates the occupancy probability values ​​corresponding to the target points corresponding to the candidate solutions in the next grid map layer to the occupancy probability values ​​corresponding to the target points obtained by a round of position transformation operations corresponding to the candidate solutions currently traversed by all the laser point data described in step 1. This is used for subsequent repositioning in a grid map with a higher resolution, so that the robot can search for the optimal feasible solution set layer by layer in the grid map with a resolution from low to high.

[0063] The robot also repeatedly executes step 1 to step 3 to select the corresponding feasible solutions and infeasible solutions from the candidate solution set of each layer of the grid map in order from low to high resolution; until the highest resolution layer of the grid map is traversed and a feasible solution is selected from it, or the number of feasible solutions selected in a layer of the grid map is zero (all candidate solutions in a layer of the grid map may be infeasible solutions), the current optimal solution is set as the repositioning result of the robot, which is also equivalent to setting the latest selected feasible solution as the optimal feasible solution, wherein, when the highest resolution layer of the grid map is traversed and a feasible solution set is selected from it, it can be determined that the traversal of the multi-layer grid map has been completed. When the number of feasible solutions screened out by the robot in the latest traversed layer of grid map is equal to zero, that is, when the number of feasible solutions screened out by the robot in the current layer of grid map by repeatedly executing step 2 is zero, it is determined that there is no feasible solution in the current layer of grid map, and there is no need to continue traversing the grid map with higher resolution, then the current optimal solution screened out in the previous layer of grid map is set as the optimal feasible solution, wherein the previous layer of grid map is the last obtained layer of grid map; the number of candidate solutions included in the previous layer of grid map is greater than the number of candidate solutions included in the current layer of grid map; the resolution of the previous layer of grid map is lower than the resolution of the current layer of grid map. Thus, the optimal feasible solution is searched layer by layer in the grid maps with resolutions from low to high.

[0064] It should be noted that each time the robot executes step 2 in a layer of grid map, the current target point is the target point corresponding to the currently added occupation probability value; the currently added occupation probability value is the occupation probability value corresponding to all target points obtained in the same round of position transformation operation, and the currently added sum value is the sum value of the occupation probability values ​​that have been added among the occupation probability values ​​corresponding to the target points obtained in the same round of position transformation operation. The robot first selects feasible solutions from the candidate solutions in the current layer of grid map, and then sets the selected feasible solution set as the candidate solution in the next layer of grid map; then, in the order of resolution from low to high, the feasible solution is selected from the candidate solutions of each layer of grid map in turn to compress the search range of the candidate solution layer by layer, and can traverse and calculate the target points while judging the feasible solution in the same layer of grid map, until the highest resolution layer of grid map is recursively traversed and feasible solutions are selected from it. Since the multi-resolution raster map is traversed and screened layer by layer, feasible solutions are obtained at finer resolutions. The higher the resolution level, the higher the judgment accuracy can be improved.

[0065] As an embodiment, in step 3, the method of setting the determined feasible solution as the candidate solution of the next layer of grid map based on the ratio between the resolution of the next layer of grid map and the resolution of the current layer of grid map includes: the robot divides the feasible solution screened out in the current layer of grid map into multiple candidate solutions in the next layer of grid map by using the ratio between the resolution of the next layer of grid map and the resolution of the current layer of grid map, including but not limited to being evenly divided into multiple candidate solutions along a specific angle direction, or proportionally reduced to a smaller number of candidate solutions, preferably the result of equal-distance division of coordinate offset and equal-angle division of angle deflection; and the occupation probability value corresponding to the target point obtained by performing the corresponding position transformation operation corresponds to the occupation probability value corresponding to the target point corresponding to the feasible solution before the division (the target point obtained in the most recently executed step 1); In the embodiment, the ratio of the coordinate offset step corresponding to the feasible solution in the current grid map to the coordinate offset step corresponding to the candidate solution divided out in the next grid map is equal to the ratio between the resolution of the next grid map and the resolution of the current grid map; the ratio between the resolution of the next grid map and the resolution of the current grid map is equal to the ratio between the coordinate offset step required for performing the coordinate offset operation in the current grid map and the coordinate offset step required for performing the coordinate offset operation in the next grid map, so that the next grid map described in step 3 is updated to the current grid map described in step 1, including converting the coordinate offset step required for performing the coordinate offset operation in the current grid map into the coordinate offset step required for performing the coordinate offset operation in the next grid map, so as to realize the robot changing layers and traversing the multi-resolution grid map.

[0066] In this embodiment, the position change data involved in a round of position transformation operations that the robot needs to perform on the laser point data in step 1 is a candidate solution marked as a layer of grid map; the position transformation operations that the laser point data needs to perform in each layer of the grid map include coordinate offset operations, and the coordinate offset operations are correspondingly configured with coordinate offset steps. The coordinate offset steps are preferably scaled down to be expressed using the number of grids, which is consistent with the resolution of the grid map. The position transformation operations that the laser point data needs to perform in each layer of the grid map include coordinate offset operations, and the coordinate offset operations are correspondingly configured with coordinate offset steps, so that one candidate solution corresponds to one coordinate offset step. The robot implements traversing the multi-layer grid map according to the new coordinate offset step, and controls a round of position transformation operations corresponding to the candidate solution currently traversed or the same round of position transformation operations is configured according to the new coordinate offset step, so that the laser point data performs a round of position transformation operations corresponding to the candidate solution currently traversed in the grid map of the new resolution. Therefore, in step B, the robot traverses each layer of the grid map in the order of resolution from low to high, and reduces the coordinate offset step required for the current layer of the grid map to adapt to the next layer of grids, that is, the grid map with higher resolution. Among them, the position transformation operation required to be performed by the laser point data in each layer of the grid map includes a coordinate offset operation, and the coordinate offset operation is correspondingly configured with a coordinate offset step, and the coordinate offset step is proportionally reduced to be represented by one grid; when the number of grids used to mark a preset physical size in the grid map is more, the resolution of the grid map is higher; when the number of grids used to mark a preset physical size in the grid map is less, the resolution of the grid map is lower.

[0067] On the basis of the above-mentioned embodiment, the step 3 further includes: whenever a feasible solution determined is set as at least one candidate solution of the next grid map, the target point obtained by the position transformation operation of the laser point data corresponding to the candidate solution of the next grid map is updated to the target point obtained by a round of position transformation operation corresponding to the candidate solution currently traversed for all the laser point data described in step 1, and the occupancy probability value corresponding to the target point obtained by the position transformation operation corresponding to the candidate solution of the next grid map is updated to the occupancy probability value corresponding to each target point obtained by a round of position transformation operation corresponding to the candidate solution currently traversed for all the laser point data described in step 1, and then return to execute step 1.

[0068] Whenever a feasible solution in the current grid map is set as a plurality of candidate solutions in the next grid map, some candidate solutions in the candidate solution set described in step 1 can be constituted, wherein the number of candidate solutions set in the next grid map is equal to the product of the ratio of the coordinate offset step in each coordinate axis direction in the current grid map to the coordinate offset step in the same coordinate axis direction in the next grid map. If the resolution of the next grid map is higher than that of the current grid map, the ratio of the coordinate offset step in the horizontal axis direction in the next grid map to the coordinate offset step in the horizontal axis direction in the current grid map is greater than 1, and the ratio of the coordinate offset step in the vertical axis direction in the next grid map to the coordinate offset step in the vertical axis direction in the current grid map is also greater than 1. Therefore, the number of candidate solutions for updating a feasible solution in the current grid map to the next grid map is greater than 1. In this way, each feasible solution in the screened feasible solution set is repeatedly set as multiple candidate solutions in the next layer of grid map in step 2, forming a candidate solution set in the next layer of grid map, and then in step 3, the candidate solution set in the next layer of grid map is updated to the candidate solution set described in step 1.

[0069] On the basis of the above embodiment, in a grid map with a resolution of 1.6m, 1.6m is used as the coordinate offset step to obtain an initial set of candidate solutions, and then the real-time probability and predicted probability are calculated for each target point obtained after a round of position transformation operation corresponding to the candidate solution for all laser point data, and a feasible solution or an infeasible solution is screened out by judging the size of the predicted probability and value and a preset screening threshold, and the feasible solution is used as the current optimal solution of the multi-layer grid map, while the infeasible solution is abandoned and the calculation of the real-time probability and predicted probability corresponding to the same candidate solution is stopped. The next grid map is a grid map of 0.8m resolution level, and the coordinate offset step is 0.8m. The real-time probability and value and the predicted probability and value corresponding to each target point are obtained through the candidate solutions in the next grid map, and the feasible solution is screened out by judging the size of the predicted probability and value and the preset screening threshold. According to the method of setting the screened feasible solution (also regarded as the current optimal solution in the multi-layer grid map) as the candidate solution in the next grid map in the aforementioned embodiment, the candidate solution in the next grid map is set by using the ratio between the resolution of the next grid map and the resolution of the current grid map. For example, a feasible solution (a current optimal solution) in the grid map of 0.8m resolution level is updated to 4 candidate solutions in the grid map of 1.6m resolution level. In addition, preferably, for the same candidate solution or the same round of position transformation operation, the number of target points obtained in the grid map of 0.8m resolution level is equal to the number of target points obtained in the grid map of 1.6m resolution level. In the process of the robot traversing the multi-layer grid map in order from low to high resolution, there is a process of repeatedly executing steps 1 to 3, and the robot recursively searches for feasible solutions or infeasible solutions in the multi-layer grid map in turn until searching the grid map with a resolution of 0.05m, obtaining the real-time probability and value and the predicted probability and value corresponding to each target point in the grid map with a resolution of 0.05m for each laser point data, and filtering out the infeasible solutions in each layer of the grid map by judging the size of the predicted probability and value and the preset screening threshold, and combining the number of target points in the same layer of the grid map to determine the optimal feasible solution in the layer-by-layer search. In addition, in some embodiments, the condition for terminating the search is that no feasible solution can be screened out in the grid map with a resolution of 0.1m, at which time, the optimal feasible solution is regarded as a feasible solution screened out in the grid map with a resolution of 0.2m.

[0070] As an embodiment, when the robot executes step 2 in the first layer of the grid map, that is, when traversing the first layer of the grid map, the feasible solution acquisition module sets the candidate solution in the first layer of the grid map acquired by it as the initial candidate solution, and controls the laser point data to perform a round of position transformation operations corresponding to the initial candidate solution to obtain the corresponding target point, including the coordinates of the target point; the target point corresponding to the initial candidate solution is obtained through the corresponding position transformation operation. Then, based on the real-time probability and value of the current target point, the relationship between the maximum single-point probability and the preset screening threshold, a feasible solution is screened out from the currently determined candidate solutions and set as the current optimal solution.

[0071] In the first-layer grid map, the target point corresponding to the initial candidate solution is obtained through the corresponding position transformation operation. For example, the laser point data is translated in the Cartesian coordinate system of the grid map in the horizontal and vertical axes to generate a new target point, wherein the translation amount in the various coordinate axis directions is determined by the corresponding position transformation operation or candidate solution. In some embodiments, the candidate solution is directly used as the pose data of the target point. The target point corresponding to the initial candidate solution and its corresponding occupancy probability value are obtained when the robot executes step 2 in the first-layer grid map. The target point corresponding to the initial candidate solution obtained when executing step 1 in the first-layer grid map needs to be saved.

[0072] When the robot executes step 2 in the Mth layer grid map, it selects each target point and its corresponding occupation probability value obtained by a round of position transformation operation of the laser point data corresponding to the currently traversed candidate solution, wherein the selected laser point data and its corresponding occupation probability value obtained by a round of position transformation operation corresponding to the currently traversed candidate solution are obtained when executing steps 2 to 3 in the M-1th layer grid map, M is greater than or equal to the value 2, and M is less than or equal to the maximum number of layers allowed to be configured in a multi-layer grid map. The target point corresponding to the current optimal solution obtained when executing step 2 in each layer of the grid map needs to be saved, including the coordinates of the target point corresponding to the current optimal solution and its corresponding occupation probability value.

[0073] It should be noted that the first layer of grid map obtained by the robot from its built-in memory is the data of the first layer of grid map, wherein the first layer of grid map is the grid map with the lowest resolution in the pre-stored multi-layer grid map, and the candidate solutions in the grid map with the lowest resolution are all pre-set. This reduces the repeated position transformation operation of the same batch of laser point data in the multi-layer grid map, and saves the amount of calculation in the process of searching the map layer by layer.

[0074] It should be noted that, in the multi-layer grid map, the resolution of each layer of the grid map is represented by the coordinate offset step required for the laser point data to perform the coordinate offset operation in the corresponding layer of the grid map; when the resolution of each layer of the grid map is different, the coordinate offset step required for the laser point data to perform the coordinate offset operation in each layer of the grid map is different. In combination with the above-mentioned embodiment, it can be seen that the robot updates the next layer of the grid map described in step 3 to the current layer of the grid map described in step 1 as follows: the coordinate offset step required for the next layer of the grid map is updated to the coordinate offset step required for the current layer of the grid map, and the feasible solution acquisition module realizes traversing the multi-resolution grid map according to the new coordinate offset step, and controls a round of position transformation operations corresponding to the candidate solution currently traversed or the same round of position transformation operations is configured according to the new coordinate offset step, so that the laser point data performs a round of position transformation operations corresponding to the candidate solution currently traversed in the grid map of the new resolution. In this embodiment, the posture change data involved in a round of position transformation operations that the robot needs to perform on the laser point data is a candidate solution marked as a layer of grid map; the position transformation operations that the laser point data needs to perform in each layer of the grid map include coordinate offset operations, and the coordinate offset operations are correspondingly configured with a coordinate offset step, and the coordinate offset step is preferably proportionally reduced to be expressed using the number of grids.

[0075] Preferably, in the multi-layer grid map, that is, in the grid map with multiple levels of resolution, the resolution of each layer of grid map (grid map of each level of resolution) is represented by the coordinate offset step required for performing a coordinate offset operation in the corresponding layer of grid map using laser point data; the resolution value of each layer of grid map (grid map of each level of resolution) is different, and the coordinate offset step required for performing a coordinate offset operation in each layer of grid map by laser point data is different, so that updating the next layer of grid map to the current layer of grid map is expressed as: updating the coordinate offset step required for the next layer of grid map to the coordinate offset step required for the current layer of grid map. Therefore, the feasible solution acquisition module reduces the coordinate offset step required for the current layer of grid map each time it traverses a layer of grid map in order from low to high resolution, so as to adapt to the next layer of grid, that is, the grid map with higher resolution. Among them, the position transformation operation required to be performed on the laser point data in each layer of the grid map includes a coordinate offset operation, and the coordinate offset operation is correspondingly configured with a coordinate offset step, and the coordinate offset step is proportionally reduced to be represented by a grid; when the number of grids used to mark a preset physical size in the grid map is more, the resolution of the grid map is higher; when the number of grids used to mark a preset physical size in the grid map is less, the resolution of the grid map is lower.

[0076] Optionally, when the robot selects feasible solutions in the highest-resolution layer grid map by executing step 3, the feasible solutions in the highest-resolution layer grid map are set as the optimal feasible solutions; at this time, when the current position of the robot is set as the origin of the coordinate system in the highest-resolution layer grid map, the robot sets all feasible solutions in the highest-resolution layer grid map selected in step 3 as a set of relative postures of the robot, forming a set of repositioning posture data of the robot, wherein the highest-resolution layer grid map is the layer grid map with the largest number of layers in the multi-layer grid map. Therefore, when the robot's position is set as the origin of the coordinate system of the grid map, the relatively accurate posture information of the robot or other position points to be repositioned can be repositioned through the optimal feasible solution, or the posture of the laser point data currently scanned by the laser sensor in the multi-resolution grid map can be found, and the global repositioning process is completed, otherwise the repositioning search fails.

[0077] As an embodiment, when the robot executes step 2, the number of laser point data participating in the position transformation operation in the current layer grid map and the initial probability and value are first determined, wherein the number of laser point data participating in the position transformation operation in the current layer grid map is the laser point data collected by the robot in real time at a position point, which can form a batch of point clouds, and its number can be regarded as the number of laser point data required for locating back to a position point. Whenever a laser point data is controlled to perform a round of position transformation operation corresponding to one of the candidate solutions, a target point and its corresponding occupation probability value are obtained; whenever an occupation probability value corresponding to a target point is obtained, the occupation probability value obtained is controlled to be added to the initial probability and value to obtain a real-time probability and value, and the current real-time probability and value is updated to the initial probability and value participating in the next addition operation. Among them, the initial probability and value calculated by the robot for the first addition is preferably a value of 0. Thus, for each laser point data or target point, the probability and value information required for judging a feasible solution or an unsolvable solution is provided.

[0078] In the process of executing step 2, the method of judging whether the currently traversed candidate solution is a feasible solution or an infeasible solution based on the real-time probability and value of the current target point and the number of target points is as follows: Figure 2 As shown, it is divided into the following steps:

[0079] Step 21: The robot first determines that the number of laser point data participating in the position transformation operation in the current layer grid map is N, controls the N laser point data to perform a round of position transformation operation respectively, and obtains N target points and their corresponding occupation probability values. Then, step 22 is executed.

[0080] Step 22, the robot controls the occupancy probability values ​​corresponding to the N target points to be added in sequence, which can also be understood as a cumulative operation of multiple occupancy probability values ​​in sequence; when the robot adds to the i-th target point, it calculates that the current sum is the real-time probability sum value sum(i) of the i-th target point, and records i through a counter as a real-time count value, the order of adding the target points; then executes step 23. Among them, the current target point is the i-th target point; i is greater than or equal to the preset reference number, less than or equal to N, the preset reference number is less than or equal to N; N is a positive integer, the preset reference number is preferably three quarters of N, and generally N reaches hundreds.

[0081] Step 23, the robot calculates the sum of sum(i) and (Ni)*max_prob to obtain the predicted probability and value; then determines whether the predicted probability and value is greater than or equal to the first preset screening threshold value. If so, execute step 24 to further determine a feasible solution. Otherwise, determine that the candidate solution corresponding to the round of position change operation performed in step 21 is an infeasible solution, exclude it from the candidate solution set, and control step 22 to stop executing, that is, stop calculating sum(i) and (Ni)*max_prob, and also stop calculating the predicted probability and value. These are all for the occupancy probability value calculation scenario of the candidate solution corresponding to the same round of position change operation, until the round of position change operation described in step 21 is updated to a new round of position change operation, then start executing step 22. Therefore, before i changes to N, that is, before sum(N) is obtained by addition, infeasible solutions are screened out from the candidate solution set of the current layer grid map in turn, and invalid candidate solutions are eliminated in advance through dynamic judgment (reflected in that i will change and be fed back to sum(i) and (Ni)*max_prob). It is also convenient to exit the addition operation of step 22 as soon as an infeasible solution is found, avoiding the robot from performing too many cumulative calculation operations.

[0082] In step 23, whenever the robot obtains an occupation probability value corresponding to a target point, the control adds the currently obtained occupation probability value to the real-time probability sum value sum(i) obtained last time to obtain the real-time probability sum value of the current target point. (Ni)*max_prob is used to represent a dynamic reference value, which changes with the change of i. The sum of sum(i) and (Ni)*max_prob is regarded as a dynamic predicted probability sum value. Since the robot traverses the multi-resolution grid map layer by layer, the sum of sum(i) and (Ni)*max_prob calculated by the robot in each layer of the grid map will be continuously updated.

[0083] Step 24, the robot controls i to add itself once, and then updates the result of i after self-addition to i, and automatically loops to execute step 22 to control the occupancy probability value corresponding to the new target point to be added to the real-time probability and value sum(i) of the i-th target point described in step 22, until i adds itself to be equal to N, and obtains the real-time probability and value sum(N) of the N-th target point. At this time, (Ni)*max_prob can be omitted to save calculation amount. The real-time probability and value sum(i) of the i-th target point outputted by the robot in sequence increases continuously until i is updated to be equal to N, and obtains the real-time probability and value sum(N) of the N-th target point. At this time, the count reaches N, and the addition operation with the number of target points as one cycle is completed. At this time, it can be regarded as completing a traversal or repositioning in the current layer grid map. Then execute step 25.

[0084] Step 25, determine whether sum(N) is greater than or equal to the second preset screening threshold, if yes, set the candidate solution corresponding to the round of position transformation operation performed in step 21 as a feasible solution in the current layer grid map, otherwise determine that the candidate solution corresponding to the round of position transformation operation performed in step 21 is an infeasible solution, exclude it from the candidate solution set, and can be removed from the candidate solution set. Among them, the first preset screening threshold is less than or equal to the second preset screening threshold, which improves the accuracy of feasible solution screening.

[0085] Specifically, the robot determines whether the predicted probability and value sum(N) is greater than or equal to a second preset screening threshold. If so, it determines that the candidate solution corresponding to the round of position transformation operation performed in step 21 is a feasible solution in the current layer grid map. When the probability error is ignored, it can be regarded as completing a repositioning in the current layer grid map. Otherwise, it determines that the candidate solution corresponding to the round of position transformation operation performed in step 21 is infeasible, thereby realizing the use of a more accurate threshold as a screening criterion to accurately determine the feasible solutions and infeasible solutions among the candidate solutions corresponding to each target point in each layer of the grid map.

[0086] It should be noted that max_prob is the maximum single-point probability, and the maximum single-point probability, addition order, number of additions, first preset screening threshold, second preset screening threshold, and preset reference number are all preset, so that the robot can directly call relevant parameters for judgment operations. Preferably, the first preset screening threshold and the second preset screening threshold set in each layer of the grid map are also updated to adapt to changes in map resolution and the number of feasible solutions; or the first preset screening threshold, the second preset screening threshold and max_prob remain unchanged in traversing each layer of the grid map.

[0087] In summary, the robot uses corresponding thresholds as screening criteria in different calculation and judgment stages to determine feasible solutions and infeasible solutions in the candidate solution set in each layer of the grid map. Through the cyclic search method disclosed in steps 1 to 3 and steps 21 to 25, it is possible to exclude invalid candidate solutions in the next traversed grid map in advance when searching in each layer of the grid map, reduce the number of repeated addition calculations in step 22, and improve the positioning speed of the robot in the multi-layer grid map.

[0088] On the basis of the above embodiment, whenever the occupation probability value corresponding to the i-th target point is controlled to be added to obtain sum(i) in the current layer grid map, other laser point data are controlled to perform the same round of position transformation operation in the data channel where the i-th target point is located to obtain the i+1-th target point. It can be understood that in traversing the current layer grid map, the order of the laser point data currently participating in the position transformation operation is consistent with the order of the i+1-th target point, and is also consistent with the order of the current round of position transformation operation. Moreover, the round of position transformation operation corresponding to the i-th target point and the round of position transformation operation corresponding to the i+1-th target point are the same round of position transformation operation, so that N laser point data are configured to perform a round of position transformation operation, and the corresponding N target points are controlled to perform addition operations in sequence, and the corresponding real-time probability and value are generated in real time, and the infeasible solution and the feasible solution are judged in real time.

[0089] When it is determined in the current grid map that the candidate solution corresponding to the current round of position transformation operation is an infeasible solution, the addition of the occupation probability value corresponding to the i+1th target point to sum(i) is stopped. At this time, the robot will also stop calculating the sum of sum(i) and (Ni)*max_prob. Then, the data channel where the i-th target point is located is not controlled to control other laser point data that have not been judged to perform the same round of position transformation operation, and the addition of sum(i+1) is also stopped. The calculation of the sum of sum(i+1) and (Ni-1)*max_prob is stopped. Then step 22 can be regarded as stopping execution to reduce the amount of invalid calculation. At the same time, a new round of position transformation operation is triggered to be updated to the same round of position transformation operation, that is, the N laser point data are controlled to perform a new round of position transformation operation in the data channel where they are located, and they are located in the current grid map until all candidate solutions in the candidate solution set of the current grid map are traversed, and it is determined that the infeasible solution is excluded from the candidate solution set of the current grid map. Of course, it is also possible to trigger N laser point data to perform a new round of position transformation operation in the next layer of grid map in the data channel where they are located.

[0090] In the embodiment described in steps 21 to 25, after the robot determines that the candidate solution corresponding to the round of position transformation operation performed in step 21 is an infeasible solution by executing step 23, it controls a new round of position transformation operation to be updated to the round of position transformation operation performed in step 21, and then repeats steps 21 to 25 to control the N laser point data to perform a new round of position transformation operation respectively, until all candidate solutions in the current layer grid map are traversed, and the N laser point data complete the position transformation operations corresponding to all candidate solutions in the current layer grid map, and then the robot starts to traverse the candidate solutions in the next layer grid map, then the robot updates the next layer grid map to the current layer grid map described in step 1 according to the implementation method disclosed in the aforementioned steps 1 to 3; repeats steps 1 to 3 until a layer of grid maps with the highest resolution is traversed and a feasible solution set is screened out therefrom, or when the number of feasible solutions screened out in the current layer grid map is zero, the latest screened feasible solution set is set as the optimal feasible solution set, and the traversal and repositioning of the multi-layer grid map is completed.

[0091] Preferably, for a layer of grid map currently traversed by the robot, in the process of sequentially adding the occupation probability values ​​corresponding to N target points, after traversing from the occupation probability value corresponding to the first target point to the occupation probability value corresponding to the Nth target point, if there is no feasible solution among the candidate solutions corresponding to the N target points, it is determined that there is no feasible solution in the current layer of grid map, and then the execution of step 1, step 2, step 3 and step 4 is stopped, and the feasible solution screened out last time is set as the robot's relocation posture data, that is, the current optimal solution is set as the robot's relocation posture data, which is also used as the robot's relocation result. Alternatively, for a layer of grid map currently traversed by the robot, the laser point data corresponding to the maximum positioning probability and value is selected from all the laser point data required for positioning back to a position point as the robot's relocation posture data; wherein N represents the number of laser point data required for positioning back to a position point. Thus, the stop execution condition of the robot positioning method is determined and the relatively accurate relocation result of the robot is determined using the probability and value.

[0092] It should be noted that each laser point data obtains a target point and its corresponding occupation probability value in a layer of grid map by executing a round of position transformation operation corresponding to a candidate solution, and the matching relationship between a target point obtained and its corresponding occupation probability value is preset; for the same laser point data, the matching relationship between a target point and a round of position transformation operation is preset; so that the robot can call it in advance, specifically, it can be read from the built-in memory; in this embodiment, the occupation probability value corresponding to a target point is used to reflect the possibility of the position point to be relocated falling into the grid corresponding to the target point in a layer of grid map, the robot is equipped with at least one laser sensor, and all the laser point data are laser point data collected by the laser sensor and located in the current detection area, the robot is located in the current detection area, and the position point to be relocated includes the current position point of the robot. Specifically, the sum of the occupation probability values ​​corresponding to each target point obtained by all laser point data in the same round of position transformation operation corresponds to sum(N), which is used to reflect the possibility of the position point to be relocated falling into the position drift range generated by the round of position transformation operation in a layer of grid map, and the position point to be relocated includes the current position point of the robot.

[0093] As a way to evaluate the probability value of the robot falling into a position in the current detection area, the sum of the occupancy probability values ​​corresponding to each target point obtained by all laser point data in the same round of position transformation operation corresponds to sum(i) disclosed in the above embodiment, which can be used to reflect the possibility of the current position point of the robot falling into the position drift range generated by the same round of position transformation operation in a layer of grid map. When i is equal to the number of all laser point data collected by the laser sensor, the number of position transformation operations required to be performed in grid maps with different resolutions is not necessarily different. It can be the same round of position transformation operation, but all of them are performed by the same batch of laser point data in each resolution grid map. In addition, the coverage range of the current detection area includes: all round position transformation operations required to be performed by all laser point data in the first layer grid map, and the position drift range generated in the corresponding angle and coordinate axis direction. The corresponding position transformation operations performed in each resolution grid map can be regarded as being screened out from all round position transformation operations required to be performed in the first layer grid map.

[0094] It should be noted that each layer of grid map is a block map generated within the effective detection range of the laser sensor, and the effective detection range of the laser sensor covers the current detection area; each layer of grid map is a block map of preset size, which is used to describe the area within the effective detection range of the laser sensor, covering the position drift range generated at various angles and coordinate axis directions. In the same layer of grid map, a candidate solution corresponding to a round of position transformation operation is a combination of a coordinate and an angle, or a combination of a coordinate offset and an angle deflection. Therefore, based on the difference in resolution, the feasible solution acquisition module obtains a coordinate offset of a feasible solution from the lowest resolution grid map corresponding to an area in the relatively high resolution grid map, and the relatively high resolution grid map contains a larger number of grids than the number of grids used to represent the coordinate offset of a feasible solution in the lowest resolution grid map.

[0095] Preferably, the block map is a local map of a preset size configured according to the relocation algorithm used in the current scene, and is a grid map within the effective detection range of the laser probe; when the laser sensor is moved to a new position, the effective detection range of the laser sensor is updated, so that the information of the block map configured by the relocation algorithm also changes. Among them, a target point is represented in the block map, and the coordinate position obtained by a round of position transformation operation relative to the origin of the coordinate system; the position transformation operation is set up to index the grid position and occupancy probability value of the position point to be relocated in a layer of grid map, and screens layer by layer to obtain more detailed probability results in a higher resolution grid map; the robot needs to perform a round of position transformation operation starting from the origin of the coordinate system of the block map, and the target point and its corresponding occupancy probability value obtained can be reflected as the posture of the robot.

[0096] As another way to evaluate the probability value of the robot falling into a position in the current detection area, for each laser point data required to locate a position to be relocated in the current detection area, the positioning probability and value corresponding to the same laser point data is used to reflect the possibility of the robot's current position point falling into the grid corresponding to the same laser point data in a layer of grid map; it should be emphasized that the embodiment takes a partial environment map as an example, that is, the current position of the robot is taken as the origin, and a grid map of each resolution is generated within the effective search range of the laser sensor. Considering that the laser beam emitted by the laser sensor has a certain range, that is, it can only scan an area within a certain range, preferably, when determining the search range, the range of the laser beam can be used as a basis, and a layer of grid map can be generated within the range of 5 meters around the autonomous mobile device. When the robot loses its positioning, there is a certain deviation in the current posture. For this reason, this embodiment performs a round of position transformation operation based on the current posture according to the set angle deflection and coordinate offset, and forms a corresponding candidate solution. Therefore, when the robot moves, there is a certain drift error based on the current posture. This embodiment performs a grid position transformation operation based on the current posture according to the coordinate offset and angle deflection set on the environment map to obtain the transformed robot posture information. The candidate solution can then be relocated to a posture information in a layer of grid map. The positioning probability and value are used to reflect the accurate positioning of the robot in this layer of grid map. Figure 1 The larger the probability of the position, the more accurate the robot is positioned on the grid. Figure 1 Therefore, when the robot processes all the preset number of laser point data collected by the laser sensor at one time into all the positioning probabilities and values ​​required for positioning a robot, the repositioning algorithm disclosed in the prior art can select the laser point data corresponding to the positioning probability and value with the largest value as the repositioning result, that is, the position restored on a layer of grid map is positioned with the preset number of laser point data as the unit.

[0097] Taking the current position of the laser sensor as the origin of the coordinate system, a grid map is generated within the effective detection range of the laser sensor. The preset number of laser point data is a batch of laser point data obtained by the robot using the laser radar to scan a circle at the current position point, which can be marked as laser point data.

[0098] Optionally, when determining the occupancy probability value of an area in an environment map, the environment map can be processed to obtain a corresponding grid map, and the positioning probability corresponding to the obstacles in the grid map can obey a normal distribution. Each grid length in the grid map has a corresponding coordinate range, which can be expressed as a map resolution. The environment map contains obstacles and blank areas; after the grid map is determined, it can be saved so that it can be directly used the next time the positioning is restored. On this basis, according to the current posture of the robot, the position of the robot in the grid map can be determined, and then according to the sum of the occupancy probability values ​​of each corresponding grid point (the target point that may drift to) scanned by the laser probe, it can be understood as the sum of the occupancy probability values ​​corresponding to the target point obtained by a laser point data in the current layer grid map through the position transformation operation corresponding to the candidate solution required to be executed / existing, that is, the positioning probability sum; or according to the sum of the occupancy probability values ​​of all target points obtained in the same type of coordinate offset operation and angle deflection operation of multiple laser points.

[0099] In some embodiments, when the laser point data corresponding to the positioning probability and value are used to determine the repositioning posture data of the robot, the positioning probability and value are calculated in the following manner: when the robot traverses to a layer of grid map with the highest resolution and screens out feasible solutions therefrom, for each laser point data required for locating back a position point, the target point required to calculate the positioning probability and value corresponding to a laser point data is the target point obtained by the laser point data after the current optimal solution determined in the layer of grid map with the highest resolution (i.e., after performing the corresponding position transformation operation), then the occupancy probability value corresponding to the target point required for calculating the positioning probability and value corresponding to a laser point data is the occupancy probability value corresponding to the target point corresponding to the current optimal solution determined for the last time in step 3; the feasible solution screened out by the robot in the layer of grid map with the highest resolution is the optimal feasible solution, and there may be multiple optimal feasible solutions in the same layer of grid map, then the layer of grid map with the highest resolution is the layer of grid map where the optimal feasible solution is located when the robot executes step 3. Then the robot controls the same laser point data to add the occupancy probability values ​​corresponding to the target points obtained by all the current optimal solutions in the highest resolution layer of the grid map to obtain the positioning probability and value corresponding to the same laser point data; then the robot selects the laser point data corresponding to the positioning probability and value with the largest value from all the laser point data required to locate a position point as the robot's repositioning posture data, including the coordinates and angle information of the laser point. In the case of executing step 3, when the number of feasible solutions screened out by the robot in the current layer of the grid map is zero, it is determined that the number of feasible solutions judged by the robot in the layer of the grid map by repeatedly executing step 2 is zero, then the robot retrieves the feasible solution screened out in the previous layer of the grid map and sets it as the optimal feasible solution, then the previous layer of the grid map is the layer of the grid map where the optimal feasible solution is located when the robot executes step 3. The robot controls the same laser point data to add up the occupancy probability values ​​corresponding to all target points obtained through feasible solutions in the previous grid map to obtain the positioning probability and value corresponding to the same laser point data; then, from all the laser point data required to locate a position point, select the laser point data corresponding to the largest positioning probability and value as the robot's repositioning posture data. In summary, according to the resolution level and the number of feasible solutions of the traversed grid map, the robot is controlled to traverse the grid map where the optimal feasible solution is located layer by layer in the grid map with low to high resolution, and the positioning probability and value corresponding to each laser point data are calculated accordingly, and then the robot's repositioning posture data is formed in the grid map where the optimal feasible solution is located, reducing the invalid traversal time of the grid map.

[0100] Among them, the previous grid map is the last grid map obtained by the robot; the number of target points included in the previous grid map is greater than the number of target points included in the current grid map; the number of candidate solutions included in the previous grid map is greater than the number of candidate solutions included in the current grid map; a round of position transformation operations required to generate a target point for a laser point data in the previous grid map corresponds to a candidate solution; the resolution of the previous grid map is lower than the resolution of the current grid map.

[0101] It should be noted that, for a laser point data, all target points corresponding to a laser point data are all target points obtained by executing a position transformation operation corresponding to all candidate solutions in the same layer of the grid map for a laser point data; a positioning probability sum value corresponding to each laser point data configuration required to locate a position point can be a sum of occupancy probability values ​​corresponding to target points obtained by executing a position transformation operation corresponding to all candidate solutions in the same layer of the grid map for a laser point data, or a sum of occupancy probability values ​​corresponding to target points obtained by executing a position transformation operation corresponding to all feasible solutions in the same layer of the grid map for a laser point data.

[0102] As an embodiment of a position transformation operation, each time an angle deflection operation is performed on the same laser point data, a new reference coordinate is obtained, and then a coordinate shift operation is performed on the new reference coordinate to obtain a new target offset coordinate and index it to the corresponding occupancy probability value; a round of position transformation operations corresponding to a candidate solution includes an angle deflection operation and a coordinate shift operation, and a coordinate shift operation includes a horizontal coordinate shift operation and a vertical coordinate shift operation; wherein, the same round of position transformation operations represents the same type of angle deflection operations and the same type of coordinate shift operations.

[0103] In the first layer of grid map, the number of angle deflection operations required for the same laser point data is preset, and the number of coordinate offset operations required for the same reference coordinate is preset. It can be configured that during the execution of step 1 in the first layer of grid map, for the first round of position transformation operations required for all laser point data, initial posture data is provided for repeating steps 1 to 3 or steps A to E; wherein, the first layer of grid map acquired by the robot for the first time is the map data of the first layer of grid map acquired, wherein the first layer of grid map acquired by the robot is the grid map of the lowest resolution, and the candidate solutions in the grid map of the lowest resolution are all preset. wherein, the number of angle deflection operations or the number of angle deflections included in a round of position transformation operations are both greater than or equal to 1, and the number of coordinate offset operations or the number of coordinate offsets included in a round of position transformation operations are both greater than or equal to 1, and preferably, the number of angle deflection operations included in a round of position transformation operations is equal to the number of coordinate offset operations included in the same round of position transformation operations. Based on the same batch of laser point data collected by the robot, the pose data required to provide the corresponding candidate solutions for traversing the grid map layer by layer is realized.

[0104] As an embodiment, the same type of angle deflection operation requires the same number of deflection operations, and the same type of coordinate offset operation includes the same type of horizontal coordinate offset operation and the same type of vertical coordinate offset operation, so that in the same layer of grid map, the target point obtained after the same type of angle deflection operation and the same type of coordinate offset operation has the same posture relationship in the same layer of grid map relative to the same laser point data before the current round of position transformation operation is performed, wherein the angle deflection amount involved in the same type of angle deflection operation and the coordinate offset amount involved in the same type of coordinate offset operation correspond to the candidate solution disclosed in the aforementioned embodiment, specifically one candidate solution. In the same layer of grid map, when the same type of angle deflection operation and the same type of coordinate offset operation are represented by the same round of position transformation operation, the same type of angle deflection operation requires the same number of deflection operations, and the same type of coordinate offset operation includes coordinate transformation calculations with the same number of horizontal coordinate offsets and coordinate transformation calculations with the same number of vertical coordinate offsets. The horizontal coordinate offset operation includes performing a horizontal coordinate offset along the horizontal coordinate axis, and the vertical coordinate offset operation includes performing a vertical coordinate offset along the vertical coordinate axis.

[0105] Therefore, the same type of horizontal coordinate offset operation requires the same number of coordinate offsets (relative to the first offset in the direction of the horizontal coordinate axis), and the required coordinate offset direction is the same (for example, specified along the positive direction of the horizontal coordinate axis or the negative direction of the horizontal coordinate axis), so that the same type of horizontal coordinate offset operation produces the same coordinate offset on the horizontal coordinate axis; the same type of vertical coordinate offset operation requires the same number of coordinate offsets (relative to the first offset in the direction of the vertical coordinate axis), and the required coordinate offset direction is the same (for example, specified along the positive direction of the vertical coordinate axis or the negative direction of the vertical coordinate axis).

[0106] It should be noted that for different laser point data, the same type of angle deflection operation requires the same deflection direction and the same number of current deflection required, and the same set of angle deflection operation formulas (composed of trigonometric functions) can be applied. However, since the present application sets a feasible solution in the next layer of grid map based on the candidate solution in the first layer of grid map, the screening of feasible solutions is limited to searching the grid map layer by layer, and the candidate solution in the previous layer of grid map will be reused. Therefore, in addition to searching for feasible solutions in the first layer of grid map, the same set of angle deflection operation formulas (composed of trigonometric functions) will be used to perform trigonometric function calculations to obtain each target point. In the subsequent reading of each layer of grid map with a resolution higher than the first layer of grid map, the corresponding target point that has been calculated is directly called. Moreover, since the storage array pre-stores the trigonometric function values, when using the laser point data in the first layer of grid map for trigonometric function calculation, the trigonometric function values ​​can be directly called for simple addition and multiplication operations. Thus, when relocating the grid maps of each layer, the trigonometric function calculation time is saved.

[0107] On the basis of the above embodiment, the number of horizontal coordinate shifts that occur in a layer of raster maps with relatively high resolution by a type of horizontal coordinate shift operation is greater than the number of horizontal coordinate shifts that occur in a layer of raster maps with relatively low resolution by the same type of horizontal coordinate shift operation, which can indicate that the number of grids shifted in the horizontal coordinate axis direction of a layer of raster maps with relatively high resolution by a type of horizontal coordinate shift operation is greater than the number of grids shifted in the horizontal coordinate axis direction of a layer of raster maps with relatively low resolution by the same type of horizontal coordinate shift operation; wherein the resolution level of the layer of raster maps with relatively high resolution (which can be expressed using the inverse of the coordinate shift step length) The coordinate offset step length required for the laser point data to perform the same type of horizontal coordinate offset operation on a layer of raster map with relatively low resolution is greater than the coordinate offset step length required for the laser point data to perform the same type of horizontal coordinate offset operation on a layer of raster map with relatively high resolution, wherein the offset amount of a type of horizontal coordinate offset operation in the horizontal coordinate axis direction of a layer of raster map with relatively high resolution is equal to the offset amount of the same type of horizontal coordinate offset operation in the horizontal coordinate axis direction of a layer of raster map with relatively low resolution.

[0108] The number of vertical coordinate offsets of a type of vertical coordinate offset operation in a layer of raster map with relatively high resolution is greater than the number of vertical coordinate offsets of the same type of vertical coordinate offset operation in a layer of raster map with relatively low resolution, which can indicate that the number of grids offset in the vertical coordinate axis direction of a layer of raster map with relatively high resolution by a type of vertical coordinate offset operation is greater than the number of grids offset in the vertical coordinate axis direction of a layer of raster map with relatively low resolution by the same type of vertical coordinate offset operation; wherein, the resolution level of the layer of raster map with relatively high resolution (which can be expressed by the inverse of the coordinate offset step) is higher than The resolution level of a raster map with a relatively low resolution (which can be represented by the inverse of the coordinate offset step); the coordinate offset step required for the laser point data to perform the same type of ordinate offset operation on a raster map with a relatively low resolution is greater than the coordinate offset step required for the laser point data to perform the same type of ordinate offset operation on a raster map with a relatively high resolution, wherein the offset amount of a type of ordinate offset operation in the ordinate axis direction of the raster map with a relatively high resolution is equal to the offset amount of the same type of ordinate offset operation in the ordinate axis direction of the raster map with a relatively low resolution.

[0109] On the basis of the above embodiment, the coordinate shift step required for the laser point data to perform the same type of horizontal coordinate shift operation on a layer of grid map with relatively low resolution is a first horizontal step, and the coordinate shift step required for the laser point data to perform the same type of horizontal coordinate shift operation on a layer of grid map with relatively high resolution is a second horizontal step; the coordinate shift step required for the laser point data to perform the same type of vertical coordinate shift operation on a layer of grid map with relatively low resolution is a first vertical step, and the coordinate shift step required for the laser point data to perform the same type of vertical coordinate shift operation on a layer of grid map with relatively high resolution is a second vertical step; in the case where the laser point data performs the same type of horizontal coordinate shift operation and the same type of vertical coordinate shift operation, after the same candidate solution is configured from a layer of grid map with relatively low resolution to a layer of grid map with relatively high resolution, the number of candidate solutions decomposed on the layer of grid map with relatively high resolution is equal to: the product of the ratio of the first horizontal step to the second horizontal step (which can be recorded as the ratio of the offset step in the horizontal axis direction) and the ratio of the first vertical step to the second vertical step (which can be recorded as the ratio of the offset step in the vertical axis direction). Therefore, the same batch of laser point data does not necessarily have fewer candidate solutions in a grid map with a higher resolution, because a feasible solution in a relatively low-resolution grid map will be split into multiple candidate solutions in a grid map with a relatively high resolution due to the resolution ratio, specifically according to the offset step ratio in the horizontal direction and the offset step ratio in the vertical direction, which is caused by the coordinate offset step or resolution difference in different layers of grid maps. Therefore, in step 3, a feasible solution in the current layer of grid map is set as multiple candidate solutions in the next layer of grid map, and each feasible solution in the current layer of grid map is set as multiple candidate solutions in the next layer of grid map according to the resolution difference, until a candidate solution set in the next layer of grid map is formed, and then the filtered feasible solution set is determined to be updated to the candidate solution set described in step 1.

[0110] For example, when the resolution of the next layer of raster map is twice that of the current layer of raster map, a feasible solution of the current layer of raster map will be decomposed into 4 candidate solutions in the next layer of raster map. Specifically, the same type of horizontal coordinate offset operation in the current layer of raster map consists of one horizontal coordinate offset, and one horizontal coordinate offset requires a first horizontal coordinate offset step in the current layer of raster map. After updating to the candidate solution of the next layer of raster map, the same type of horizontal coordinate offset operation in the current layer of raster map consists of two horizontal coordinate offsets, and one horizontal coordinate offset requires a second horizontal coordinate offset step in the next layer of raster map, where the ratio of the first horizontal coordinate offset step to the second horizontal coordinate offset step is equal to 2; similarly, the same type of vertical coordinate offset operation in the current layer of raster map consists of one vertical coordinate offset, and one vertical coordinate offset requires a first vertical coordinate offset step in the current layer of raster map. After updating to the candidate solution of the next layer of raster map, the same type of vertical coordinate offset operation in the current layer of raster map consists of two vertical coordinate offsets, and one vertical coordinate offset requires a first vertical coordinate offset step in the next layer of raster map. A second vertical and horizontal coordinate offset step is required, wherein the ratio of the first vertical coordinate offset step to the second vertical coordinate offset step is equal to 2; therefore, the number of candidate solutions in the next layer of the grid map that will be decomposed from a feasible solution of the current layer of the grid map is equal to the ratio of the first horizontal coordinate offset step to the second horizontal coordinate offset step multiplied by the ratio of the first vertical coordinate offset step to the second vertical coordinate offset step, thereby decomposing into candidate solutions of corresponding number based on the step difference required for coordinate offset between maps of different resolution levels. When updating the candidate solution to a grid map with higher resolution, a feasible solution in a grid map with relatively low resolution will be split into multiple candidate solutions, corresponding to the horizontal coordinate offset step being reduced according to the ratio of the first horizontal coordinate offset step to the second horizontal coordinate offset step, and the vertical coordinate offset step being reduced according to the ratio of the first vertical coordinate offset step to the second vertical coordinate offset step, then the number of offsets required to be performed increases, and accordingly, the number of coordinate offset operations required to be performed increases, and the number of corresponding candidate solutions required increases, so that the number of candidate solutions in the map with higher resolution increases.

[0111] Preferably, a round of position transformation operation includes: whenever the position transformation processing module performs an angle deflection operation, the position transformation processing module controls the corresponding reference coordinate to first perform a coordinate offset operation along one coordinate axis direction, and then perform a coordinate offset operation along another coordinate axis direction; wherein, when one coordinate axis direction represents the horizontal coordinate axis direction, the other coordinate axis direction represents the vertical coordinate axis direction, to indicate that the horizontal coordinate offset operation is performed first, and then the vertical coordinate offset operation is performed; when one coordinate axis direction represents the vertical coordinate axis direction, the other coordinate axis direction represents the horizontal coordinate axis direction, to indicate that the vertical coordinate offset operation is performed first, and then the horizontal coordinate offset operation is performed. In the coordinate system of each layer of the grid map, one coordinate axis direction is vertically set to another coordinate axis direction. One horizontal coordinate offset operation and one vertical coordinate offset operation are combined as the coordinate offset operation in one round of position transformation operation. In some embodiments, within the position transformation processing module, executing a round of position transformation operations includes: each time the position transformation processing module executes an angle deflection operation, the position transformation processing module controls the corresponding reference coordinates to first perform a coordinate offset along one coordinate axis direction, and then perform a coordinate offset along another coordinate axis direction to form a horizontal coordinate offset operation and a vertical coordinate offset operation, which can be understood as constituting a coordinate offset operation.

[0112] When traversing the target point in the grid map or performing at least one round of position transformation operation, the maximum number of grids allowed to be accommodated in the horizontal axis direction of the grid map is preferably greater than or equal to the product of the maximum number of offsets allowed for the same reference coordinate in the horizontal axis direction of the grid map and the horizontal axis offset step; the maximum number of grids allowed to be accommodated in the vertical axis direction of the grid map is preferably greater than or equal to the product of the maximum number of offsets allowed for the same reference coordinate in the vertical axis direction of the grid map and the vertical axis offset step.

[0113] Based on the aforementioned embodiments, a chip is also disclosed, which is configured to execute the robot positioning method based on the multi-layer grid map disclosed in any of the aforementioned embodiments, so that: the chip recursively determines feasible solutions among the candidate solutions of each layer of the grid map in order of resolution from low to high, until the optimal feasible solution is determined, and the optimal feasible solution is set as the repositioning result. Specifically, the robot where the chip is located is controlled to search for the optimal feasible solution in the multi-layer grid map, which becomes the repositioning result of the robot. During the specific implementation process, no matter whether a feasible solution or an infeasible solution is searched, the computing device can be stopped in time for further cumulative calculation to reduce the time of invalid calculation; it is suitable for processing large quantities of continuous frame raster image data and laser laser point data collected in real time to speed up the processing speed of hardware resources in the chip.

[0114] Based on the above embodiments, a laser robot is also disclosed. The laser robot is a robot equipped with a laser sensor, and is a mobile robot for performing laser navigation operations and constructing maps using laser point clouds, that is, the robot disclosed in the above embodiments of the robot positioning method based on a multi-layer grid map. The laser robot is internally provided with the chip disclosed in the above embodiments, and the chip is electrically connected to the laser sensor. The laser sensor is a laser radar that can rotate 360 ​​degrees. The laser radar has a built-in laser probe and a motion rotation mechanism. The motion rotation mechanism can support the laser probe to rotate 360 ​​degrees. Therefore, under the driving action of the motion rotation mechanism, the laser probe revolves around the rotation center of the laser radar, and each rotation obtains laser laser point data, that is, a collection of laser points formed around the laser probe. The laser point data dispersed in the block map are all necessary data for positioning. When the target position to be positioned is lost in the map, it is necessary to restore the positioning of the target position. Among them, the laser sensor of the laser robot collects the laser point data in the current detection area, and the laser robot stores the grid map of the current detection area at multiple resolutions, and configures the grid maps at multiple resolutions into a multi-layer grid map arranged in order from low to high resolution. It overcomes the problem of large amount of relocation calculation in traversing multiple resolution maps, and is suitable for processing large quantities of continuous frame raster image data and laser point data collected in real time. Moreover, when the candidate solution currently traversed is a feasible solution, it continues to traverse a layer of raster maps with a higher resolution, allowing the robot to start searching from a more likely position in the raster map of the corresponding resolution, reducing the amount of data calculation and search caused by traversing a layer of raster maps with a higher resolution, and improving the search speed.

[0115] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A robot positioning method based on a multi-layer grid map, characterized in that: Robot localization methods include: The robot uses a laser sensor to collect laser point data; The robot obtains the multi-layer grid map layer by layer in the order of resolution from low to high; wherein the multi-layer grid map is a grid map with multiple resolution levels, and each layer of the grid map is configured with a corresponding resolution; The robot traverses each candidate solution in the current layer grid map, and controls the laser point data to add up the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution in sequence to obtain the real-time probability and value; then, based on the currently calculated real-time probability and value, it determines whether the currently traversed candidate solution is a feasible solution or an infeasible solution; When the robot determines that the candidate solution currently traversed is a feasible solution, it controls the laser point data to stop adding the multiple occupancy probability values ​​corresponding to the candidate solution currently traversed, and then sets the determined feasible solution as the candidate solution of the next grid map based on the ratio between the resolution of the next grid map and the resolution of the current grid map. Then, it recursively determines the feasible solution in the candidate solutions of each grid map in order from low to high resolution until the optimal feasible solution is determined, and sets the optimal feasible solution as the robot's relocalization result.

2. The robot positioning method according to claim 1, characterized in that: The robot positioning method also includes: When the robot determines that the currently traversed candidate solution is an infeasible solution, the robot controls the laser point data to stop adding the multiple occupancy probability values ​​corresponding to the currently traversed candidate solution, and then updates the next candidate solution to the currently traversed candidate solution, where the next candidate solution is a candidate solution from the next layer of the grid map, or a candidate solution that has not been traversed in the current layer of the grid map; then, the robot controls the laser point data to sequentially add the multiple occupancy probability values ​​corresponding to the updated currently traversed candidate solution to obtain the real-time probability and value, so as to continue to judge whether the updated currently traversed candidate solution is a feasible solution or an infeasible solution based on the currently calculated real-time probability and value.

3. The robot positioning method according to claim 2, characterized in that: In the process of the robot recursively judging feasible solutions from the candidate solutions of each layer of the grid map in order from low to high resolution, there are: If there is a candidate solution in the last grid map that is judged to be a feasible solution, the feasible solution judged by the robot in the last grid map is set as the optimal feasible solution, and the optimal feasible solution is set as the relocation result; wherein the last grid map is a grid map with the highest resolution searched in order from low to high resolution on the basis of the robot updating the feasible solution of the current grid map to the candidate solution of the next grid map; If all candidate solutions in the S-th layer grid map are not judged as feasible solutions, and there is a candidate solution in the S-1-th layer grid map that is judged as a feasible solution, then the feasible solution judged by the robot in the S-1-th layer grid map is set as the optimal feasible solution, and the optimal feasible solution is set as the relocalization result; where S is an integer greater than 1, S is less than or equal to the maximum number of layers allowed to be configured in a multi-layer grid map; the S-1-th layer grid map is the previous layer grid map.

4. The robot positioning method according to claim 3, characterized in that: The robot's laser sensor collects laser point data within the current detection area. The robot stores grid maps of the current detection area at multiple resolutions, and configures the grid maps at multiple resolutions into a multi-layer grid map arranged in order from low to high resolution. Each layer of grid map is a block map generated within the effective detection range of the robot's laser sensor; the current detection area is represented by: all wheel position transformation operations required to be performed by all laser point data in the current layer of grid map, and the position drift area formed in the corresponding angles and coordinates; In a layer of grid map, each candidate solution to be traversed is a combination of angles and coordinates to be traversed; a candidate solution corresponds to a round of position transformation operations; a laser point data performs a round of position transformation operations in a layer of grid map to obtain a target point, and a target point is configured with an occupancy probability value, then an occupancy probability value corresponding to a laser point data at a candidate solution is determined.

5. The robot positioning method according to claim 4, characterized in that: A round of position transformation operations corresponding to a candidate solution includes an angle deflection operation and a coordinate shift operation, and the coordinate shift operation includes a horizontal coordinate shift operation and a vertical coordinate shift operation; wherein the same round of position transformation operations represents the same type of angle deflection operations and the same type of coordinate shift operations; A round of position transformation operation includes: controlling a laser point data to first perform an angle deflection operation, then perform a coordinate offset operation along one coordinate axis direction, and then perform a coordinate offset operation along another coordinate axis direction to obtain a target point, so as to transform a laser point data into a target point through a round of position transformation operation, and a target point is configured with an occupation probability value in a layer of grid map; wherein, when one coordinate axis direction represents the horizontal coordinate axis direction, the other coordinate axis direction represents the vertical coordinate axis direction, so as to indicate that the horizontal coordinate offset operation is performed first, and then the vertical coordinate offset operation is performed; when one coordinate axis direction represents the vertical coordinate axis direction, the other coordinate axis direction represents the horizontal coordinate axis direction, so as to indicate that the vertical coordinate offset operation is performed first, and then the horizontal coordinate offset operation is performed.

6. The robot positioning method according to claim 5, characterized in that: The robot positioning method is divided into the following steps: Step 1: traverse each candidate solution in the current layer grid map, and control the laser point data to perform a round of position transformation operations corresponding to the currently traversed candidate solution to obtain the target point. Each time a target point is obtained, the number of target points is counted once; Step 2: Control all laser point data to add the occupation probability values ​​corresponding to each target point obtained by a round of position transformation operation corresponding to the currently traversed candidate solution in sequence. Each time the addition is performed, the current target point and its corresponding occupation probability value are determined according to the addition order of the occupation probability values ​​corresponding to the target points, and then the current sum value is set as the real-time probability sum value of the current target point. Then, based on the real-time probability and value of the current target point and the number of target points, it is determined whether the candidate solution currently traversed is a feasible solution or an infeasible solution, and it is determined whether the candidate solution currently traversed is a feasible solution or an infeasible solution based on the currently calculated real-time probability and value; When a feasible solution is determined, the currently determined feasible solution is updated to the current optimal solution; Step 3: after a feasible solution is determined in the current grid map by executing step 2, the determined feasible solution is set as at least one candidate solution of the next grid map based on the ratio between the resolution of the next grid map and the resolution of the current grid map; after all candidate solutions are traversed in the current grid map by executing step 2, the next grid map is updated to the current grid map described in step 1, and then the candidate solution of the next grid map that is most recently set is updated to the candidate solution described in step 1, and step 1, step 2 and step 3 are repeatedly executed until the last grid map is traversed and a feasible solution is determined therefrom, or when the number of feasible solutions determined in the current grid map is zero, the current optimal solution that is most recently set in the same grid map is set as the optimal feasible solution, and the optimal feasible solution is set as the relocation result of the robot; Among them, the current grid layer is a grid map currently obtained by the robot; the next grid map is a grid map that the robot will obtain next time; the number of candidate solutions included in the next grid map is less than the number of candidate solutions included in the current grid map; the resolution of the next grid map is higher than the resolution of the current grid map; In each execution of step 2, the current target point is the target point corresponding to the currently added occupancy probability value; The currently added occupancy probability value is the occupancy probability value currently participating in the addition among the occupancy probability values ​​corresponding to all target points obtained in the same round of position transformation operation; the currently added sum value is the sum value of the occupancy probability values ​​that have been added among the occupancy probability values ​​corresponding to the target points obtained in the same round of position transformation operation.

7. The robot positioning method according to claim 6, characterized in that: In step 3, the method of setting the determined feasible solution as the candidate solution of the next layer of grid map based on the ratio between the resolution of the next layer of grid map and the resolution of the current layer of grid map includes: Using the ratio between the resolution of the next layer grid map and the resolution of the current layer grid map, the feasible solution determined in the current layer grid map is divided into multiple candidate solutions in the next layer grid map, wherein the ratio between the coordinate offset step corresponding to the feasible solution in the current layer grid map and the coordinate offset step corresponding to any candidate solution divided out in the next layer grid map is equal to the ratio between the resolution of the next layer grid map and the resolution of the current layer grid map; The ratio between the resolution of the next layer of raster maps and the resolution of the current layer of raster maps is equal to the ratio between the coordinate shift step required for performing the coordinate shift operation in the current layer of raster maps and the coordinate shift step required for performing the coordinate shift operation in the next layer of raster maps; The position transformation operation required to be performed on the laser point data in each layer of the grid map includes a coordinate shift operation, and the coordinate shift operation is correspondingly configured with a coordinate shift step, so that one candidate solution corresponds to one coordinate shift step.

8. The robot positioning method according to claim 7, characterized in that: The step 3 also includes: Whenever a feasible solution is determined to be set as at least one candidate solution of the next grid map, the target point obtained by the position transformation operation of the laser point data in the candidate solution of the next grid map is updated to the target point obtained by a round of position transformation operation corresponding to the currently traversed candidate solution of all the laser point data described in step 1, and the occupation probability value corresponding to the target point obtained by the position transformation operation of the laser point data in the candidate solution of the next grid map is updated to the occupation probability value corresponding to each target point obtained by a round of position transformation operation corresponding to the currently traversed candidate solution of all the laser point data described in step 1, and then return to execute step 1.

9. The robot positioning method according to claim 8, characterized in that: When the robot executes step 2 in the first-layer grid map, the candidate solutions in the first-layer grid map are set as initial candidate solutions, and the laser point data is controlled to perform a round of position transformation operations corresponding to each initial candidate solution to obtain the corresponding target point, including the coordinates of the target point; the first-layer grid map obtained by the robot for the first time is the data of the first-layer grid map obtained from the built-in memory; wherein the first-layer grid map is a grid map with the lowest resolution in the multi-layer grid map; When the robot executes step 2 in the M-th layer grid map, each target point and its corresponding occupation probability value obtained by a round of position transformation operation of the laser point data corresponding to the currently traversed candidate solution are selected, wherein the selected target points and their corresponding occupation probability values ​​obtained by a round of position transformation operation of the laser point data corresponding to the currently traversed candidate solution are obtained by executing steps 2 to 3 in the M-1-th layer grid map, M is greater than or equal to the value 2, and M is less than or equal to the maximum number of layers allowed to be configured in a multi-layer grid map.

10. The robot positioning method according to claim 9, characterized in that: When the robot determines a feasible solution in the highest resolution layer grid map by executing step 3, the feasible solution in the highest resolution layer grid map is set as the optimal feasible solution. At this time, when the current position point of the robot is set to the origin of the coordinate system in the highest resolution layer grid map, the robot sets all feasible solutions in the highest resolution layer grid map determined in step 3 as a set of relative postures of the robot, forming a set of repositioning posture data of the robot, wherein the highest resolution layer grid map is the last layer grid map.

11. The robot positioning method according to claim 6, characterized in that: In step 2, the method of judging whether the currently traversed candidate solution is a feasible solution or an infeasible solution based on the real-time probability and value of the current target point and the number of target points is divided into the following steps: Step 21: The robot first determines that the number of laser point data participating in the position transformation operation in the current layer grid map is N, controls the N laser point data to perform a round of position transformation operation respectively, and obtains N target points and their corresponding occupation probability values; Step 22, controlling the occupation probability values ​​corresponding to the N target points to be added in sequence, and when the occupancy probability values ​​are added to the i-th target point, determining that the current sum is sum(i); i is greater than or equal to a preset reference number and less than or equal to N, and the preset reference number is less than or equal to N; the i-th target point is the current target point; Step 23, calculate the sum of sum(i) and (Ni)*max_prob to obtain the predicted probability sum; then determine whether the predicted probability sum is greater than or equal to the first preset screening threshold, if yes, execute step 24, otherwise determine that the candidate solution corresponding to the round of position change operation performed in step 21 is an infeasible solution, stop calculating sum(i), and then update the new round of position change operation to the round of position change operation described in step 21; Step 24, control i to increment once, and then update the result of i increment to i, and repeat step 22 until i is updated to be equal to N, and obtain sum(N); Step 25, determining whether sum(N) is greater than or equal to a second preset screening threshold value, if yes, setting the candidate solution corresponding to the round of position transformation operation performed in step 21 as a feasible solution in the current layer grid map, otherwise determining that the candidate solution corresponding to the round of position transformation operation performed in step 21 is an infeasible solution; Wherein, max_prob is the maximum single-point probability, and the maximum single-point probability, the order of addition, the number of additions, the first preset screening threshold, the second preset screening threshold, and the preset benchmark number are all preset; Among them, the first preset screening threshold is smaller than the second preset screening threshold.

12. The robot positioning method according to claim 11, characterized in that: The step 2 also includes, after determining that the candidate solution corresponding to the round of position transformation operation performed in step 21 is an infeasible solution by executing step 23, controlling a new round of position transformation operation to be updated to the round of position transformation operation performed in step 21, and then repeating steps 21 to 25 to control the N laser point data to perform a new round of position transformation operation respectively, until all candidate solutions in the current layer of grid map are traversed and the N laser point data complete the position transformation operations corresponding to all candidate solutions in the current layer of grid map, and then start traversing the candidate solutions in the next layer of grid map.

13. The robot positioning method according to claim 12, characterized in that: Each laser point data obtains a target point and its corresponding occupancy probability value in a layer of grid map by executing a round of position transformation operation corresponding to a candidate solution. The matching relationship between the obtained target point and its corresponding occupancy probability value is preset, wherein the occupancy probability value corresponding to a target point is used to reflect the possibility of the position point to be relocated falling into the grid corresponding to the target point in a layer of grid map; The sum of the occupancy probability values ​​corresponding to each target point obtained by all laser point data in the same round of position transformation operations corresponds to sum(N), which is used to reflect the possibility that the robot's to-be-relocated position point falls into the position drift range generated by the round of position transformation operations in a layer of grid map.

14. The robot positioning method according to claim 13, characterized in that: Whenever the same laser point data is subjected to an angle deflection operation, a new reference coordinate is obtained, and then a coordinate offset operation is performed on the new reference coordinate to obtain a new target offset coordinate and index it to the corresponding occupancy probability value; A round of position transformation operations corresponding to a candidate solution includes an angle deflection operation and a coordinate shift operation, and the coordinate shift operation includes a horizontal coordinate shift operation and a vertical coordinate shift operation; wherein the same round of position transformation operations represents the same type of angle deflection operations and the same type of coordinate shift operations; In the first layer grid map, the number of angle deflection operations required for the same laser point data is preset, and the number of coordinate offset operations required for the same reference coordinate is preset.

15. The robot positioning method according to claim 14, characterized in that: The number of deflection operations required for the same type of angle deflection operations is the same, and the same type of coordinate shift operations include the same type of horizontal coordinate shift operations and the same type of vertical coordinate shift operations, so that in the same layer of grid map, the target points obtained after the same type of angle deflection operations and the same type of coordinate shift operations have the same posture relationship in the same layer of grid map relative to the same laser point data before the current round of position transformation operations are performed, wherein the angle deflection amount involved in the same type of angle deflection operation and the coordinate shift amount involved in the same type of coordinate shift operation correspond to constitute candidate solutions; The horizontal coordinate shift operation includes performing a horizontal coordinate shift along the horizontal coordinate axis direction, and the vertical coordinate shift operation includes performing a vertical coordinate shift along the vertical coordinate axis direction.

16. The robot positioning method according to claim 15, characterized in that: The number of horizontal coordinate shifts that occur in a layer of raster maps with a relatively high resolution for a type of horizontal coordinate shift operation is greater than the number of horizontal coordinate shifts that occur in a layer of raster maps with a relatively low resolution for the same type of horizontal coordinate shift operation; The coordinate shift step length required for the laser point data to perform the same type of horizontal coordinate shift operation on a layer of raster map with relatively low resolution is greater than the coordinate shift step length required for the laser point data to perform the same type of horizontal coordinate shift operation on a layer of raster map with relatively high resolution; wherein the offset amount of a type of horizontal coordinate shift operation in the horizontal coordinate axis direction of a layer of raster map with relatively high resolution is equal to the offset amount of the same type of horizontal coordinate shift operation in the horizontal coordinate axis direction of a layer of raster map with relatively low resolution; The number of vertical coordinate offsets of a type of vertical coordinate offset operation occurring in a layer of raster map with relatively high resolution is greater than the number of vertical coordinate offsets of the same type occurring in a layer of raster map with relatively low resolution; the coordinate offset step required for laser point data to perform the same type of vertical coordinate offset operation in a layer of raster map with relatively low resolution is greater than the coordinate offset step required for laser point data to perform the same type of vertical coordinate offset operation in a layer of raster map with relatively high resolution; wherein, the offset amount of a type of vertical coordinate offset operation occurring in the vertical coordinate axis direction of a layer of raster map with relatively high resolution is equal to the offset amount of the same type of vertical coordinate offset operation occurring in the vertical coordinate axis direction of a layer of raster map with relatively low resolution.

17. The robot positioning method according to claim 16, characterized in that: The coordinate shift step length required for the laser point data to perform the same type of horizontal coordinate shift operation on a layer of raster map with relatively low resolution is the first horizontal step length, and the coordinate shift step length required for the laser point data to perform the same type of horizontal coordinate shift operation on a layer of raster map with relatively high resolution is the second horizontal step length; The coordinate shift step length required for the laser point data to perform the same type of vertical coordinate shift operation on a layer of raster map with relatively low resolution is the first vertical step length, and the coordinate shift step length required for the laser point data to perform the same type of vertical coordinate shift operation on a layer of raster map with relatively high resolution is the second vertical step length; When the laser point data performs the same type of horizontal coordinate offset operation and the same type of vertical coordinate offset operation, after a feasible solution in a layer of grid map with relatively low resolution is configured to a layer of grid map with relatively high resolution, the number of candidate solutions decomposed on the layer of grid map with relatively high resolution is equal to: the product of the ratio of the first horizontal step length to the second horizontal step length and the ratio of the first vertical step length to the second vertical step length; then in step 3, a feasible solution in the current layer of grid map is set as multiple candidate solutions in the next layer of grid map, wherein the ratio between the number of set candidate solutions and the number of feasible solutions is equal to the ratio between the resolution of the next layer of grid map and the resolution of the current layer of grid map.

18. The robot positioning method according to claim 17, characterized in that: A round of position transformation operation includes: each time the position transformation processing module performs an angle deflection operation, the position transformation processing module controls the corresponding reference coordinate to first perform a coordinate offset operation along one coordinate axis direction, and then perform a coordinate offset operation along another coordinate axis direction; wherein, when one coordinate axis direction represents the horizontal coordinate axis direction, the other coordinate axis direction represents the vertical coordinate axis direction; when one coordinate axis direction represents the vertical coordinate axis direction, the other coordinate axis direction represents the horizontal coordinate axis direction.

19. A chip, characterized in that: The chip is configured to execute the robot positioning method based on a multi-layer grid map as described in any one of claims 1 to 18, so that: the chip recursively determines feasible solutions among the candidate solutions of each layer of the grid map in order from low to high resolution until the optimal feasible solution is determined, and the optimal feasible solution is set as the repositioning result.

20. A laser robot, characterized in that: The laser robot is a robot equipped with a laser sensor, the chip according to claim 19 is arranged inside the laser robot, and the chip is electrically connected to the laser sensor; Among them, the laser sensor of the laser robot collects laser point data in the current detection area. The laser robot stores raster maps of the current detection area at multiple resolutions, and configures the raster maps at multiple resolutions into a multi-layer raster map arranged in order from low to high resolution.

Citation Information

Patent Citations

  • Global positioning method based on depth information

    CN110132284A

  • Robot positioning method and apparatus, electronic equipment, and medium

    CN110319832A