Robot positioning method, device, computer readable storage medium and robot

Through the combination of laser and UWB data, the laser radar performance is solved by the particle filtering method, which solves the problem that the robot cannot locate in the large indoor scene in the large indoor scene, and realizes higher positioning accuracy and robustness.

CN112781591BActive Publication Date: 2025-01-28UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201911075523.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-11-06
Publication Date
2025-01-28
Estimated Expiration
2039-11-06

AI Technical Summary

Technical Problem

Due to the performance limitations of lidar, robot positioning cannot be performed in open places in large indoor scenes, limiting the robot's navigation capabilities in these scenes.

Method used

The particle filtering method is adopted, combined with laser measurement data and UWB measurement data, and the positioning of the robot in large indoor scenes by updating the position of the particles and calculating the matching probability.

Benefits of technology

By fusion of laser radar and UWB data, the robotic robotic and accuracy of the robot in large indoor scenes is improved to ensure that the robot can reliably navigate in the open space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112781591B_ABST
    Figure CN112781591B_ABST
Patent Text Reader

Abstract

The present application belongs to the field of robot technology, and in particular, relates to a robot positioning method, device, computer-readable storage medium and robot. The method obtains a particle set for positioning the robot; updates the position of each particle in the particle set according to a preset motion model to obtain the updated position of each particle; obtains laser measurement data and UWB measurement data; calculates the matching probability of each particle according to the laser measurement data, the UWB measurement data and the updated position of each particle; and locates the robot according to the matching probability of each particle. Through the embodiment of the present invention, UWB measurement data is integrated on the basis of the traditional particle filter positioning algorithm based on laser measurement data. UWB has a high positioning accuracy in indoor open scenes, ensuring that the robot can be reliably positioned whether it is at the edge of a large indoor scene or in the middle of an open space.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of robot technology, and in particular, relates to a robot positioning method, device, computer-readable storage medium and robot. Background Art

[0002] In the prior art, most indoor mobile robots use laser radar as the main perception sensor. They use laser radar to perceive the feature points of surrounding obstacles, match them with the established map, determine their own position on the map, and then navigate autonomously on the map. Accurate and reliable positioning is the safety guarantee of navigation. Only when the positioning is correct can the robot accurately navigate to the target point according to the predetermined trajectory, thereby realizing various service functions. Taking into account the cost requirements, the laser radar measurement distance currently used by indoor robots is generally within 20m, and single-line laser radar is the main one. In some large indoor scenes, such as airports, gymnasiums, government service halls, etc., the distance in the middle of the open space is generally more than 20m. If the same laser radar is used, the robot can only navigate near the edge and rely on fixed features at the edge for positioning, but cannot be positioned in the open space. Summary of the invention

[0003] In view of this, the embodiments of the present application provide a robot positioning method, device, computer-readable storage medium and robot to solve the problem that the prior art cannot perform positioning in open areas due to the performance limitation of the laser radar.

[0004] A first aspect of an embodiment of the present application provides a robot positioning method, which may include:

[0005] Get the particle set for positioning the robot;

[0006] The position of each particle in the particle set is updated respectively according to a preset motion model to obtain an updated position of each particle;

[0007] Acquire laser measurement data and UWB measurement data;

[0008] Determine the position of each first feature point according to the laser measurement data, the first feature point is a feature point obtained by measurement; determine the position of each second feature point according to the updated position of the i-th particle, the second feature point is a feature point pre-marked in the map, wherein 1≤i≤N, N is the number of particles in the particle set; take the shortest distance between the j-th first feature point and each second feature point as the matching distance of the j-th first feature point, wherein 1≤j≤J, J is the number of the first feature points; calculate the first probability of the i-th particle according to the sum of the matching distances of the first feature points; calculate the second probability of each particle according to the updated position of each particle and the UWB measurement data; calculate the matching probability of each particle according to the first probability of each particle and the second probability of each particle;

[0009] The robot is positioned according to the matching probability of each particle.

[0010] Further, the calculating the second probability of each particle according to the updated position of each particle and the UWB measurement data includes:

[0011] Determine a UWB positioning position according to the UWB measurement data;

[0012] Calculate a second distance, where the second distance is the distance between the updated position of the i-th particle and the UWB positioning position, where 1≤i≤N, and N is the number of particles in the particle set;

[0013] A second probability of the i-th particle is calculated according to the second distance, and the second probability is negatively correlated with the second distance.

[0014] Further, the calculating the matching probability of each particle according to the first probability of each particle and the second probability of each particle respectively includes:

[0015] The sum of the first probability of the i-th particle and the second probability of the i-th particle is determined as the matching probability of the i-th particle, where 1≤i≤N, and N is the number of particles in the particle set.

[0016] Further, after respectively calculating the matching probability of each particle according to the laser measurement data, the UWB measurement data and the updated position of each particle, the method further includes:

[0017] Resampling is performed according to the matching probability of each particle to obtain an updated particle set.

[0018] Furthermore, after resampling according to the matching probability of each particle to obtain an updated particle set, it also includes:

[0019] New particles are generated at the UWB positioning position at a preset ratio, and the generated new particles are added to the updated particle set.

[0020] A second aspect of the embodiments of the present application provides a robot positioning device, which may include:

[0021] A particle set acquisition module is used to acquire a particle set for positioning the robot;

[0022] A position updating module, used to update the position of each particle in the particle set according to a preset motion model to obtain an updated position of each particle;

[0023] A data acquisition module, used to acquire laser measurement data and UWB measurement data;

[0024] A matching probability calculation module, used to determine the position of each first feature point according to the laser measurement data, the first feature point is a feature point obtained by measurement; determine the position of each second feature point according to the updated position of the i-th particle, the second feature point is a feature point pre-marked in the map, wherein 1≤i≤N, N is the number of particles in the particle set; take the shortest distance between the j-th first feature point and each second feature point as the matching distance of the j-th first feature point, wherein 1≤j≤J, J is the number of the first feature points; calculate the first probability of the i-th particle according to the sum of the matching distances of the first feature points; calculate the second probability of each particle according to the updated position of each particle and the UWB measurement data; calculate the matching probability of each particle according to the first probability of each particle and the second probability of each particle;

[0025] A positioning module is used to position the robot according to the matching probability of each particle.

[0026] Furthermore, the second probability calculation submodule may include:

[0027] A UWB positioning position determining unit, configured to determine the UWB positioning position according to the UWB measurement data;

[0028] A second distance calculation unit, used to calculate a second distance, where the second distance is the distance between the updated position of the i-th particle and the UWB positioning position, wherein 1≤i≤N, and N is the number of particles in the particle set;

[0029] The second probability calculation unit is used to calculate a second probability of the i-th particle according to the second distance, and the second probability is negatively correlated with the second distance.

[0030] Furthermore, the matching probability calculation submodule is specifically used to determine the matching probability of the i-th particle by summing the first probability of the i-th particle and the second probability of the i-th particle, wherein 1≤i≤N, and N is the number of particles in the particle set.

[0031] Furthermore, the robot positioning device may also include:

[0032] The resampling module is used to resample according to the matching probability of each particle to obtain an updated particle set.

[0033] Furthermore, the robot positioning device may also include:

[0034] The mutation module is used to generate new particles at the UWB positioning position in a preset ratio, and add the generated new particles into the updated particle set.

[0035] A third aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above-mentioned robot positioning methods are implemented.

[0036] A fourth aspect of an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned robot positioning methods when executing the computer program.

[0037] A fifth aspect of an embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot executes the steps of any one of the above-mentioned robot positioning methods.

[0038] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application obtain a particle set for positioning the robot; the position of each particle in the particle set is updated according to a preset motion model to obtain an updated position of each particle; laser measurement data and UWB measurement data are obtained; the matching probability of each particle is calculated according to the laser measurement data, the UWB measurement data and the updated position of each particle; the robot is positioned according to the matching probability of each particle. Through the embodiments of the present invention, UWB measurement data is incorporated into the traditional particle filter positioning algorithm based on laser measurement data. UWB has a high positioning accuracy in indoor open scenes, ensuring that the robot can be reliably positioned whether it is at the edge of a large indoor scene or in the middle of an open space. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0040] Figure 1 A schematic diagram of matching obstacle points scanned by the robot through the laser radar with feature points on the map;

[0041] Figure 2 A schematic diagram of a robot in an open space in a large indoor scene;

[0042] Figure 3 A schematic diagram of a robot at the edge of a large indoor scene;

[0043] Figure 4 A schematic diagram for locating dangerous areas;

[0044] Figure 5 This is a flow chart of an embodiment of a robot positioning method in an embodiment of the present application;

[0045] Figure 6 A schematic flow chart for calculating the matching probability of each particle based on laser measurement data, UWB measurement data and the updated position of each particle;

[0046] Figure 7 A schematic flow chart of calculating a second probability of each particle based on the updated position of each particle and UWB measurement data;

[0047] Figure 8 Schematic diagram of particle probability distribution;

[0048] Fig. 9 This is a structural diagram of an embodiment of a robot positioning device in an embodiment of the present application;

[0049] Fig.10 This is a schematic block diagram of a robot in an embodiment of the present application. DETAILED DESCRIPTION

[0050] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0051] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0052] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.

[0053] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0054] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.

[0055] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0056] In a small indoor environment, the robot can determine its position on the map by matching the obstacle points scanned by the laser radar with the feature points on the map. Figure 1 However, due to the limitation of the laser radar range, the robot can only scan obstacles that are relatively close to itself. If the robot is located in an open space, the feature points scanned will be few or even none. Figure 2 As shown in the figure, when the robot is in the middle of a large shopping mall, there are very few scanned feature points, only a few sparse scattered points, and positioning is likely to fail at this time. Figure 3 When the position is shown, due to the proximity to the edge, a certain number of feature points can be scanned, and the positioning robustness is improved. Figure 4 As shown in the figure, the middle open area can be defined as a "positioning danger zone", indicating that the robot's position is very easy to lose in this area. Based on the above analysis, the robot can only Figure 4Limiting the robot's walking area in this way can improve navigation safety, but it will greatly reduce the navigation experience and navigation function.

[0057] If a large-range, long-distance LiDAR is used to cover this dangerous area, it is not an economical and practical solution. Because in many scenes, there are not too many open areas. There are often one or two places that are relatively open, and most other areas are narrow scenes such as corridors. Therefore, the utilization rate of long-distance range is not high. In view of this, a particle filtering method that integrates LiDAR positioning and UWB (Ultra Wideband) positioning is proposed in the embodiment of the present application to perform robot positioning, which is economical and practical, low-cost, and can improve positioning robustness and ensure navigation safety.

[0058] See also Figure 5 , an embodiment of a robot positioning method in an embodiment of the present application may include:

[0059] Step S501: Obtain a particle set for positioning the robot.

[0060] The embodiments of the present application are based on the improvement of the traditional particle filtering method. The so-called particle filtering refers to the process of finding a group of random samples propagated in the state space to approximate the probability density function, replacing the integral operation with the sample mean, and then obtaining the minimum variance estimate of the system state. These samples are figuratively called "particles", so it is called particle filtering.

[0061] The core idea of ​​the original particle filter perception model is based on a rangefinder (such as a lidar). Through the actual position of each particle, the obstacle points perceived by the rangefinder are mapped to the map and compared with the obstacle points on the map. The closer the distance, the greater the probability that the position of this particle is correct. Because ideally, assuming that the position of a particle is the correct physical position of the robot, then at this position, the obstacle points scanned by the rangefinder in each direction will coincide with or be very close to the obstacle points on the map, just like Figure 1 The particle filter calculates the probability of a particle by scanning the distance between the point and the obstacle point on the map. Then, through the resampling process, the particles with high probability are retained and the particles with low probability are eliminated, which is similar to the genetic mechanism, and the fittest survive.

[0062] The particle set is composed of a preset number of particles. In the initial state, the position of each particle in the particle set can be randomly selected in the map. In the subsequent process, the particle set obtained at any time is an updated particle set obtained by resampling the particle set at the previous time.

[0063] Step S502: updating the position of each particle in the particle set according to a preset motion model to obtain an updated position of each particle.

[0064] That is, the position of each particle at the previous moment is calculated according to the preset motion model, and the position of each particle at the current moment is estimated. The specific update process is the same as the existing particle filter algorithm, which will not be repeated here.

[0065] Step S503: Acquire laser measurement data and UWB measurement data.

[0066] In open areas, there are few obstacles scanned by lasers. If the probability of particles is calculated based on only a few sparse scanning points, it is easy for the calculated probability distribution to be inconsistent with the actual situation or even very different due to measurement errors or map changes. As a result, the number of particles in the correct position decreases or even disappears, and the number of particles in the wrong position gradually increases, and finally positioning fails.

[0067] The positioning accuracy of UWB in indoor open scenes can reach about 0.5-1 meter, which is still of high reference value in open areas. Although the accuracy is not as good as that of a laser rangefinder, it can ensure the reliability of positioning data in the entire area, and the maximum positioning deviation will not exceed 1 meter. If UWB data is taken into account when calculating the probability of particles, most particles will be constrained near the UWB positioning position to ensure that particles near the correct position will never disappear. When the features become richer, the probability of each particle can be accurately calculated through laser data to obtain high-precision posture.

[0068] Step S504: Calculate the matching probability of each particle according to the laser measurement data, the UWB measurement data and the updated position of each particle.

[0069] like Figure 6 As shown, step S504 may specifically include the following process:

[0070] Step S5041, calculating the first probability of each particle according to the updated position of each particle and the laser measurement data.

[0071] The calculation process of the first probability is described by taking the i-th particle (1≤i≤N, N is the number of particles in the particle set) as an example:

[0072] First, the position of each first feature point is determined according to the laser measurement data, where the first feature point is the feature point obtained by measurement; and the position of each second feature point is determined according to the updated position of the i-th particle, where the second feature point is the feature point pre-marked in the map.

[0073] Then, the matching distance of each first feature point is calculated respectively.

[0074] Taking the jth first feature point (1≤j≤J, J is the number of the first feature points) as an example, the distances between the jth first feature point and each second feature point are calculated respectively, and the shortest distance is selected from these distances. This shortest distance is the matching distance of the jth first feature point. The above calculation is performed on each first feature point to obtain the matching distance of each first feature point.

[0075] After the matching distances of the first feature points are obtained, the first distance may be calculated accordingly, where the first distance is the sum of the matching distances of the first feature points.

[0076] Finally, the first probability of the i-th particle is calculated based on the first distance. The first probability is negatively correlated with the first distance, that is, for the i-th particle, if its first distance is larger, it means that the feature points measured by the laser are less matched with the feature points in the map, and its first probability is smaller. Conversely, if its first distance is smaller, it means that the feature points measured by the laser are more matched with the feature points in the map, and its first probability is larger. The above calculation is performed on each particle in the particle set to obtain the first probability of each particle.

[0077] Step S5042: Calculate the second probability of each particle according to the updated position of each particle and the UWB measurement data.

[0078] like Figure 7 As shown, the calculation process of the second probability is explained by taking the i-th particle as an example:

[0079] Step S50421: Determine the UWB positioning position according to the UWB measurement data.

[0080] In this embodiment, a preset positioning algorithm can be used to calculate the UWB measurement data to obtain the UWB positioning position. The positioning algorithm includes but is not limited to a positioning algorithm based on angle of arrival (AOA), a positioning algorithm based on time of arrival (TOA), a positioning algorithm based on time difference of arrival (TDOA), a positioning algorithm based on received signal strength (RSS), and various combinations of these positioning algorithms.

[0081] Step S50422: Calculate the second distance.

[0082] The second distance is the distance between the updated position of the ith particle and the UWB positioning position.

[0083] In this embodiment, the updated position of the ith particle can be recorded as: Pos i =(x i ,y i ), the UWB positioning position is recorded as: Pos u =(x u ,y u ), the second distance is recorded as: di, then the second distance can be calculated according to the following formula:

[0084] Step S50423: Calculate the second probability of the i-th particle according to the second distance.

[0085] The second probability is negatively correlated with the second distance, that is, for the i-th particle, if its second distance is larger, its second probability is smaller, and conversely, if its second distance is smaller, its second probability is larger.

[0086] In a specific implementation of this embodiment, the second probability of the i-th particle can be calculated according to the following formula:

[0087]

[0088] Among them, p u is the second probability of the ith particle, σ is the standard deviation of the normal distribution. According to the “3σ” principle of the normal distribution, since the UWB positioning accuracy error is less than 1m, σ can be set to 0.3333, thereby constraining the particle within a range of 1 meter near the UWB positioning position. Its probability distribution is as follows: Figure 8 shown.

[0089] The above calculation is performed on each particle in the particle set to obtain the second probability of each particle.

[0090] Step S5043: Calculate the matching probability of each particle according to the first probability of each particle and the second probability of each particle.

[0091] Taking the ith particle as an example, the sum of the first probability of the ith particle and the second probability of the ith particle is determined as the matching probability of the ith particle. That is, when calculating the probability of the particle, the probability p originally calculated by the laser data is i Based on this, we add a probability p of UWB positioning position constraint u . Thus, when there is no laser data, the particles will be Figure 8The probability distribution shown is around the UWB positioning position. When the laser data is abundant, the laser data can be used to accurately adjust the particle position after UWB constraint. That is, UWB is mainly used in open areas, and laser is supplemented, while laser is mainly used in non-open areas, and UWB is supplemented. The advantages of the two complement each other.

[0092] Step S505: Positioning the robot according to the matching probability of each particle.

[0093] The specific positioning process is similar to the existing positioning process using a particle filter algorithm, and will not be described in detail here.

[0094] The above process only completes one positioning and tracking process. In order to facilitate the next positioning and tracking, after calculating the matching probability of each particle respectively, resampling can be performed according to the matching probability of each particle to obtain an updated particle set for use in the next positioning and tracking process.

[0095] Resampling is the stage of updating the particle set. In the resampling stage, the matching probability (p i +p u ) to replicate particles. Particles with a high matching probability have a high probability of being replicated, and can even be replicated multiple times. Particles with a low matching probability have a low probability of being replicated, or even not being replicated and slowly disappearing. This is similar to the genetic mechanism, survival of the fittest.

[0096] In addition to the above-mentioned genetic mechanism, in a specific implementation of this embodiment, a mutation mechanism can also be introduced. The mutation mechanism in the particle filter is mainly used to solve the recovery after positioning failure. In some cases, particles near the correct position may disappear completely. The genetic mechanism can only screen the particles with the highest probability among the existing particles. If the position of the particle with the highest probability is still wrong, no matter how it is screened, the particle at the correct position cannot be obtained. At this time, it is necessary to solve it through the mutation mechanism, that is, generate a number of random particles on the map. If a particle happens to fall near the correct position of the robot, then the particle will be copied with a high probability during resampling, and gradually multiply and grow, so that the robot positioning is restored to the correct position. If there is no UWB positioning position, it can only be restored through the above-mentioned random mutation mechanism. This purposeless random mutation mechanism will make the positioning recovery uncontrollable, and the positioning recovery time may be very long. However, with the UWB positioning position, the mutation mechanism can be made more purposeful, making the positioning recovery faster and more accurate. Therefore, after resampling according to the matching probability of each particle to obtain an updated particle set, the embodiment of the present application can also generate new particles at the UWB positioning position at a preset ratio, the direction of the particles is given by the UWB historical positioning information, and the generated new particles are added to the updated particle set. By generating "random" particles at the UWB positioning position, positioning recovery becomes completely controllable and can greatly speed up positioning recovery.

[0097] In summary, the embodiment of the present application obtains a particle set for positioning the robot; updates the position of each particle in the particle set according to a preset motion model to obtain an updated position of each particle; obtains laser measurement data and UWB measurement data; calculates the matching probability of each particle according to the laser measurement data, the UWB measurement data and the updated position of each particle; and positions the robot according to the matching probability of each particle. Through the embodiment of the present invention, UWB measurement data is incorporated into the traditional particle filter positioning algorithm based on laser measurement data. UWB has a high positioning accuracy in indoor open scenes, ensuring that the robot can be reliably positioned regardless of whether it is at the edge of a large indoor scene or in the middle of an open space.

[0098] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0099] Corresponding to a robot positioning method described in the above embodiment, Fig. 9 A structural diagram of an embodiment of a robot positioning device provided in an embodiment of the present application is shown.

[0100] In this embodiment, a robot positioning device may include:

[0101] The particle set acquisition module 901 is used to acquire a particle set for positioning the robot;

[0102] A position updating module 902 is used to update the position of each particle in the particle set according to a preset motion model to obtain an updated position of each particle;

[0103] A data acquisition module 903 is used to acquire laser measurement data and UWB measurement data;

[0104] A matching probability calculation module 904, used to calculate the matching probability of each particle according to the laser measurement data, the UWB measurement data and the updated position of each particle;

[0105] The positioning module 905 is used to position the robot according to the matching probability of each particle.

[0106] Furthermore, the matching probability calculation module may include:

[0107] A first probability calculation submodule, used to calculate the first probability of each particle according to the updated position of each particle and the laser measurement data;

[0108] A second probability calculation submodule, used to calculate a second probability of each particle according to the updated position of each particle and the UWB measurement data;

[0109] The matching probability calculation submodule is used to calculate the matching probability of each particle according to the first probability of each particle and the second probability of each particle.

[0110] Furthermore, the first probability calculation submodule may include:

[0111] A first feature point position determination unit, configured to determine the position of each first feature point according to the laser measurement data, wherein the first feature point is a feature point obtained by measurement;

[0112] A second feature point position determination unit, used to determine the position of each second feature point according to the updated position of the i-th particle, wherein the second feature point is a feature point pre-marked in the map, wherein 1≤i≤N, N is the number of particles in the particle set;

[0113] a matching distance calculation unit, used to calculate the matching distance of each first feature point respectively, wherein the matching distance of the jth first feature point is the shortest distance between the jth first feature point and each second feature point, wherein 1≤j≤J, and J is the number of the first feature points;

[0114] A first distance calculation unit, used to calculate a first distance, where the first distance is the sum of matching distances of the first feature points;

[0115] The first probability calculation unit is used to calculate a first probability of the i-th particle according to the first distance, and the first probability is negatively correlated with the first distance.

[0116] Furthermore, the second probability calculation submodule may include:

[0117] A UWB positioning position determining unit, configured to determine the UWB positioning position according to the UWB measurement data;

[0118] A second distance calculation unit, used to calculate a second distance, where the second distance is the distance between the updated position of the i-th particle and the UWB positioning position, wherein 1≤i≤N, and N is the number of particles in the particle set;

[0119] The second probability calculation unit is used to calculate a second probability of the i-th particle according to the second distance, and the second probability is negatively correlated with the second distance.

[0120] Furthermore, the matching probability calculation submodule is specifically used to determine the matching probability of the i-th particle by summing the first probability of the i-th particle and the second probability of the i-th particle, wherein 1≤i≤N, and N is the number of particles in the particle set.

[0121] Furthermore, the robot positioning device may also include:

[0122] The resampling module is used to resample according to the matching probability of each particle to obtain an updated particle set.

[0123] Furthermore, the robot positioning device may also include:

[0124] The mutation module is used to generate new particles at the UWB positioning position in a preset ratio, and add the generated new particles into the updated particle set.

[0125] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0126] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0127] Fig.10A schematic block diagram of a robot provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0128] like Fig.10 As shown, the robot 10 of this embodiment includes: a processor 100, a memory 101, and a computer program 102 stored in the memory 101 and executable on the processor 100. When the processor 100 executes the computer program 102, the steps in the above-mentioned robot positioning method embodiments are implemented, for example Figure 5 Alternatively, when the processor 100 executes the computer program 102, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Fig. 9 The functions of modules 901 to 905 are shown.

[0129] Exemplarily, the computer program 102 may be divided into one or more modules / units, which are stored in the memory 101 and executed by the processor 100 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 102 in the robot 10.

[0130] Those skilled in the art will understand that Fig.10 It is only an example of the robot 10 and does not constitute a limitation of the robot 10. The robot 10 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 10 may also include input and output devices, network access devices, buses, etc.

[0131] The processor 100 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0132] The memory 101 may be an internal storage unit of the robot 10, such as a hard disk or memory of the robot 10. The memory 101 may also be an external storage device of the robot 10, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 10. Further, the memory 101 may also include both an internal storage unit of the robot 10 and an external storage device. The memory 101 is used to store the computer program and other programs and data required by the robot 10. The memory 101 may also be used to temporarily store data that has been output or is to be output.

[0133] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically 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 software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0134] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0135] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0136] In the embodiments provided in the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as 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 mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0137] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0138] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0139] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0140] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A robot positioning method, characterized in that: include: Get the particle set for positioning the robot; The position of each particle in the particle set is updated respectively according to a preset motion model to obtain an updated position of each particle; Acquire laser measurement data and UWB measurement data; Determine the position of each first feature point according to the laser measurement data, the first feature point is a feature point obtained by measurement; determine the position of each second feature point according to the updated position of the i-th particle, the second feature point is a feature point pre-marked in the map, wherein 1≤i≤N, N is the number of particles in the particle set; take the shortest distance between the j-th first feature point and each second feature point as the matching distance of the j-th first feature point, wherein 1≤j≤J, J is the number of the first feature points; calculate the first probability of the i-th particle according to the sum of the matching distances of the first feature points; calculate the second probability of each particle according to the updated position of each particle and the UWB measurement data; calculate the matching probability of each particle according to the first probability of each particle and the second probability of each particle; The robot is positioned according to the matching probability of each particle.

2. The robot positioning method according to claim 1, characterized in that: Calculating the second probability of each particle according to the updated position of each particle and the UWB measurement data includes: Determine a UWB positioning position according to the UWB measurement data; Calculate a second distance, where the second distance is the distance between the updated position of the i-th particle and the UWB positioning position, where 1≤i≤N, and N is the number of particles in the particle set; A second probability of the i-th particle is calculated according to the second distance, and the second probability is negatively correlated with the second distance.

3. The robot positioning method according to claim 1, characterized in that: The calculating the matching probability of each particle according to the first probability of each particle and the second probability of each particle respectively includes: The sum of the first probability of the i-th particle and the second probability of the i-th particle is determined as the matching probability of the i-th particle, where 1≤i≤N, and N is the number of particles in the particle set.

4. The robot positioning method according to any one of claims 1 to 3, characterized in that: After respectively calculating the matching probability of each particle according to the laser measurement data, the UWB measurement data and the updated position of each particle, the method further includes: Resampling is performed according to the matching probability of each particle to obtain an updated particle set.

5. The robot positioning method according to claim 4, characterized in that: After resampling according to the matching probability of each particle to obtain the updated particle set, it also includes: New particles are generated at the UWB positioning position at a preset ratio, and the generated new particles are added to the updated particle set.

6. A robot positioning device, characterized in that: include: A particle set acquisition module is used to acquire a particle set for positioning the robot; A position updating module, used to update the position of each particle in the particle set according to a preset motion model to obtain an updated position of each particle; A data acquisition module, used to acquire laser measurement data and UWB measurement data; A matching probability calculation module, used to determine the position of each first feature point according to the laser measurement data, the first feature point is a feature point obtained by measurement; determine the position of each second feature point according to the updated position of the i-th particle, the second feature point is a feature point pre-marked in the map, wherein 1≤i≤N, N is the number of particles in the particle set; take the shortest distance between the j-th first feature point and each second feature point as the matching distance of the j-th first feature point, wherein 1≤j≤J, J is the number of the first feature points; calculate the first probability of the i-th particle according to the sum of the matching distances of the first feature points; calculate the second probability of each particle according to the updated position of each particle and the UWB measurement data; calculate the matching probability of each particle according to the first probability of each particle and the second probability of each particle; A positioning module is used to position the robot according to the matching probability of each particle.

7. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the robot positioning method according to any one of claims 1 to 5 are implemented.

8. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the robot positioning method according to any one of claims 1 to 5 are implemented.