A robot localization method, an electronic device, and a computer storage medium.
By acquiring the robot's inertial velocity and encoder speed parameters, performing attitude calculation and data fusion, the error problems caused by slippage and noise interference in robot navigation and positioning are solved, achieving higher accuracy and robust positioning results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HANGZHOU HUACHENG SOFTWARE TECH CO LTD
- Filing Date
- 2023-04-20
- Publication Date
- 2026-05-26
AI Technical Summary
In existing robot navigation and positioning methods, measurements from inertial sensors and wheeled odometers are easily affected by slippage, noise, and complex terrain, leading to the accumulation of positioning errors and making it difficult to meet real-time and accuracy requirements.
By acquiring the robot's inertial velocity and encoder speed parameters, attitude calculation and data fusion are performed. Extended Kalman filter algorithm and other methods are used to determine slippage and perform fusion positioning. Data from inertial sensors and wheel odometry are used for fusion positioning to reduce the impact of slippage anomalies on positioning accuracy.
It improves the accuracy and robustness of robot navigation and positioning, reduces the impact of slippage and abnormal conditions on positioning, and enhances the real-time performance and accuracy of the positioning system.
Smart Images

Figure CN116698021B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and in particular to a robot localization method, electronic device, and computer storage medium. Background Technology
[0002] In recent years, with the advancement of technology, indoor mobile robots have developed rapidly. Autonomous navigation and positioning, as one of the key technologies for mobile robot applications, presents two major challenges: accuracy and real-time performance. To meet real-time requirements, current navigation and positioning methods mainly rely on inertial sensors and wheeled odometry. Wheeled odometry uses encoders to measure the rotational speed of the wheels to calculate the robot's forward linear velocity and horizontal rotational angular velocity. Inertial sensors use gyroscopes and accelerometers to measure the robot's acceleration and angular velocity in three-dimensional space. Finally, the robot's distance traveled is calculated by integrating the velocities for navigation and positioning.
[0003] However, slippage, noise, and interference from complex terrain can cause inaccurate sensor measurements, resulting in large positioning errors, which will accumulate over time. Summary of the Invention
[0004] To address the aforementioned technical problems, this application proposes a robot localization method, an electronic device, and a computer storage medium.
[0005] To address the aforementioned technical problems, this application proposes a robot localization method, comprising:
[0006] The process involves acquiring motion state data of the robot in its body coordinate system, including inertial velocity parameters and encoder speed parameters; obtaining the robot's attitude information based on the motion state data, and performing calculations based on the attitude information and the inertial velocity parameters to obtain first calculated data; calculating the encoder speed parameters to obtain second calculated data; obtaining the robot's slippage status based on the first and second calculated data; and obtaining the robot's positioning result based on the slippage status using the first and second calculated data.
[0007] The step of locating the robot based on the first and second solution data to obtain the robot's location result includes: determining whether the robot has any slipping abnormal behavior based on the first and second solution data; if so, locating the robot based on the first solution data to obtain the robot's location result; if not, performing fusion positioning on the robot using a fusion positioning algorithm based on the first and second solution data to obtain the robot's location result.
[0008] The inertial velocity parameter includes a first angular velocity parameter. The step of obtaining the robot's attitude information based on the motion state data includes: obtaining the robot's motion state based on the motion state data; in response to the robot being in a variable speed motion state, performing attitude calculation on the robot based on the first angular velocity parameter to obtain the attitude information; and in response to the robot being in a uniform speed motion state, calibrating the robot's attitude using an attitude correction algorithm to obtain the attitude information.
[0009] The inertial velocity parameter includes a first acceleration parameter. The step of calculating the first calculated data based on the attitude information and the inertial velocity parameter includes: converting the first acceleration parameter in the body coordinate system to a second acceleration parameter in the navigation coordinate system based on the attitude information; and integrating the second acceleration parameter in the navigation coordinate system to obtain the first calculated data.
[0010] The step of acquiring motion state data in the robot's body coordinate system includes: acquiring the robot's inertial velocity parameters using an inertial sensor; acquiring the robot's encoder speed parameters using a wheel odometer; and acquiring the motion state data in the body coordinate system based on the inertial velocity parameters and the encoder speed parameters.
[0011] The step of obtaining the motion state data in the body coordinate system based on the inertial velocity parameters and the encoder speed parameters includes: performing time synchronization processing on the inertial velocity parameters and the encoder speed parameters to obtain synchronized inertial velocity parameters and the encoder speed parameters; and using an external parameter calibration matrix to convert the inertial velocity parameters and the encoder speed parameters into motion state data in the body coordinate system.
[0012] The encoder speed parameters include a first encoder speed parameter and a second encoder speed parameter. The step of calculating the second calculated data from the encoder speed parameters includes: obtaining the linear velocity parameter and the second angular velocity parameter of the robot based on the first encoder speed parameter and the second encoder speed parameter, and obtaining the second calculated data based on the linear velocity parameter and the second angular velocity parameter.
[0013] The fusion localization algorithm includes an extended Kalman filter algorithm, an error state Kalman filter algorithm, and a complementary filter algorithm.
[0014] To solve the above-mentioned technical problems, an electronic device is proposed, comprising a processor and a memory connected to the processor, wherein the memory stores program data, and the processor executes the program data stored in the memory to implement the above-mentioned robot localization method.
[0015] To address the aforementioned technical problems, a computer-readable storage medium is proposed, which internally stores program instructions that are executed to implement the robot localization method described above.
[0016] Compared with existing technologies, the beneficial effects of this application are as follows: The electronic device acquires motion state data of the robot in its body coordinate system, wherein the motion state data includes inertial velocity parameters and encoder speed parameters; it acquires the robot's posture information based on the motion state data, and performs calculations based on the posture information and the inertial velocity parameters to obtain first calculated data; it calculates the encoder speed parameters to obtain second calculated data; it acquires the robot's slippage condition based on the first and second calculated data; and it obtains the robot's positioning result based on the slippage condition using the first and second calculated data. By using the first and second calculated data to position the robot, the impact of abnormal robot slippage on positioning accuracy is reduced, improving the accuracy and robustness of robot navigation and positioning. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] in:
[0019] Figure 1 This is a flowchart illustrating an embodiment of the robot localization method provided in this application;
[0020] Figure 2 This is a schematic diagram of the overall process of the robot localization method provided in this application;
[0021] Figure 3 This is a flowchart illustrating another embodiment of the robot localization method provided in this application;
[0022] Figure 4 This is the motion model of the two-wheeled differential robot provided in this application;
[0023] Figure 5This is a schematic diagram of the structure of an embodiment of the electronic device provided in this application;
[0024] Figure 6 This is a schematic diagram of the structure of an embodiment of the computer storage medium provided in this application. Detailed Implementation
[0025] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0026] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0027] Please refer to details. Figure 1 and Figure 2 , Figure 1 This is a flowchart illustrating an embodiment of the robot localization method provided in this application; Figure 2 This is a schematic diagram of the overall process of the robot localization method provided in this application.
[0028] The robot localization method of this application is applied to an electronic device, wherein the electronic device can be a server, a local terminal, or a system in which the server and the local terminal cooperate with each other. Accordingly, the various parts of the electronic device, such as various units, sub-units, modules, and sub-modules, can all be set in the server, all in the local terminal, or separately in the server and the local terminal.
[0029] Furthermore, the aforementioned server can be either hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software programs or software modules, such as software or software modules used to provide distributed server functionality, or as a single software program or software module; no specific limitations are made here.
[0030] Specifically, the electronic device can also be a robot, including but not limited to: a sweeping robot, a cleaning robot, a collaborative robot, etc.
[0031] like Figure 1 As shown, the specific steps are as follows:
[0032] Step S11: Obtain motion state data of the robot in the body coordinate system.
[0033] The motion state data includes inertial velocity parameters and encoder speed parameters.
[0034] Specifically, the electronic devices use inertial sensors to obtain the robot's inertial velocity parameters and wheel odometers to obtain the robot's encoder speed parameters.
[0035] Inertial measurement units (IMUs) are primarily used to detect and measure acceleration, tilt, impact, vibration, rotation, and multi-degree-of-freedom (DoF) motion. They are important components for navigation, orientation, and control of moving vehicles.
[0036] Micro-Electro-Mechanical Systems (MEMS), also known as microelectromechanical systems, microsystems, micromachines, etc., refer to high-tech devices with dimensions of a few millimeters or even smaller.
[0037] Wheel odometry relies on encoders to measure the rotational speed on the wheels and then calculates the robot's forward linear velocity and horizontal rotational angular velocity. Inertial sensors use gyroscopes and accelerometers to measure the robot's acceleration and angular velocity in three-dimensional space.
[0038] In other embodiments of this application, inertial velocity parameters and encoder speed parameters can also be obtained in any way, such as by directly measuring them through a speed sensor or other methods.
[0039] Furthermore, in this embodiment, the inertial velocity parameters include triaxial acceleration. Triaxial angular velocity The encoder speed parameters include the linear speed on both wheels. Where I and O represent the inertial sensor coordinate system and the wheeled odometer coordinate system, respectively, t is the current time, and x, y, and z are the directions of the three axes in the Cartesian coordinate system. These represent the speeds on the right and left wheels, respectively.
[0040] In one embodiment of this application, considering that the two sensors may operate at different frequencies and acquire signals at different times, it is necessary to first synchronize the data from the two sensors in time, and then transform the data from the two sensors into the body coordinate system using an external parameter calibration matrix. Based on the inertial velocity parameters and the encoder speed parameters, the motion state data of the body is obtained. Through coordinate transformation, the motion state data of the body in the body coordinate system is obtained.
[0041] The electronic devices collect the robot's three-axis acceleration at the current moment through MEMS inertial sensors and wheeled odometry. Triaxial angular velocity and the linear velocity on both wheels
[0042] By employing the above methods, the uniformity of the collective motion state acquired by the electronic equipment is ensured, thereby improving calculation accuracy.
[0043] Step S12: Obtain the robot's posture information based on motion state data, and perform calculations based on the posture information and inertial velocity parameters to obtain the first calculation data.
[0044] Please combine Figure 2 The electronic device further determines whether there is an external force acting on the robot based on the robot's motion state data. When there is an external force, it calculates the carrier attitude based on the gyroscope angular velocity, further compensates for the attitude acceleration, calculates the linear velocity of the robot carrier, and obtains the first calculation data.
[0045] Any attitude calculation algorithm can be used here, including but not limited to Euler's method, quaternion method, median filtering method, and Runge-Kutta method.
[0046] If no external force is applied, complementary filtering is used for attitude calculation, further compensating for attitude acceleration, calculating the robot carrier's linear velocity, and obtaining the first calculation data. The electronic equipment, based on the characteristics of the MEMS inertial sensor, improves the accuracy of inertial calculation through dynamic complementary filtering.
[0047] Because the encoder data can be inaccurate when the robot experiences slippage, this application proposes an embodiment for acquiring the robot's attitude information using an inertial sensor. Please refer to [link to specific implementation details]. Figure 3 , Figure 3 This is a flowchart illustrating another embodiment of the robot positioning method provided in this application.
[0048] like Figure 3 As shown, the specific steps are as follows:
[0049] Step S21: Obtain the robot's motion state based on motion state data.
[0050] Specifically, the electronic device acquires the robot's motion state based on motion state data. This motion state includes, but is not limited to, any of the robot's motion states such as driving state, paused state, position state, force state, and acceleration state.
[0051] Step S22: In response to the robot being in a variable speed motion state, the robot's attitude is calculated based on the first angular velocity parameter to obtain attitude information.
[0052] Specifically, in this embodiment of the application, when the electronic device detects that the robot is in variable speed motion, that is, when the robot is subjected to external force, the robot's attitude is calculated based on the first angular velocity parameter to obtain attitude information.
[0053] The external force can be friction exceeding a certain threshold, or an external force that accelerates or stops the process.
[0054] If the robot is currently stationary, the inertial calculation is directly reset and corrected to eliminate accumulated errors. Then, based on the attitude information, the acceleration in the body coordinate system is transformed to the navigation coordinate system, eliminating the component of gravitational acceleration in the xy plane. In this process, only the attitude information in the roll and pitch directions is needed. The data after attitude calibration will make the results more accurate and effectively improve the subsequent positioning accuracy.
[0055] Step S23: In response to the robot being in a uniform motion state, the robot's posture is calibrated using the posture correction solution algorithm to obtain posture information.
[0056] Specifically, when the electronic device detects that the robot is in a state of uniform motion, that is, not subject to external forces, the robot's posture is calibrated using a posture correction solution algorithm.
[0057] Pose calculations based on gyroscope integration can accumulate significant errors over long periods. However, when unaffected by external forces, the accelerometer provides a constant gravitational acceleration, allowing for more accurate calculation of the aircraft's roll and pitch attitude. The attitude calculated by the accelerometer is then used to calibrate the attitude calculated by the gyroscope. Any attitude calibration algorithm can be used, including but not limited to Kalman filtering, complementary filtering, and Automatic Heading Reference System (AHRS).
[0058] Low-cost MEMS inertial sensors suffer from a systematic error, including zero bias, axis bias, and scale factor, as well as a random error, including zero bias instability and temperature drift. Before using them, the data needs to be calibrated, and the calibration parameters updated as necessary. Furthermore, to reduce external noise interference with the measured data, low-pass filtering is used to process the sensor data, eliminating high-frequency noise such as that from motor rotation.
[0059] In one embodiment of this application, the inertial velocity parameter includes a first acceleration parameter. This application proposes the following steps for obtaining the first solution data:
[0060] Step S24: Based on the attitude information, transform the first acceleration parameter in the body coordinate system to the second acceleration parameter in the navigation coordinate system.
[0061] Specifically, the electronic device uses attitude information to determine the first acceleration in the body coordinate system. The first acceleration in the body coordinate system is converted to the second acceleration parameter in the navigation coordinate system according to any coordinate transformation method.
[0062] Step S25: Integrate the second acceleration parameter in the navigation coordinate system to obtain the first solution data.
[0063] In one embodiment of this application, the inertial sensor can directly measure the robot's acceleration and angular velocity. The data collected by the six-axis inertial sensor is integrated over time to obtain the first solution data, thereby enabling the robot to be located in three-dimensional space.
[0064] Specifically, the electronic device integrates the second acceleration in the navigation coordinate system over time to obtain the robot's current linear velocity and angular velocity calculated by the inertial sensor, thus obtaining the first calculated data.
[0065] Step S13: Calculate the encoder speed parameters to obtain the second calculation data.
[0066] Specifically, the electronic device calculates the speed parameters of the encoder, including but not limited to the linear velocity of the carrier and the angular velocity of the heading angle, and then obtains the second calculated data.
[0067] In other embodiments of this application, the electronic device obtains the robot's linear velocity parameters and second angular velocity parameters based on the first encoder speed parameters and the second encoder speed parameters. Second calculated data is then obtained based on the linear velocity parameters and the second angular velocity parameters.
[0068] Among them, the motion model of the two-wheel differential robot is as follows: Figure 4 As shown, the parameters of the first code disk are: The parameters for the second encoder are:
[0069] Furthermore, based on the speeds of the left and right wheels, i.e., the parameters of the first and second encoders, the electronic device can calculate the linear velocity of the robot's forward movement, i.e., the linear velocity parameter. The horizontal rotational angular velocity can be calculated from the speeds of the left and right wheels. That is, the second angular velocity parameter, where D is the distance between the two wheels. Integrating over time allows us to calculate the distance the robot travels and the angle of rotation during that time period, thus inferring the robot's trajectory on the two-dimensional plane. Further, second-order solution data is obtained based on the linear velocity parameters and the second angular velocity parameters.
[0070] Step S14: Obtain the robot's slippage status based on the first and second solution data.
[0071] Specifically, the electronic device locates the robot based on the first and second calculation data obtained in the above steps. Considering that the wheeled odometer is affected by external slippage and other abnormalities that cause positioning errors, the inertial sensor can directly measure the robot's acceleration and angular velocity. By integrating the data collected by the six-axis inertial sensor over time, the robot can be located in three-dimensional space.
[0072] When the robot experiences slippage or other abnormal situations, the wheel speed cannot accurately reflect the robot's motion state, and the calculated linear and angular velocities differ significantly from the actual situation, resulting in substantial positioning errors. Therefore, the presence of slippage-related abnormal behavior in the robot is determined based on both the first and second calculated data.
[0073] Step S15: Based on the slippage situation, obtain the robot's positioning result using the first solution data and the second solution data.
[0074] The electronic device determines whether the robot is exhibiting abnormal slipping behavior based on the first and second solution data.
[0075] If present, the robot is located based on the first calculated data to obtain the robot's positioning result. Currently, the robot is slipping, and the wheel odometry data is unreliable. During slippage, the position is inferred only from the linear and angular velocities calculated by the inertial sensors, resulting in the calculated trajectory relative to the previous moment.
[0076] If there is no slipping abnormal behavior, the robot is fused and localized using a fusion localization algorithm based on the first and second solution data to obtain the robot's localization result.
[0077] In this embodiment of the application, the fusion localization algorithm includes, but is not limited to, the extended Kalman filter algorithm, the error state Kalman filter algorithm, and the complementary filter algorithm.
[0078] The above methods improve the accuracy of fusion positioning. By fusing the positioning results of the two sensors under error conditions, computational efficiency is maintained while reducing accuracy loss during linearization. Simultaneously, the first solution data (inertial sensor information) detects abnormal states such as robot slippage, reducing the impact of these abnormal states on positioning accuracy and improving the robustness of the positioning system.
[0079] To implement the above robot localization method, this application also proposes an electronic device, for details please refer to [link / reference needed]. Figure 5 , Figure 5 This is a schematic diagram of the structure of an embodiment of the electronic device provided in this application.
[0080] The electronic device 400 of this embodiment includes a processor 41, a memory 42, an input / output device 43, and a bus 44.
[0081] The processor 41, memory 42, and input / output device 43 are respectively connected to the bus 44. The memory 42 stores program data, and the processor 41 is used to execute the program data to implement the robot positioning method described in the above embodiments.
[0082] In this embodiment, processor 41 can also be referred to as a CPU (Central Processing Unit). Processor 41 may be an integrated circuit chip with signal processing capabilities. Processor 41 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor, or processor 41 can be any conventional processor.
[0083] This application also provides a computer storage medium; please refer to the following: Figure 6 , Figure 6 This is a schematic diagram of a computer storage medium 500 according to an embodiment of the present application. The computer storage medium 500 stores a computer program 51, which, when executed by a processor, is used to implement the robot localization method of the above embodiment.
[0084] When the embodiments of this application are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0085] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A robot localization method, characterized in that, include: Obtain motion state data of the robot in the body coordinate system, wherein the motion state data includes inertial velocity parameters and encoder speed parameters; The robot's posture information is obtained based on the motion state data, and the first solution data is obtained based on the posture information and the inertial velocity parameters. The encoder speed parameters are calculated to obtain second calculated data; The robot's slippage status is obtained based on the first and second solution data; Based on the slippage situation, the positioning result of the robot is obtained using the first solution data and the second solution data; The process of obtaining the robot's attitude information based on the motion state data, and performing calculations based on the attitude information and the inertial velocity parameters to obtain first calculated data, includes: When the robot is in a state of uniform motion, the attitude calculated by the accelerometer is used to calibrate the attitude calculated by the gyroscope to obtain attitude information; Based on the attitude information, the first acceleration parameter in the body coordinate system is transformed into the second acceleration parameter in the navigation coordinate system, eliminating the component of gravitational acceleration in the xy plane, in order to obtain the first solution data.
2. The robot localization method according to claim 1, characterized in that, The step of obtaining the robot's localization result based on the slippage anomaly includes: Based on the first and second solution data, determine whether the robot exhibits any abnormal slipping behavior; If so, the robot is located based on the first solution data to obtain the robot's location result; If not, then a fusion positioning algorithm is used to perform fusion positioning on the robot based on the first solution data and the second solution data to obtain the positioning result of the robot.
3. The robot localization method according to claim 2, characterized in that, The fusion localization algorithm includes an extended Kalman filter algorithm, an error state Kalman filter algorithm, and a complementary filter algorithm.
4. The robot localization method according to claim 1, characterized in that, The inertial velocity parameter includes a first angular velocity parameter, and the step of obtaining the robot's attitude information based on the motion state data includes: The motion state of the robot is obtained based on the motion state data; When the robot is in a variable speed motion state, the robot's attitude is calculated based on the first angular velocity parameter to obtain the attitude information; When the robot is in a state of uniform motion, the robot's posture is calibrated using a posture correction solution algorithm to obtain the posture information.
5. The robot localization method according to claim 4, characterized in that, The inertial velocity parameters include a first acceleration parameter, and the step of calculating based on the attitude information and the inertial velocity parameters to obtain the first calculated data includes: Based on the attitude information, the first acceleration parameter in the body coordinate system is converted to the second acceleration parameter in the navigation coordinate system; Integrate the second acceleration parameter in the navigation coordinate system to obtain the first solution data.
6. The robot localization method according to claim 1, characterized in that, The step of acquiring the motion state data of the robot in its body coordinate system includes: The inertial velocity parameters of the robot are obtained using inertial sensors; The speed parameters of the encoder of the robot are obtained using a wheeled odometer; The motion state data in the body coordinate system is obtained based on the inertial velocity parameters and the encoder speed parameters.
7. The robot localization method according to claim 6, characterized in that, The step of obtaining the motion state data in the body coordinate system based on the inertial velocity parameters and the encoder speed parameters includes: The inertial velocity parameters and the encoder speed parameters are time-synchronized to obtain synchronized inertial velocity parameters and encoder speed parameters. The inertial velocity parameters and the encoder speed parameters are converted into motion state data in the body coordinate system using the extrinsic parameter calibration matrix.
8. The robot localization method according to claim 1, characterized in that, The code disk speed parameters include a first code disk speed parameter and a second code disk speed parameter. The step of calculating the second calculated data from the code disk speed parameters includes: The linear velocity and second angular velocity parameters of the robot are obtained based on the speed parameters of the first and second encoders. The second solution data is obtained based on the linear velocity parameter and the second angular velocity parameter.
9. An electronic device, characterized in that, The electronic device includes a processor and a memory connected to the processor, wherein the memory stores program data, and the processor executes the program data stored in the memory to perform the robot localization method according to any one of claims 1-8.
10. A computer storage medium, characterized in that, It internally stores program instructions that are executed to implement the robot localization method according to any one of claims 1-8.