A robot localization method based on AMCL Monte Carlo

By establishing a lidar observation model and a position detection model, the problem of unstable positioning of the AMCL positioning method under environmental changes and sensor errors is solved, and the robot's stable positioning and adaptability in a dynamic environment are achieved.

CN119845272BActive Publication Date: 2025-09-30GUANGZHOU LANHAI ROBOT SYST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411971689.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-09-30
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

In the AMCL Monte Carlo positioning technology based on particle filtering, environmental changes and sensor errors lead to robot positioning and navigation deviations, affecting the robot's walking stability and positioning accuracy.

Method used

By establishing lidar observation models, including normal distribution model, exponential distribution model and maximum measurement distribution model, the lidar data is classified and processed, combined with position sensors to detect robot movement, judge positioning accuracy and perform short-term displacement correction to ensure stable robot positioning.

Benefits of technology

The robot's positioning stability and environmental adaptability are improved, positioning deviation is reduced, and stable operation of the robot is ensured in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119845272B_ABST
    Figure CN119845272B_ABST
Patent Text Reader

Abstract

The present invention provides a robot positioning method based on AMCL Monte Carlo. When positioning the robot, the robot's surrounding environment is first measured by a laser radar, and the measured map data is compared with an initially set map. If the deviation value of the comparison result is large, it is determined that the current positioning of the robot is unstable, and further positioning is performed. By performing a short-term displacement on the robot, it is determined whether the current displacement of the robot is within a pre-set displacement range, thereby determining whether the robot's positioning is accurate, thereby improving the robot's positioning stability and making the robot more adaptable to the environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot positioning, and in particular to a robot positioning method based on AMCL Monte Carlo. Background Art

[0002] In modern times, with the rapid development of robotics technology, robot positioning and mapping solutions based on a variety of sensor technologies have gradually become stable and mature, and have gradually transformed from traditional tracked magnetic navigation to dynamic path navigation based on the environment. The fixed-route robot navigation method has a single working task and action. It can pause when encountering an obstacle while ensuring that it does not deviate from the navigation track, and can smoothly run to the working point when there is no obstacle. It is a navigation method that can achieve stable and safe operation. The application of SLAM (simultaneous localization and simultaneous mapping) technology has enabled mobile robots to quickly enter various industries, such as restaurant robots used for delivering food in restaurants, medical disinfection robots used for disinfection in more dangerous places in the medical industry, and inspection robots used for patrolling on the streets. So far, we have become accustomed to the services of mobile machines in various occasions. More and more Sensor technology companies have also begun to join the track of robot sensor innovation and R&D, making the market for consumer robot sensors prosperous. LiDARs that generally use the principles of triangulation and light time-of-flight ranging have made them affordable for more robot R&D teams. Robots based on 2D LiDAR SLAM technology are especially favored by many technology companies for their mature and stable navigation solutions and smaller return on investment time difference. However, in widespread use, AMCL (Monte Carlo positioning) based on particle filtering in 2D LiDAR SLAM positioning technology is more or less affected by environmental changes, the influence of inherent manufacturing errors of sensors, and the influence of sensor measurements. When the erroneous data is fed into the laser positioning algorithm for calculation, it will produce large positioning and navigation deviations, resulting in unstable and abnormal robot walking, robot global positioning jumps, and even positioning failure. Summary of the Invention

[0003] The present invention provides a robot positioning method based on AMCL Monte Carlo, which can determine whether the positioning of the robot is accurate, thereby improving the stability of the robot positioning.

[0004] To achieve the above object, the technical solution of the present invention is: a robot positioning method based on AMCL Monte Carlo, the specific steps comprising:

[0005] S1 presets the map where the robot is located as the initial map and records the environmental data Q of the initial map.

[0006] S2 establishes the robot lidar observation model, which includes the normal distribution model, exponential distribution model and maximum measurement distribution model.

[0007] S3 uses the observation model to process the environmental data obtained by the lidar. The steps are as follows:

[0008] The S31 observation model classifies and stores the environmental data obtained by the lidar. The classification method is as follows: the normally measured laser beam is input into the normal distribution model, the truncated laser beam generated by dynamic objects is input into the exponential distribution model, and the laser beam whose return beam is not detected by the lidar is input into the maximum measurement distribution model.

[0009] S32 The normal distribution model parameterizes the stored environmental data to form a result p1, the exponential distribution model parameterizes the stored environmental data to form a result p2, and the maximum measurement distribution model parameterizes the stored environmental data to form a result p3.

[0010] S33 adds p1, p2, and p3 to form data p.

[0011] S4 obtains environmental data of the initial map.

[0012] S5 compares p and Q; if the deviation between p and Q is within the preset range, it means that the robot's current positioning is accurate; if the deviation between p and Q is not within the preset range, it means that the robot's current positioning is unstable and position measurement is required, then proceed to step S6.

[0013] S6 Establish a robot position detection model.

[0014] S7 detects the robot's motion through its position sensors and establishes a position detection model.

[0015] The S8 robot performs short-term displacement, the position sensor collects the robot's movement trajectory data, and the position detection model calculates the robot's displacement based on the robot's movement trajectory data.

[0016] S9 determines whether the displacement of the robot is within the preset range. If the displacement is within the preset range, it means that the robot's positioning is accurate; if the displacement is not within the preset range, the robot needs to be re-positioned globally.

[0017] The beneficial effects of the above method are as follows: when locating the robot's position, the robot's surrounding environment is first measured by a laser radar, and the measured map data is compared with the initially set map. If the deviation value of the comparison result is large, it is determined that the robot's current positioning is unstable, and further positioning is performed. By performing a short-term displacement on the robot, it is determined whether the robot's current displacement is within the pre-set displacement range, thereby determining whether the robot's positioning is accurate, thereby improving the robot's positioning stability and making the robot more adaptable to the environment.

[0018] Furthermore, based on the initial map and the robot's current position, the current environment is measured using a LiDAR. A normal distribution model for the laser beam based on the distance to obstacles measured by the LiDAR is established. An exponential distribution model is established based on whether the LiDAR laser beam is intercepted by dynamic objects between the LiDAR and the obstacle. Finally, a maximum measurement distribution model for the laser beam where no return beam is detected by the LiDAR is established. This method allows for the establishment of a targeted observation model, facilitating the processing of the corresponding data.

[0019] Furthermore, the laser beam whose return beam is not detected by the laser radar includes the laser beam emitted by the laser radar to an object outside the laser beam measurement range and the laser beam emitted by the laser radar to an object with high light absorption.

[0020] Furthermore, the data is processed by the normal distribution model to conform to the normal distribution algorithm. The calculation formula of the normal distribution is:

[0021]

[0022] in, is the noise in the map, x is the measurement value of each laser beam, and μ is the position point on the map corresponding to the laser beam measurement value x.

[0023] In actual application scenarios, due to the presence of noise, the above settings can ensure that the measured map data matches the actual map data better by adding reasonable noise, thereby facilitating stable positioning of the robot.

[0024] Furthermore, the data is processed through the exponential distribution model in accordance with the exponential distribution algorithm. The calculation formula of the exponential distribution is:

[0025] Where λ is the number of laser beam measurements and x is the measurement value of each laser beam.

[0026] The above settings can facilitate the calculation of the number of times the laser radar is interrupted during measurement.

[0027] Furthermore, the data is processed by the maximum measurement distribution model to meet the maximum measurement distribution algorithm. The calculation formula of the maximum measurement distribution is:

[0028] Where x max This is the critical value outside the laser beam measurement range.

[0029] The above settings can facilitate the calculation of the maximum measurement range of the lidar.

[0030] Furthermore, step S8 specifically includes:

[0031] S81 The robot rotates so that its forward direction faces the target direction;

[0032] S82 The robot moves a certain distance toward the target direction;

[0033] S83 The robot rotates and readjusts its forward direction toward the target;

[0034] The S84 position sensor detects the encoder readings generated by the robot when it moves through the rotary encoder and generates the robot's movement trajectory data;

[0035] The S85 position sensor sends the robot's movement trajectory data to the position detection model;

[0036] The S86 position detection model obtains the robot's displacement based on the robot's movement trajectory data.

[0037] The above settings further determine whether the robot's positioning is accurate by setting a position detection model, thereby improving the robot's positioning stability and making the robot more adaptable to the environment.

[0038] Furthermore, S84 specifically includes that when the rotary encoder rotates in the positive direction, it represents that the robot is performing rotational motion, and when the rotary encoder rotates in the reverse direction, it represents that the robot is performing branch motion, and the motion direction and movement trajectory of the robot are determined by the rotation direction of the encoder.

[0039] The above setting can facilitate the detection of the robot's movement through the rotary encoder, which is practical, convenient and reliable.

[0040] Furthermore, the displacement calculation formula of the robot is:

[0041]

[0042] Among them, the starting angle of the robot is Angular velocity and time After rotation, the orientation , the machine runs at line speed and angular velocity Move for a while The machine then moved , and .

[0043] The above arrangement, by decomposing the robot's motion into three motion phases, enables better detection of the robot's displacement. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 It is the workflow diagram of the present invention.

[0045] Figure 2 This is a calculation function curve diagram of the laser radar observation model of the present invention.

[0046] Figure 3 It is the moving trajectory diagram of the robot of the present invention. DETAILED DESCRIPTION

[0047] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0048] like Figures 1 to 3 As shown in FIG, a robot positioning method based on AMCL Monte Carlo is shown, and the specific steps include:

[0049] S1 presets the map where the robot is located as the initial map and records the environmental data Q of the initial map.

[0050] S2 establishes a robot lidar observation model. The observation model is used to receive, classify, and process environmental data acquired by the lidar. The observation model includes a normal distribution model, an exponential distribution model, and a maximum measurement distribution model. In this step, the lidar measures the current environment based on the initial map and the current robot position. A normal distribution model is established for the laser beam based on the distance to the obstacle measured by the lidar, an exponential distribution model is established based on whether the lidar laser beam is intercepted by a dynamic object between the lidar and the obstacle, and a maximum measurement distribution model is established based on the laser beam for which the lidar does not detect the return beam. Laser beams for which the lidar does not detect the return beam include laser beams emitted by the lidar to objects outside the laser beam measurement range and laser beams emitted by the lidar to objects with high light absorption. That is, within a large area, if an object is beyond the lidar's range, the lidar cannot receive the reflected signal. In addition, for objects with high light absorption, when the laser beam emitted by the lidar reaches the object, it is essentially absorbed, and the lidar cannot receive the reflected signal.

[0051] S3 uses the observation model to process the environmental data obtained by the lidar. The steps are as follows:

[0052] The S31 observation model classifies and stores the environmental data obtained by the lidar. The classification method is as follows: the normally measured laser beam is input into the normal distribution model, the truncated laser beam generated by dynamic objects is input into the exponential distribution model, and the laser beam whose return beam is not detected by the lidar is input into the maximum measurement distribution model.

[0053] S32 The normal distribution model parameterizes the stored environmental data to form a result p1, the exponential distribution model parameterizes the stored environmental data to form a result p2, and the maximum measurement distribution model parameterizes the stored environmental data to form a result p3.

[0054] Among them, the algorithm for processing data through the normal distribution model conforms to the normal distribution. The calculation formula of the normal distribution is:

[0055]

[0056] in, is the noise in the map, x is the measurement value of each laser beam, and μ is the position point on the initial map corresponding to the laser beam measurement value x.

[0057] Processing data through the exponential distribution model conforms to the exponential distribution algorithm. The calculation formula of the exponential distribution is:

[0058] Where λ is the number of laser beam measurements and x is the measurement value of each laser beam.

[0059] The data processed by the maximum measurement distribution model conforms to the algorithm of the maximum measurement distribution. The calculation formula of the maximum measurement distribution is:

[0060]

[0061] Where x max It is the critical value outside the laser beam measurement range. For example, when the laser beam measurement range is 50m, the critical value outside the laser beam measurement range is 50m.

[0062] S33 adds p1, p2, and p3 to form data p.

[0063] S4 obtains environmental data of the initial map.

[0064] S5 compares p and Q; if the deviation between p and Q is within the preset range, it means that the robot's current positioning is accurate; if the deviation between p and Q is not within the preset range, it means that the robot's current positioning is unstable and position measurement is required, then proceed to step S6.

[0065] S6 Establish a robot position detection model.

[0066] S7 detects the robot's motion through its position sensors and establishes a position detection model.

[0067] The S8 robot performs a short-term displacement. The position sensor collects the robot's movement trajectory data. The position detection model calculates the robot's displacement based on the robot's movement trajectory data. Specifically:

[0068] The S81 robot rotates so that its forward direction faces the target direction.

[0069] S82 The robot moves a certain distance toward the target direction.

[0070] S83 The robot rotates and readjusts its forward direction toward the target.

[0071] The S84 position sensor uses a rotary encoder to detect the encoder readings generated when the robot moves and generates the robot's movement trajectory data. Specifically, when the rotary encoder rotates in the positive direction, it represents that the robot is performing rotational motion, and when the rotary encoder rotates in the reverse direction, it represents that the robot is performing linear motion. The robot's movement direction and movement trajectory are determined by the rotation direction of the encoder.

[0072] The S85 position sensor sends the robot's movement trajectory data to the position detection model.

[0073] The S86 position detection model obtains the robot's displacement based on the robot's movement trajectory data. The robot's displacement calculation formula is:

[0074] ;

[0075] Among them, the starting angle of the robot is Angular velocity and time After rotation, the orientation , the machine runs at line speed and angular velocity Move for a while The machine then moved , and .

[0076] S9 determines whether the displacement of the robot is within the preset range. If the displacement is within the preset range, it means that the robot's positioning is accurate; if the displacement is not within the preset range, the robot needs to be re-positioned globally.

[0077] In this embodiment, in actual application scenarios, due to the presence of noise, by adding reasonable noise, it is possible to ensure that the measured map data matches the actual map data better, thereby facilitating stable positioning of the robot.

[0078] like Figure 2 As shown in the figure, by establishing the robot's lidar observation model, since the lidar measurement itself has noise, the measurement of the lidar laser beam is approximated to a normal distribution, corresponding to Figure 2 The curve at number 1 is a normal distribution curve. The robot's environment is usually dynamic, while the robot's initial map is static. Objects that are not originally included in the initial map intercept the laser beam, causing the lidar to accidentally measure a shorter distance. This unexpected phenomenon is treated as an exponential distribution, which corresponds to Figure 2 The curve at number 2 is an exponential distribution curve. Sometimes the laser radar’s rays encounter an object with high light absorption or exceed the range of the laser radar. Because the radar cannot receive the return rays, the measurement will be completely invalid. This situation often happens, so it is set to obey the uniform measurement distribution, corresponding to Figure 2 The curve at number 3 is a uniform value distribution curve. By combining such distributions, we can get Figure 2 The overall curve is used to establish the lidar observation model of the surrounding obstacles to process the robot's positioning information.

[0079] Step (31) specifically includes inputting each laser beam of the laser radar measurement laser frame into different observation models after performing normal distribution, exponential distribution and uniform distribution respectively.

[0080] In this embodiment, data is processed by a normal distribution model, an exponential distribution model, and a maximum measurement distribution model, which can facilitate stable measurement of the robot's surrounding environment.

[0081] By setting up a position detection model, we can further determine whether the robot's positioning is accurate, thereby improving the robot's positioning stability and making the robot more adaptable to the environment.

[0082] The rotary encoder can be used to easily detect the movement of the robot, which is practical, convenient and reliable.

[0083] By decomposing the robot's motion into three motion stages, the robot's displacement can be better detected.

[0084] like Figure 3 As shown, in this embodiment, the position sensor decomposes the robot's motion steps into three motion stages, the first motion is a rotational motion, as shown in FIG. Figure 3As shown in the middle label A, the robot receives a rotation command, and the robot moves from the original direction to the target direction. After rotating to an appropriate angle, the second movement is a linear movement, as shown in Figure 3 As shown by the label B, this movement makes the robot move toward the target point, and the third movement is a rotational movement, as shown in Figure 3 As shown in the middle label C, this movement causes the robot to finally rotate to the correct orientation, so that the robot can accurately move to the target point, and then obtain the trajectory data of the robot's movement through the position sensor to generate the robot's displacement.

[0085] The beneficial effects of the present invention are as follows: when locating the robot's position, the robot's surrounding environment is first measured by a laser radar, and the measured map data is compared with the initially set map. If the deviation value of the comparison result is large, it is determined that the robot's current positioning is unstable, and further positioning is performed. By performing a short-term displacement on the robot, it is determined whether the robot's current displacement is within a pre-set displacement range, thereby determining whether the robot's positioning is accurate, thereby improving the robot's positioning stability and making the robot more adaptable to the environment.

Claims

1. A robot positioning method based on AMCL Monte Carlo, characterized by: The specific steps include: S1 presets the map where the robot is located as the initial map and records the environmental data Q of the initial map; S2 establishes a robot lidar observation model, which includes a normal distribution model, an exponential distribution model, and a maximum measurement distribution model; S3 uses the observation model to process the environmental data obtained by the lidar. The steps are as follows: The S31 observation model classifies and stores environmental data acquired by the lidar. The classification method is as follows: normally measured laser beams are input into the normal distribution model, truncated laser beams generated by dynamic objects are input into the exponential distribution model, and laser beams where the lidar does not detect a return beam are input into the maximum measurement distribution model. S32 The normal distribution model parameters the stored environmental data to form a result p1, the exponential distribution model parameters the stored environmental data to form a result p2, and the maximum measurement distribution model parameters the stored environmental data to form a result p3; S33 adds p1, p2, and p3 to form data p; S4 obtains environmental data of the initial map; S5 compares p and Q; if the deviation between p and Q is within the preset range, it means that the robot's current positioning is accurate; if the deviation between p and Q is not within the preset range, it means that the robot's current positioning is unstable and position measurement is required, then proceed to step S6; S6 establishes a robot position detection model; S7 detects the robot's motion through its position sensor and establishes a position detection model; The S8 robot performs a short-term displacement. The position sensor collects the robot's movement trajectory data, and the position detection model calculates the robot's displacement based on the robot's movement trajectory data. S9 determines whether the displacement of the robot is within a preset range. If the displacement is within the preset range, it means that the robot is accurately positioned; if the displacement is not within the preset range, the robot needs to be re-positioned globally.

2. The robot positioning method based on AMCL Monte Carlo according to claim 1, characterized in that: Based on the initial map and the current position of the robot, the current environment is measured by the lidar; a normal distribution model of the laser beam based on the obstacle distance measured by the lidar is established; an exponential distribution model is established based on whether the laser beam of the lidar is intercepted by a dynamic object between the lidar and the obstacle; and a maximum measurement distribution model of the laser beam based on the return beam not detected by the lidar is established.

3. The robot positioning method based on AMCL Monte Carlo according to claim 2, characterized in that: The laser beams for which the laser radar does not detect a return beam include the laser beams emitted by the laser radar to an object outside the measurement range of the laser beam and the laser beams emitted by the laser radar to an object with high light absorption.

4. The robot positioning method based on AMCL Monte Carlo according to claim 1, characterized in that: The algorithm for processing data using the normal distribution model conforms to the normal distribution. The calculation formula for the normal distribution is: in, is the noise in the map, x is the measurement value of each laser beam, and μ is the position point on the initial map corresponding to the laser beam measurement value x.

5. The robot positioning method based on AMCL Monte Carlo according to claim 1, characterized in that: Processing data through the exponential distribution model conforms to the exponential distribution algorithm. The calculation formula of the exponential distribution is: Where λ is the number of laser beam measurements and x is the measurement value of each laser beam.

6. The robot positioning method based on AMCL Monte Carlo according to claim 1, characterized in that: The data processed by the maximum measurement distribution model conforms to the algorithm of the maximum measurement distribution. The calculation formula of the maximum measurement distribution is: Where x max This is the critical value outside the laser beam measurement range.

7. The robot positioning method based on AMCL Monte Carlo according to claim 1, characterized in that: S8 specifically includes: The S81 robot rotates so that its forward direction faces the target direction; S82 The robot moves a certain distance toward the target direction; S83 The robot rotates and readjusts its forward direction toward the target; The S84 position sensor detects the encoder readings generated by the robot when it moves through the rotary encoder and generates the robot's movement trajectory data; The S85 position sensor sends the robot's movement trajectory data to the position detection model; The S86 position detection model obtains the robot's displacement based on the robot's movement trajectory data.

8. The robot positioning method based on AMCL Monte Carlo according to claim 7, characterized in that: S84 specifically includes that when the rotary encoder rotates in the positive direction, it represents that the robot is performing rotational motion, and when the rotary encoder rotates in the reverse direction, it represents that the robot is performing linear motion. The motion direction and movement trajectory of the robot are determined by the rotation direction of the encoder.

9. The robot positioning method based on AMCL Monte Carlo according to claim 7, characterized in that: The calculation formula of the robot's displacement is: Among them, the starting angle of the robot is Angular velocity and time After rotation, the orientation During intermediate operation, the machine moves at line speed and angular velocity Move for a while The machine then moved and .