A robot positioning method, device, equipment, medium and program product

By using the occupancy probability correlation scoring function and normal distribution algorithm of grid cells in robot positioning, and combining the branch bounding algorithm for differential matching, the problem of initial positioning of the robot is solved, and efficient and accurate positioning is achieved.

CN118913274BActive Publication Date: 2025-07-18BEIJING DATANG GOHIGH SOFTWARE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410955260.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-17
Publication Date
2025-07-18
Estimated Expiration
2044-07-17

AI Technical Summary

Technical Problem

In the prior art, the initial positioning of robots is difficult, resulting in obstacles to the implementation of subsequent functions.

Method used

The first scoring set is determined by scanning data of the current position of the robot in the map, and the occupancy probability correlation scoring function of the raster cell is used, and the normal distribution algorithm and branch delimiting algorithm are combined to perform differential matching to determine the positioning information.

Benefits of technology

It achieves the accuracy and efficiency of the initial positioning of the robot, supports the robot to start and stop at any time, and improves matching robustness and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118913274B_ABST
    Figure CN118913274B_ABST
Patent Text Reader

Abstract

The present invention provides a robot positioning method, device, equipment, medium and program product, relating to the technical field of positioning. The method includes: determining a first score set of the current position according to the scan data of the robot at the current position within the map, the first score set including a plurality of first scores, each first score being used to indicate the value of the scoring function of one of the grid cells in the map except the current position, and the scoring function of the grid cell being related to the occupancy probability of each grid within the grid cell; performing difference matching between each first score in the first score set and each second score in the second score set at different positions in the map to determine the positioning information of the current position, the second score set including a plurality of second scores, each second score being used to indicate the value of the scoring function of one of the grid cells in the map. The solution of the present invention solves the problem of initial positioning of robots in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of positioning, and particularly relates to a robot positioning method, device, equipment, medium and program product. Background Art

[0002] Regarding the positioning technology of robots, currently, technologies such as lidar technology, wheel speed encoder technology, visual positioning technology, ultra-wideband positioning technology, and wireless network positioning technology are considered. However, none of these technologies can obtain the real-time position of the robot at the very beginning, resulting in obstacles to the implementation of many subsequent functions and being unfavorable for the robot to power on and off at any position during work. Summary of the Invention

[0003] The purpose of the technical solution of the present invention is to provide a robot positioning method, device, equipment, medium and program product to solve the problem of initial positioning of robots in the prior art.

[0004] To achieve the above purpose, the present invention is implemented as follows:

[0005] In a first aspect, an embodiment of the present invention provides a robot positioning method, including:

[0006] According to the scan data of the current position of the robot in the map, determine a first score set of the current position. The first score set includes multiple first scores, and each first score is used to indicate the value of the scoring function of one of the grid cells in the map except the current position. The scoring function of the grid cell is related to the occupancy probability of each grid in the grid cell;

[0007] Perform differential matching between each first score in the first score set and each second score in the second score set at different positions in the map to determine the positioning information of the current position. The second score set includes multiple second scores, and each second score is used to indicate the value of the scoring function of one of the grid cells in the map.

[0008] In a first aspect, an embodiment of the present invention provides a robot positioning device, including:

[0009] A first determination module, configured to determine a first score set of the current position according to the scan data of the current position of the robot in the map. The first score set includes multiple first scores, and each first score is used to indicate the value of the scoring function of one of the grid cells in the map except the current position. The scoring function of the grid cell is related to the occupancy probability of each grid in the grid cell;

[0010] A second determination module, configured to perform differential matching between each of the first scores in the first score set and each of the second scores in the second score set at different positions in the map, to determine the positioning information of the current position, where the second score set includes a plurality of the second scores, and each of the second scores is used to indicate the value of the scoring function of one of the grid cells in the map.

[0011] In a third aspect, an embodiment of the present invention further provides a robot positioning device, including: a processor, a memory, and a program stored on the memory and executable on the processor, where when the program is executed by the processor, the robot positioning method described in the first aspect is implemented.

[0012] In a fourth aspect, an embodiment of the present invention further provides a readable storage medium, where a program is stored on the readable storage medium, and when the program is executed by a processor, the robot positioning method described in the first aspect is implemented.

[0013] In a fifth aspect, an embodiment of the present invention further provides a computer program product, including computer instructions, where when the computer instructions are executed by a processor, the robot positioning method described in the first aspect is implemented.

[0014] The beneficial effects of the above technical solutions of the present invention are as follows:

[0015] In the embodiment of the present invention, according to the scan data of the robot at the current position in the map, a first score set of the current position is determined, where the first score set includes a plurality of first scores, and each of the first scores is used to indicate the value of the scoring function of one of the grid cells in the map except the current position, and the scoring function of the grid cell is related to the occupancy probability of each grid in the grid cell; perform differential matching between each of the first scores in the first score set and each of the second scores in the second score set at different positions in the map, to determine the positioning information of the current position, where the second score set includes a plurality of the second scores, and each of the second scores is used to indicate the value of the scoring function of one of the grid cells in the map. In this way, based on the value of the scoring function of the robot's current position and the values of the scoring functions at different positions in the pre-acquired map for differential matching, the problem of initial positioning of the robot is solved. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a schematic flowchart of the robot positioning method described in the embodiment of the present invention;

[0017] Figure 2 It is a schematic diagram of the grid cell described in the embodiment of the present invention;

[0018] Figure 3 It is a schematic diagram of the grid map described in the embodiment of the present invention;

[0019] Figure 4 is a schematic structural diagram of the positioning device according to an embodiment of the present invention;

[0020] Figure 5 is a schematic hardware structure diagram of the positioning device according to an embodiment of the present invention. Detailed implementation manners

[0021] To make the technical problems, technical solutions and advantages to be solved by the present invention clearer, the following will be described in detail with reference to the accompanying drawings and specific embodiments.

[0022] In various embodiments of the present invention, it should be understood that the magnitudes of the serial numbers of the following processes do not mean the order of execution is prior or subsequent. The order of execution of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.

[0023] In addition, the terms "system" and "network" are often used interchangeably herein.

[0024] The terms "first", "second", etc. in the description and claims of the present invention are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first" and "second" are usually of the same type, and do not limit the number of objects. For example, the first object can be one or multiple. In addition, "and / or" in the description and claims means at least one of the connected objects, and the character " / " generally means an "or" relationship between the associated objects before and after.

[0025] See Figure 1 , Figure 1 is a schematic flow diagram of the robot positioning method according to an embodiment of the present invention. As Figure 1 shown, the method includes the following steps:

[0026] Step 101, according to the scan data of the current position of the robot in the map, determine a first score set of the current position. The first score set includes multiple first scores, and each first score is used to indicate the value of the scoring function of one of the grid cells in the map except the current position. The scoring function of the grid cell is related to the occupancy probability of each grid in the grid cell, and the current position corresponds to multiple grid cells.

[0027] It should be noted that the current position can be the position where the robot starts to enter the map and remains stationary. It can be understood that the current position can be the initial position of the robot in the map. That is, in the embodiments of the present invention, the current position and the initial position can be replaced with each other.

[0028] In the embodiments of the present invention, when the robot is located at the current position in the map, the surrounding environment of the map is scanned by a sensor to obtain scan data, and the first score set is determined according to the scan data. Specifically, one of the first scores is used to indicate the value of the scoring function of one of the grid cells in the map other than the current position at the current position. The grid cell is obtained by scanning at the current position, and multiple grid cells can be obtained by scanning at the current position.

[0029] Step 102, perform differential matching on each of the first scores in the first score set and each of the second scores in the second score set at different positions in the map to determine the positioning information of the current position. The second score set includes multiple second scores, and each second score is used to indicate the value of the scoring function of one of the grid cells in the map. The scoring function of the grid cell is related to the occupancy probability of each grid in the grid cell, and the map includes multiple grid cells.

[0030] It should be noted that a position of the robot in the map corresponds to a second score set. Optionally, the second score set is obtained in advance. The robot is pre-located at different positions in the map, the surrounding environment of the map is scanned to obtain the scan data corresponding to each position, and the second score set is determined according to the scan data corresponding to each position. It can be understood that the second score sets at different positions in the map correspond to all positions of the robot in the map and belong to the full score set corresponding to the map.

[0031] It should also be noted that in the embodiments of the present invention, occupancy means that obstacles other than the robot occupy; the occupancy probability represents the possibility of obstacle occupancy. The greater the occupancy probability, the greater the possibility of obstacle occupancy. The score is the value of the scoring function, and the scoring function is related to the occupancy probability.

[0032] Among them, the occupancy probability is determined based on the normal distribution algorithm. It can be understood that the occupancy probability is described by the normal distribution.

[0033] Next, the grid cells described in the embodiments of the present invention will be described:

[0034] Optionally, the map is divided into multiple grids to obtain the grid map corresponding to the map, and the grid map includes multiple grids;

[0035] Arrange n×n adjacent grids in the grid map according to a preset rule to form one grid unit, and the grid unit includes an overlapping area, where n is an integer greater than or equal to 1;

[0036] Each position in the map corresponds to multiple such grid units.

[0037] In the embodiment of the present invention, by dividing the map into grid units, the difference matching efficiency between each first score in the first score set and each second score in the second score set can be improved. Moreover, since the grid unit includes an overlapping area, the grid information can be enriched and the matching accuracy can be enhanced.

[0038] See Figure 2 , Figure 2 which is a schematic diagram of the grid unit described in the embodiment of the present invention. Next, in combination with Figure 2 , the preset rule will be described:

[0039] One grid unit includes at least a first sub-grid unit, a second sub-grid unit, a third sub-grid unit, and a fourth sub-grid unit;

[0040] The first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit each include n×n adjacent grids (with n grids in the long dimension and n grids in the wide dimension), and the n×n grids included in the first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit are the same n×n grids;

[0041] The preset rule is used to indicate the arrangement of the first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit according to the following rules:

[0042] The first sub-grid unit has overlapping areas with the second sub-grid unit, the third sub-grid unit, and the fourth sub-unit respectively;

[0043] The second sub-grid unit has an overlapping area with the third sub-grid unit;

[0044] The fourth sub-grid unit has no overlapping areas with the second sub-grid unit and the third sub-grid unit respectively.

[0045] Specifically, taking n = 3 as an example, the first sub-grid unit can be moved according to the following rules to obtain a grid unit arranged according to the preset rule:

[0046] The first sub-grid unit (a 3×3 grid) is moved up by one grid respectively to obtain a second sub-grid unit, moved left by one grid to obtain a third sub-grid unit, and moved right and down by one grid simultaneously to obtain a fourth sub-grid unit.

[0047] It should be noted that the grid units corresponding to the first score and the second score can both be obtained by the above method.

[0048] Furthermore, in order to obtain difference matching results with different precisions, different n×n values can be set to obtain grid units with different resolutions, so as to obtain difference matching results with different precisions. Moreover, the scores of grid units with different resolutions need to be stored in sets corresponding to the resolutions.

[0049] It should be noted that the smaller the value of n×n, the higher the resolution and the higher the precision of the difference matching result. On the contrary, the larger the value of n×n, the lower the resolution and the lower the precision of the difference matching result.

[0050] When performing difference matching between the first score and the second score, it is necessary to ensure that their resolutions are the same, and the first score and the second score form grid units for grids of the same dimension.

[0051] In one implementation, optionally, the above method further includes:

[0052] According to the scan data of the robot at different positions within the grid map, the occupied grids and unoccupied grids corresponding to each position are obtained. The occupied grids are the grids occupied by obstacles, and the grid map corresponds to the map;

[0053] According to the occupied grids and unoccupied grids corresponding to each position respectively, the occupancy update probability of each grid is obtained.

[0054] See Figure 3 , Figure 3 is a schematic diagram of the grid map described in the embodiment of the present invention. Here, the occupied grids and unoccupied grids described in the embodiment of the present invention are described in combination with Figure 3 .

[0055] In Figure 3 , the grids with hollow circles drawn are the positions of the robot; the grids with Xs drawn are the grids occupied by obstacles, that is, the occupied (hit) grids, and solid circles are used to represent that the robot scans to the occupied grids; the shaded grids are the unoccupied (miss) grids of the obstacles.

[0056] The scan data of the robot at the same position in the map for several consecutive frames are combined into a frame of grid map. And when each frame of grid map is formed, the occupied grids and unoccupied grids corresponding to each position are determined. It should be noted that each position may correspond to multiple occupied grids and multiple unoccupied grids.

[0057] Here, for each grid, the initial occupancy probability and the initial unoccupied probability are customarily set. For example, the initial occupancy probability P hit is 0.49, and the initial unoccupied probability P miss is 0.55. The odds are set, and the initial odds are also customarily set. For example, the initial odds are 1, and the calculation method is as shown in the following formula (1):

[0058]

[0059] Among them, for the odds of the occupancy probability of each grid, P in the formula (1) is P hit ; for the odds of the unoccupied probability of each grid, P in the formula (1) is P miss .

[0060] Furthermore, the occupancy update probability M new (x) of each grid is calculated according to the following formula (2):

[0061] M new (x) = clamp(odds -1 (odds(M old (x))·odds(P hit ))) (2)

[0062] Among them, new and old in the above formula represent before and after a single update of each grid; clamp means restricting the result to be between [0,1]; x represents the identifier of the grid.

[0063] The scan data of the robot at each position in the map for several consecutive frames can form a frame of grid map. Suppose the robot is at the first position in the map corresponding to the first grid map, and the robot is at the second position in the map corresponding to the second grid map. The second position is the next position of the first position. When the robot is at the first position, grid x is an occupied grid, and at this time, the occupancy update probability of grid x is calculated using formula (2); when the robot is at the second position, grid x is an unoccupied grid, and at this time, the occupancy update probability of grid x is also calculated using formula (2), but P hit in formula (2) needs to be replaced with P miss . Thus, the occupancy update probability of each grid can be obtained according to the above formula (2).

[0064] It should be noted that the occupancy update probability of each grid corresponding to the first score and the occupancy update probability of each grid corresponding to the second score can both be obtained by the above method.

[0065] In one implementation, optionally, the above method further includes:

[0066] For each of the grid cells, obtain the centroid of the grid cell;

[0067] According to the normal distribution algorithm, the centroid of the grid cell, and the occupancy update probability of each grid within the grid cell, obtain the occupancy probability of each grid within the grid cell;

[0068] According to the occupancy probability of each grid within the grid cell, obtain the value of the scoring function of the grid cell.

[0069] In the embodiments of the present invention, the centroid of each grid cell can be calculated using the following formula (3):

[0070]

[0071] Wherein, q in the above formula represents the centroid of the grid cell; n×n means that the grid cell is composed of adjacent n×n grids in the grid map arranged according to a preset rule; i is an integer greater than or equal to 1; M(x) is the occupancy update probability of each grid that makes up the grid cell.

[0072] And, according to the centroid of each grid cell, calculate the covariance matrix of each grid cell using the following formula (4):

[0073]

[0074] Next, based on the normal distribution algorithm, the centroid of the grid cell, and the occupancy update probability of each grid within the grid cell, determine the occupancy probability of each grid, that is, describe the occupancy probability S(x) of each grid using the normal distribution, as shown in the following formula (5):

[0075]

[0076] In the embodiments of the present invention, combining the above formulas (4) and (5), determine the scoring function score(x) of the grid cell, as shown in the following formula (6), so that the value of the scoring function of each grid cell, that is, the score, can be obtained according to this formula (6).

[0077]

[0078] It should be noted that both the first score and the second score can be obtained by the above method.

[0079] In one implementation, optionally, each first score in the first score set is differentially matched with each second score in the second score set at different positions within the map to determine the positioning information of the current position, including:

[0080] For each first score in the first score set, the first score is differentially matched with the second scores of each subspace unit respectively to determine the target subspace unit. The subspace unit is obtained by dividing the map, and each subspace unit includes a plurality of grid cells;

[0081] The first score is differentially matched with the second scores of each grid cell in the target subspace unit respectively to determine the target grid cell corresponding to the current position;

[0082] According to the positioning information of the target grid cell, the positioning information of the current position is determined.

[0083] In an embodiment of the present invention, the difference D between the first score and the second score is obtained by using the following formula (7):

[0084]

[0085] where score(map) represents the second score; score(scan) represents the first score; and n represents the dimension of the grid cell.

[0086] First, each first score is differentially matched with the second scores of each subspace unit respectively by using the above formula (7), the differences between each first score and the second scores of each subspace unit are obtained in sequence, and the subspace unit with the smallest difference is determined as the target subspace unit.

[0087] Then, within the target subspace unit, each first score is also differentially matched with the second scores of each grid cell by using the above formula (7), the differences between each first score and the second scores of each grid cell are obtained in sequence, and the second score with the smallest difference from each first score is obtained. The grid cell with the smallest difference is determined as the target grid cell.

[0088] It can be understood that the embodiment of the present invention can obtain the pre-acquired grid cell corresponding to each grid cell at the current position (i.e., the target grid cell). After obtaining the target grid cells corresponding to each grid cell within the map except the current position, the target grid cell corresponding to the current position can be obtained. Thus, based on the positioning information of this target grid cell, the positioning information of the current position can be determined, realizing the initial positioning of the robot.

[0089] In one implementation, optionally, performing difference matching between the first score and the second score of each grid cell in the target subspace unit to determine the target grid cell, including:

[0090] Sorting the multiple grid cells in the target subspace unit in descending order according to the second score of the grid cells to obtain the sorted target subspace unit;

[0091] Performing difference matching between the first score and the second score of each grid cell in the sorted target subspace unit in sequence to determine the target grid cell, where the difference between the second score of the target grid cell and the first score is less than a preset threshold.

[0092] The preset threshold can be an empirical value and is not limited herein.

[0093] In the embodiments of the present invention, in order to improve the matching efficiency, difference matching is performed in descending order according to the second score of the grid cells, and the first score is preferentially matched with the second score with a larger second score to determine the target grid cell. It should be noted that when a second score with a difference less than the preset threshold is obtained, the difference matching process can be ended.

[0094] In one implementation, optionally, the above method further includes:

[0095] For each of the subspace units, determining the second score of the first grid cell as the second score of the subspace unit, where the first grid cell is the grid cell with the largest second score in the subspace unit.

[0096] In the embodiments of the present invention, when performing difference matching, in order to improve the matching efficiency, the branch and bound algorithm is adopted. First, the entire search space (i.e., the map where the robot is located) is segmented to obtain a set of subspace units, and the set of subspace units includes multiple subspace units. Each subspace unit includes multiple grid cells. For each subspace unit, the multiple grid cells are sorted in descending order according to the magnitude of the second score, and the upper bound (i.e., the largest second score) is used as the second score of the subspace unit.

[0097] When performing difference matching between the first score and the second score of the subspace unit, the first score is matched with the upper bound of the second score of the subspace unit to obtain the optimal target subspace unit.

[0098] Further, the target subspace unit is segmented, that is, in the target subspace unit, depth-first search is performed, and the search order is in descending order according to the second score of the grid cells, and the first score is matched with the second score of the grid cells.

[0099] As described above, when applying the robot positioning method according to the embodiments of the present invention, the entire search space is first segmented to obtain a set of subspace units, and then the subspace units in the set of subspace units are sorted according to the upper bounds of the subspace units, and are successively pushed onto the stack to ensure that the subspace unit node with the highest score is at the top of the stack, which is conducive to preferentially searching for the most likely solution space. As long as the stack is not empty, depth-first search is performed. If the subspace unit node is not a leaf node, further branching is required, and the subspace unit node is segmented. Similarly, the grid units in the subspace unit are searched in descending order of the scores of the grid units until a leaf node is found, thereby accelerating the differential matching efficiency.

[0100] In summary, by adopting the robot positioning method according to the embodiments of the present invention, a first score set of the robot at the current position is obtained in real time based on the normal distribution algorithm, and a second score set of the robot at different positions is obtained in advance. When each first score in the first score set is differentially matched with each second score in the second score set, the branch and bound algorithm is used to determine the positioning information of the current position. In this way, the problem of initial positioning of the robot is solved, which is beneficial to the robot to start and stop at any time, and improves the matching robustness and matching efficiency.

[0101] As Figure 4 shown, the embodiments of the present invention further provide a robot positioning device, including:

[0102] A first determination module 401, configured to determine a first score set of the current position according to scan data of the robot at the current position in the map, where the first score set includes a plurality of first scores, and each first score is used to indicate the value of a scoring function of one of the grid units in the map except the current position, and the scoring function of the grid unit is related to the occupancy probability of each grid in the grid unit;

[0103] A second determination module 402, configured to differentially match each first score in the first score set with each second score in the second score set at different positions in the map, and determine the positioning information of the current position, where the second score set includes a plurality of second scores, and each second score is used to indicate the value of a scoring function of one of the grid units in the map.

[0104] Optionally, for the robot positioning device, where the second determination module 402 includes:

[0105] A first determination unit, configured to perform difference matching between each of the first scores in the first score set and the second scores of each subspace unit, and determine a target subspace unit, where the subspace units are obtained by dividing the map, and each subspace unit includes a plurality of grid units;

[0106] A second determination unit, configured to perform difference matching between each of the first scores and the second scores of each grid unit in the target subspace unit, and determine a target grid unit corresponding to the current position;

[0107] A third determination unit, configured to determine the positioning information of the current position according to the positioning information of the target grid unit.

[0108] Optionally, for the robot positioning device, the above device further includes:

[0109] A third determination module, configured to, for each of the subspace units, determine the second score of the first grid unit as the second score of the subspace unit, where the first grid unit is the grid unit with the largest second score in the subspace unit.

[0110] Optionally, for the robot positioning device, the first determination unit is specifically configured to:

[0111] Sort the multiple grid units in the target subspace unit in descending order according to the second scores of the grid units, and obtain the sorted target subspace unit;

[0112] Perform difference matching between each of the first scores and the second scores of each grid unit in the sorted target subspace unit in sequence, and obtain a target grid unit, where the difference between the second score of the target grid unit and the first score is less than a preset threshold.

[0113] Optionally, for the robot positioning device, the grid unit is formed by arranging adjacent n×n grids in the grid map according to a preset rule, and the grid unit includes an overlapping area, the grid map corresponds to the map, and n is an integer greater than or equal to 1.

[0114] Optionally, for the robot positioning device, the above device further includes:

[0115] A first acquisition module, configured to, for each of the grid units, acquire the centroid of the grid unit;

[0116] A second acquisition module, configured to, according to the normal distribution algorithm, the centroid of the grid unit, and the occupancy update probability of each grid in the grid unit, acquire the occupancy probability of each grid in the grid unit;

[0117] A third acquisition module, configured to obtain a value of a scoring function of the grid cell according to the occupancy probability of each grid in the grid cell.

[0118] Optionally, in the robot positioning device, the device further includes:

[0119] A fourth acquisition module, configured to obtain occupied grids and unoccupied grids corresponding to each position according to scan data of the robot at different positions in a grid map, where the occupied grids are grids occupied by obstacles, and the grid map corresponds to the map;

[0120] A fifth acquisition module, configured to obtain an occupancy update probability of each grid according to the occupied grids and unoccupied grids corresponding to each position.

[0121] It should be noted that the robot positioning device provided in the embodiment of the present invention is a device capable of executing the above-mentioned robot positioning method. All embodiments of the above-mentioned robot positioning method are applicable to this device and can achieve the same or similar technical effects.

[0122] As Figure 5 shown, the embodiment of the present invention further provides a model data processing device, including: a processor 501; and a memory 502 connected to the processor 501 through a bus interface, where the memory 502 is used to store programs and data used by the processor 501 when performing operations, and the processor 501 calls and executes the programs and data stored in the memory 502.

[0123] The processor 501 is configured to read the program in the memory 502 and execute the following processes:

[0124] According to scan data of the robot at a current position in a map, determine a first scoring set of the current position, where the first scoring set includes a plurality of first scores, and each first score is used to indicate a value of a scoring function of one grid cell in the map except the current position, and the scoring function of the grid cell is related to the occupancy probability of each grid in the grid cell;

[0125] Perform difference matching between each first score in the first scoring set and each second score in a second scoring set at different positions in the map, and determine positioning information of the current position, where the second scoring set includes a plurality of second scores, and each second score is used to indicate a value of a scoring function of one grid cell in the map.

[0126] Wherein, the robot positioning device further includes a transceiver 503, and the transceiver 503 is connected to the bus interface for receiving and sending data under the control of the processor 501.

[0127] Wherein, in Figure 5 , the bus architecture may include any number of interconnected buses and bridges, specifically various circuits of one or more processors represented by the processor 501 and the memory represented by the memory 502 are linked together. The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, and thus will not be further described herein. The bus interface provides a user interface 504. The transceiver 503 may be multiple components, that is, including a transmitter and a receiver, and provides a unit for communicating with various other devices on the transmission medium. The processor 501 is responsible for managing the bus architecture and general processing, and the memory 502 can store data used by the processor 501 when performing operations.

[0128] The processor 501 is responsible for managing the bus architecture and general processing, and the memory 502 can store data used by the processor 501 when performing operations.

[0129] Optionally, the processor 501 is specifically configured to read the computer program and perform the following steps:

[0130] For each of the first scores in the first score set, respectively perform difference matching between the first score and the second scores of each subspace unit, and determine the target subspace unit, where the subspace unit is obtained by dividing the map, and each subspace unit includes a plurality of grid units;

[0131] Respectively perform difference matching between the first score and the second scores of each grid unit in the target subspace unit, and determine the target grid unit corresponding to the current position;

[0132] Determine the positioning information of the current position according to the positioning information of the target grid unit.

[0133] Optionally, the processor 501 is further configured to read the computer program and perform the following steps:

[0134] For each subspace unit, determine the second score of the first grid unit as the second score of the subspace unit, where the first grid unit is the grid unit with the largest second score in the subspace unit.

[0135] Optionally, the processor 501 is specifically configured to read the computer program and perform the following steps:

[0136] Sort the multiple grid cells in the target subspace unit in descending order according to the second score of the grid cells, and obtain the sorted target subspace unit;

[0137] Perform differential matching between the first score and the second score of each grid cell in the sorted target subspace unit in turn to determine the target grid cell, and the difference between the second score of the target grid cell and the first score is less than a preset threshold.

[0138] Optionally, the grid cell is formed by arranging adjacent n×n grids in the grid map according to a preset rule, and the grid cell includes an overlapping area. The grid map corresponds to the map, and n is an integer greater than or equal to 1.

[0139] Optionally, the processor 501 is further configured to read the computer program and execute the following steps:

[0140] For each grid cell, obtain the centroid of the grid cell;

[0141] According to the normal distribution algorithm, the centroid of the grid cell, and the occupancy update probability of each grid in the grid cell, obtain the occupancy probability of each grid in the grid cell;

[0142] According to the occupancy probability of each grid in the grid cell, obtain the value of the scoring function of the grid cell.

[0143] Optionally, the processor 501 is specifically configured to read the computer program and execute the following steps:

[0144] According to the scan data of the robot at different positions in the grid map, obtain the occupied grids and unoccupied grids corresponding to each position respectively. The occupied grids are the grids occupied by obstacles, and the grid map corresponds to the map;

[0145] According to the occupied grids and unoccupied grids corresponding to each position respectively, obtain the occupancy update probability of each grid.

[0146] The specific embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the steps in the above robot positioning method are implemented, and the same technical effects can be achieved. To avoid repetition, it will not be elaborated here.

[0147] In addition, the embodiment of the present invention also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, the Figure 1 various processes of the method embodiment shown above are implemented, and the same technical effects can be achieved. To avoid repetition, it will not be elaborated here.

[0148] In several embodiments provided by the present application, it should be understood that the disclosed methods and apparatuses can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.

[0149] In addition, each functional unit in various embodiments of the present invention can be integrated in a processing unit, or each unit can be physically included separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a hardware plus software functional unit.

[0150] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit stored in a storage medium includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute some steps of the transceiver methods described in various embodiments of the present invention. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs that can store program codes.

[0151] The above is the preferred implementation manner of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention.

Claims

1. A robot positioning method, characterized in that, Including: Based on the scan data of the current position of the robot within the map, determine a first scoring set for the current position, where the first scoring set includes multiple first scores, and each first score is used to indicate the value of the scoring function of one of the grid cells in the map except the current position. The scoring function of the grid cell is related to the occupancy probability of each grid within the grid cell, and the current position is the initial position where the robot starts to enter the map and remains stationary. Adopt the branch and bound algorithm to perform differential matching between each first score in the first scoring set and each second score in the second scoring sets at different positions in the map, and determine the positioning information of the current position, including: For each first score in the first scoring set, perform differential matching between the first score and the second scores of each subspace unit respectively to determine the target subspace unit. The subspace unit is obtained by dividing the map, and each subspace unit includes multiple grid cells. Perform differential matching between the first score and the second scores of each grid cell in the target subspace unit respectively to determine the target grid cell corresponding to the current position. Determine the positioning information of the current position according to the positioning information of the target grid cell. Wherein, the second scoring set includes multiple second scores, and the second scoring set is obtained in advance. The robot is pre-located at different positions in the map, scans the surrounding environment of the map, obtains the scan data corresponding to each position, and determines the second scoring set according to the scan data corresponding to each position. The grid cell is formed by arranging adjacent grid cells in the grid map according to a preset rule, and the grid cell includes an overlapping area. The grid map corresponds to the map, which is an integer greater than or equal to 1; One grid cell at least includes a first sub-grid cell, a second sub-grid cell, a third sub-grid cell, and a fourth sub-grid cell. The first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit all include adjacent grids, and the number of grids included in the first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit is the same grid; The preset rule is used to indicate that the first sub-grid cell, the second sub-grid cell, the third sub-grid cell, and the fourth sub-grid cell are arranged according to the following rules: The first sub-grid cell has overlapping regions with the second sub-grid cell, the third sub-grid cell, and the fourth sub-grid cell respectively. The second sub-grid cell has an overlapping region with the third sub-grid cell. The fourth sub-grid cell has no overlapping regions with the second sub-grid cell and the third sub-grid cell respectively.

2. The robot positioning method according to claim 1, wherein, The method further includes: For each subspace unit, determine the second score of the first grid cell as the second score of the subspace unit, where the first grid cell is the grid cell with the largest second score in the subspace unit.

3. The robot positioning method according to claim 1, characterized in that, Performing differential matching between the first score and the second scores of each grid cell in the target subspace unit respectively to determine the target grid cell, including: Sort the multiple grid cells in the target subspace unit in descending order according to the second scores of the grid cells to obtain the sorted target subspace unit. Perform differential matching between the first score and the second scores of each grid cell in the sorted target subspace cells in sequence to determine a target grid cell, where the difference between the second score of the target grid cell and the first score is less than a preset threshold.

4. The robot positioning method according to claim 1, wherein The method further includes: For each of the grid cells, obtain the centroid of the grid cell; According to the normal distribution algorithm, the centroid of the grid cell, and the occupancy update probability of each grid within the grid cell, obtain the occupancy probability of each grid within the grid cell; According to the occupancy probability of each grid within the grid cell, obtain the value of the scoring function of the grid cell.

5. The robot positioning method according to claim 4, wherein The method further includes: According to the scan data of the robot at different positions within the grid map, obtain the occupied grid cells and unoccupied grid cells corresponding to each position respectively, where the occupied grid cells are the grid cells occupied by obstacles, and the grid map corresponds to the map; According to the occupied grid cells and unoccupied grid cells corresponding to each position respectively, obtain the occupancy update probability of each grid cell.

6. A robot positioning device, characterized in that, Includes: A first determination module, configured to determine a first score set of the current position according to the scan data of the robot at the current position within the map, where the first score set includes a plurality of first scores, and each first score is used to indicate the value of the scoring function of one of the grid cells in the map except the current position, and the scoring function of the grid cell is related to the occupancy probability of each grid within the grid cell, and the current position is the initial position where the robot starts to enter the map and is in a stationary state; A second determination module, configured to use the branch and bound algorithm to perform differential matching between each first score in the first score set and each second score in the second score sets at different positions in the map to determine the positioning information of the current position, including: A first determination unit, configured to, for each first score in the first score set, perform differential matching between the first score and the second scores of each subspace cell to determine a target subspace cell, where the subspace cell is obtained by dividing the map, and each subspace cell includes a plurality of grid cells; A second determination unit, configured to perform differential matching between the first score and the second scores of each grid cell in the target subspace cell to determine the target grid cell corresponding to the current position; A third determination unit, configured to determine the positioning information of the current position according to the positioning information of the target grid cell; Wherein, the second score set includes a plurality of the second scores, the second score set is obtained in advance, the robot is pre-located at different positions within the map, scans the surrounding environment of the map, obtains the scan data corresponding to each position, and determines the second score set according to the scan data corresponding to each position; The grid cell is formed by arranging adjacent grid cells in the grid map according to a preset rule, and the grid cell includes an overlapping area, and the grid map corresponds to the map, which is an integer greater than or equal to 1; One grid cell includes at least a first sub-grid cell, a second sub-grid cell, a third sub-grid cell, and a fourth sub-grid cell; The first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit all include adjacent grids, and the number of grids included in the first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit is the same grid; The preset rules are used to indicate that the first sub-grid unit, the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit are arranged according to the following rules: The first sub-grid unit has overlapping areas with the second sub-grid unit, the third sub-grid unit, and the fourth sub-grid unit respectively; The second sub-grid unit has an overlapping area with the third sub-grid unit; The fourth sub-grid unit has no overlapping areas with the second sub-grid unit and the third sub-grid unit respectively.

7. A robot positioning device, characterized in that, Comprising: A processor, a memory, and a program stored on the memory and executable on the processor, where when the program is executed by the processor, it implements the robot positioning method according to any one of claims 1 to 5.

8. A readable storage medium, characterized in that, A program is stored on the readable storage medium, and when the program is executed by the processor, it implements the robot positioning method according to any one of claims 1 to 5.

9. A computer program product, characterized in that, Comprising computer instructions, and when the computer instructions are executed by the processor, they implement the robot positioning method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Robot pose determination method and device, robot and storage medium

    CN113510703A

  • Agent positioning method and device, agent, chip and storage medium

    CN113607157A