Autonomous positioning method and device for mobile robot based on attitude information fusion and medium

Through the electronic compass sensor, the initial attitude of the mobile robot is measured, and combined with two-dimensional laser mapping and image feature matching technology, the automatic calculation of the initial position of the robot is realized, solving the problems of complexity and low accuracy caused by manual input in the existing technology, and improving positioning accuracy and user experience.

CN119756357AActive Publication Date: 2025-04-04SOUTH CHINA UNIV OF TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411607504.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-04-04
Estimated Expiration
2044-11-12

AI Technical Summary

Technical Problem

In the existing mobile robot positioning technology, users need to manually input the robot's initial position, resulting in high complexity and low accuracy, especially when the initial positioning is not fixed, which can easily lead to positioning errors.

Method used

The autonomous positioning method based on attitude information fusion is adopted, and the initial position of the robot is measured by an electronic compass sensor, and the initial position of the computer robot is automatically used to use two-dimensional laser mapping and image feature matching technology.

Benefits of technology

It realizes the automation of the initial positioning of the robot, improves the positioning accuracy and user experience, and reduces the errors in subsequent map construction and navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119756357A_ABST
    Figure CN119756357A_ABST
Patent Text Reader

Abstract

The invention discloses a mobile robot self-positioning method and device based on attitude information fusion and a medium. The method comprises the steps that 1, electronic compass data are collected and processed to determine the attitude of a robot; 2, establishing a local map of the robot at the initial position; and step 3, carrying out image feature matching on the local map of the robot at the initial position and the global map of the environment to obtain a relative position relationship between the two maps. And 4, the initial position and posture of the robot are determined. Sensor equipment such as a single-line laser radar and an electronic compass is used and connected to the SOC main control board and carried on the mobile robot, through verification of actual scene experiments and data set experiments, the position and posture of the mobile robot in a global map can be automatically calculated when the mobile robot is started, and the method has the advantages of being efficient, convenient to operate and the like. And the precision is high. The method can be widely applied to the field of mobile robot positioning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of mobile robot positioning, and in particular to a mobile robot autonomous positioning method, equipment and medium based on posture information fusion. Background Art

[0002] With the rapid advancement of robot technology and the rapid development of the indoor service robot industry, users have higher and higher requirements for the intelligence of mobile robots. Among them, robot positioning technology is an important factor affecting the intelligence of robots. The initial positioning of robots is the first important link in robot positioning, and its effect greatly affects the positioning accuracy of robots in subsequent movement processes.

[0003] At present, two-dimensional laser SLAM algorithms have been widely used in the positioning and navigation functions of mobile robots. Among them, the Gmapping algorithm, HectorSLAM algorithm, and Cartographer algorithm are the most common robot positioning algorithms on the market. However, when using these algorithms, it is necessary to provide the algorithm with the initial posture of the robot without exception. This process usually requires the user to manually input it on the global map. This has the following limitations: 1) The user's manual input of the robot's initial posture increases the complexity of the robot's use and is not user-friendly, especially when the user does not know the robot's current initial posture, which will be very unfavorable for the robot's subsequent mapping, positioning, and navigation. 2) The robot's initial posture manually input by the user may have a large error, because under normal circumstances, the position and posture of the robot when it is turned on are not fixed, and the user needs to "feel" to give the robot's current posture, which can easily lead to a large gap between the posture given by the user and the actual situation. Summary of the invention

[0004] In order to solve at least one of the technical problems existing in the prior art to a certain extent, the object of the present invention is to provide a method, device and medium for autonomous positioning of a mobile robot based on posture information fusion.

[0005] The first technical solution adopted by the present invention is:

[0006] A mobile robot autonomous positioning method based on posture information fusion includes the following steps:

[0007] Select a coordinate point O on the global map M as the coordinate origin, select a direction T0 as the reference direction, and calibrate the electronic compass sensor to the direction T0 at the coordinate point O; the electronic compass sensor is set on the robot;

[0008] A two-dimensional laser mapping method is used at the initial position P0 of the robot after it is turned on to obtain a local map M0, where the local map M0 is part of the global map M;

[0009] Determine the initial posture T1 of the robot after it is turned on based on the reference direction T0 and the reading of the electronic compass sensor;

[0010] The local map M0 is rotated so that the robot's posture coincides with the reference direction T0, and the position of the initial position P0 on the local map M0 is calculated. The position is expressed in pixel coordinates and is recorded as (u0, v0); the initial position P0 of the robot on the global map M * , expressed in pixel coordinates, denoted as (u * ,v * );

[0011] The local map M0 is matched with the global map M for image features to obtain the robot's initial position P, whose pixel coordinates are marked as (u, v), and the robot's initial posture (P, T1) is obtained.

[0012] Furthermore, the mobile robot autonomous positioning method also includes the step of pre-establishing a global map M:

[0013] Use a two-dimensional laser mapping algorithm to build a global map M of the robot's indoor environment, which is stored in a pgm format image;

[0014] Among them, for a fixed indoor environment, the step of establishing the global map M only needs to be performed once before the first robot initial positioning. When the robot performs multiple initial posture positioning in the same environment, the global map is directly used.

[0015] Further, the electronic compass sensor is calibrated at the coordinate point O to the direction T0, including:

[0016] Adjust the horizontal direction of the electronic compass sensor to be consistent with the reference direction T0. The reading of the electronic compass sensor at this time is read as θ0. After that, the robot's posture at any time corresponds to the reading of the electronic compass as θ. The robot's current posture T on the map is obtained based on the difference ε between θ and θ0:

[0017] .

[0019] Furthermore, the local map M0 is obtained by using a two-dimensional laser mapping method at the initial position P0 after the robot is turned on, including:

[0020] Keep the position and posture of the robot unchanged when it is turned on, use the two-dimensional laser radar sensor to collect several frames of point cloud {P} of the robot's surrounding environment, and use the collected point cloud to establish a local map M0 with the two-dimensional laser radar carried by the robot as the geometric center. The map is stored in the pgm format.

[0021] Furthermore, rotating the local map M0 so that the posture of the robot coincides with the reference direction T0 includes:

[0022] The reading of the electronic compass sensor corresponding to the reference direction T0 is θ0, and the reading of the electronic compass sensor corresponding to the initial posture T1 is θ1; the difference between θ0 and θ1 is ε1;

[0023] According to ε1, a rotation operation is performed on the local map M0 with its geometric center as the center of the circle, so that the orientation of the local map M0 is the same as that of the global map M.

[0024] Further, the calculating the position of the initial position P0 on the local map M0 includes:

[0025] Under the premise of retaining the obstacle area and obstacle-free area in the rotated image and ensuring that the geometric center of the rotated image is fixed, the rotated image is cropped to the size before rotation to obtain the coordinates of the initial position P0 on the local map M0 is the geometric center of the image, where h and w are the length and width of the image respectively.

[0026] Furthermore, the image feature matching of the local map M0 with the global map M to obtain the initial position P of the robot includes:

[0027] There is an obstacle area on the global map M {S b Accessible areas o} and unknown areas {S u}, there is an obstacle area on the local map M0 {S b0 Accessible areas o0} and unknown areas {S u0},and The three areas can be distinguished by the pixel value size in the pgm format image. This feature is used for image matching to find the coordinates (u, v) that make the local map M0 and the global map M overlap the most. The position corresponding to this coordinate is the optimal robot initial position P.

[0028] Furthermore, the image matching using the feature to find the coordinates (u, v) that make the local map M0 and the global map M have the highest overlap includes:

[0029] The obstacle area {S b0} and accessible areas{S o0 The pixel value of the corresponding pixel point is the feature, and the weights are set as ω according to the importance of these two features. b and ω o ;

[0030] Match the local map M0 and the global map M pixel by pixel. When the coordinates are (u, v), the current score is calculated according to the following formula:

[0031] Score(u,v)=ω b N b +ω0N0

[0032] Where N b and N o They are obstacle areas {S b0} and accessible areas{S o0}Number of overlapping pixels;

[0033] After traversing every pixel of the entire map M, take the value that makes Score (u,v) The maximum pixel coordinate (u, v), the location of this coordinate on the global map is the required initial position P.

[0034] The second technical solution adopted by the present invention is:

[0035] An electronic device comprises a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, at least one program, the code set or the instruction set is loaded and executed by the processor to implement a mobile robot autonomous positioning method based on posture information fusion as described above.

[0036] The fourth technical solution adopted by the present invention is:

[0037] A computer-readable storage medium stores at least one instruction, at least one program, a code set or an instruction set, wherein the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement a mobile robot autonomous positioning method based on posture information fusion as described above.

[0038] The fifth technical solution adopted by the present invention is:

[0039] A computer program product or a computer program, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device can read the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned mobile robot autonomous positioning method based on posture information fusion.

[0040] The present invention has the following advantages and beneficial effects:

[0041] 1) The present invention provides an autonomous positioning method for a mobile robot based on posture information fusion, which uses an electronic compass sensor to accurately measure the initial posture of the robot, making up for the lack of posture measurement in many initial positioning algorithms and providing more useful information for subsequent robot mapping and navigation.

[0042] 2) The present invention adopts the method of image feature matching to find the optimal value of the robot's initial position pixel by pixel. The weight of each feature can be adjusted according to the specific conditions of the environment to adapt to different environmental scenes.

[0043] 3) Compared with the prior art, the present invention is less complicated, has low requirements on hardware computing power, and is easy to implement on various mobile robot platforms. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the embodiments of the present invention or the drawings of related technical solutions in the prior art are introduced below. It should be understood that the drawings introduced below are only for the convenience of clearly describing some embodiments of the technical solutions of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0045] Figure 1 is an overall flow chart of the method of the present invention;

[0046] Figure 2 This is an example of a global map of the laboratory scene in the present invention;

[0047] Figure 3 This is an example of a local map of the laboratory scene in the present invention;

[0048] Figure 4 This is an example of local map preprocessing in the laboratory scene of the present invention;

[0049] Figure 5 The scores of the pixel values ​​corresponding to the local map of the laboratory scene in the present invention;

[0050] Figure 6 This is an example of a global map of a simulated indoor scene in the present invention;

[0051] Figure 7 This is Example 1 of the local map of the simulated indoor scene in the present invention;

[0052] Figure 8 The scores of each pixel corresponding to the simulated indoor scene local map example 1 in the present invention;

[0053] Fig. 9 This is Example 2 of the local map of the simulated indoor scene in the present invention;

[0054] Fig.10The scores of each pixel in Example 2 of the simulated indoor scene local map in the present invention. DETAILED DESCRIPTION

[0055] The embodiments of the present invention are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and are not to be construed as limitations of the present invention. For the step numbers in the following embodiments, they are only provided for the convenience of explanation, and the order between the steps is not limited in any way, and the execution order of each step in the embodiment can be adaptively adjusted according to the understanding of those skilled in the art.

[0056] In the description of the present invention, it should be understood that descriptions involving orientations, such as up, down, front, back, left, right, etc., and orientations or positional relationships indicated are based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present invention.

[0057] In the description of the present invention, "several" means one or more, "more" means more than two, "greater than", "less than", "exceed" etc. are understood as not including the number itself, and "above", "below", "within" etc. are understood as including the number itself. If there is a description of "first" or "second", it is only used for the purpose of distinguishing the technical features, and cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.

[0058] In the description of the present invention, unless otherwise clearly defined, terms such as setting, installing, connecting, etc. should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in the present invention based on the specific content of the technical solution.

[0059] Example 1

[0060] This embodiment provides a mobile robot autonomous positioning method based on posture information fusion, comprising the following steps:

[0061] S1. Select a coordinate point O on the global map M as the coordinate origin, select a direction T0 as the reference direction, and calibrate the electronic compass sensor to the direction T0 at the coordinate point O; the electronic compass sensor is set on the robot.

[0062] In some embodiments, the global map M is constructed in advance, and a two-dimensional laser mapping algorithm is used to build a global map M of the indoor environment where the robot is located. The map is stored as a picture in pgm format. This step only needs to be performed once before the first initial positioning of the robot.

[0063] In the indoor environment where the robot moves, select a direction T0 as the reference direction, adjust the horizontal direction of the electronic compass to be consistent with the reference direction, and read the reading of the electronic compass at this time as θ0. After that, the robot's posture at any time corresponds to the reading of the electronic compass as θ. According to the difference ε between θ and θ0, the robot's current posture T on the map is obtained:

[0064]

[0065] S2. Use a two-dimensional laser mapping method to obtain a local map M0 at the initial position P0 after the robot is turned on, where the local map M0 is a part of the global map M.

[0066] In some embodiments, the position and posture of the robot when it is turned on are kept unchanged, and a two-dimensional laser radar sensor is used to collect several frames of point clouds {P} of the robot's surrounding environment, and the collected point clouds are used to establish a local map M0 with the two-dimensional laser radar carried by the robot as the geometric center. The map is stored in a pgm format image. Specifically, the pixel value of the obstacle area is 0, the pixel value of the obstacle-free area is 254, and the pixel value of the unknown area is 205.

[0067] S3. Determine the initial posture T1 of the robot after it is turned on according to the reference direction T0 and the indication of the electronic compass sensor.

[0068] Exemplarily, the indication of the electronic compass sensor corresponding to the reference direction T0 is θ0, and the indication of the electronic compass sensor corresponding to the initial posture T1 is θ1; the difference between θ0 and θ1 is ε1; based on ε1, the local map M0 is rotated around the geometric center so that the orientation of the local map M0 is the same as that of the global map M.

[0069] The rotated local map M0 is restored to the image size before rotation, specifically:

[0070] Under the premise of ensuring that all information of the local map M0 is retained, the part of the rotated M0 that exceeds the length or width of the image before rotation is cut off. The part of the rotated M0 that is less than the length or width of the image before rotation is filled with the pixel value corresponding to the unknown area.

[0071] S4, rotate the local map M0 so that the robot's posture coincides with the reference direction T0, calculate the position of the initial position P0 on the local map M0, which is expressed in pixel coordinates and recorded as (u0, v0); the initial position P0 of the robot on the global map M* , expressed in pixel coordinates, denoted as (u * ,v * ).

[0072] In some embodiments, when constructing the local map M0, ensure that the laser radar is located at the geometric center of the image, rotate M0 around the geometric center according to ε, so that the posture of the robot in M0 is the same as the posture of the robot in the global map M, and retain the obstacle area and obstacle-free area in the rotated image and ensure that the geometric center of the rotated image is fixed. Then, the rotated image is cropped to the size before rotation. At this time, the coordinates of the initial position P0 on the local map M0 can be obtained. is the geometric center of the image, where h and w are the length and width of the image respectively.

[0073] S5. Perform image feature matching on the local map M0 and the global map M to obtain the initial position P of the robot, whose pixel coordinates are marked as (u, v), and obtain the initial posture (P, T1) of the robot.

[0074] The obstacle area {S b0} and accessible areas{S o0 The pixel value of the corresponding pixel point is the feature, and the weights are set as ω according to the importance of these two features. b and ω o ; Match the local map M0 and the global map M pixel by pixel. When the coordinates of P are (u, v), calculate the current score according to the following formula:

[0075] Score(u,v)=ω b N b +ω0N0

[0076] Where N b and N o They are obstacle areas {S b0} and accessible areas{S o0 After traversing every pixel of the entire map M, take the pixel that makes Score (u,v) The maximum pixel coordinate (u, v), the location of this coordinate on the global map is the required initial position P; the initial position of the robot (P, T1) is obtained.

[0077] Example 2

[0078] like Figure 1 As shown, this embodiment provides a mobile robot autonomous positioning method based on posture information fusion, and the specific steps include:

[0079] S101, laser radar data collection.

[0080] S102, establish a global map: first establish a global map of the indoor environment where the robot is located. After that, the robot needs to perform initial posture positioning in the obstacle-free area within the scope of the global map. For a fixed indoor environment, this step only needs to be performed once before the robot performs initial positioning for the first time. After that, the robot can use the global map when performing multiple initial posture positioning in the same indoor environment.

[0081] S201, electronic compass data collection: The electronic compass is connected to the robot main control board through the serial port. When the robot is positioned at the initial position, 10 frames of electronic compass readings are read, and the average value of these 10 frames of readings is used to calculate the current posture of the robot. The electronic compass reading is -180° to 180°.

[0082] S202, compare the reference posture to obtain the current posture of the robot: After obtaining the electronic compass reading θ corresponding to the initial posture of the robot, calculate the current posture T of the robot:

[0083]

[0084] S301, laser radar data collection.

[0085] S302: Create a local map.

[0086] S303, adjust the robot position to the center of the map: the robot keeps its initial position unchanged, and uses a two-dimensional laser radar sensor to collect 10 frames of radar point cloud data of the robot's surrounding environment for building a local map. Assume that the maximum value in the point cloud data of the surrounding environment is d max To make the robot position in the center of the local map, the local map can be set to a side length of 2d max +2 square image, and let the robot be located at the geometric center of the square image.

[0087] S401: Rotate and crop the local map.

[0088] 1) Rotate the local map: In order to facilitate feature matching between the local map and the global map, the local map needs to be rotated to the same direction as the global map. The specific method of rotation is: the posture corresponding to the global map is known to be T0, the posture corresponding to the local map is T1, and the angle between the two postures is θ-θ0. The square local map is rotated around the geometric center by -(θ-θ0). At this time, the postures of the obstacle area and the obstacle-free area in the local map are the same as those of the obstacle area and the obstacle-free area in the global map.

[0089] 2) Clipping the local map: In order to reduce the computational complexity of feature matching between the local map and the global map, the local map needs to be clipped. The specific method of clipping is: first, it is necessary to ensure that the geometric center of the rotated local map is still the geometric center after the local map is clipped. Secondly, the clipping step can only clip the unknown area at the edge of the image, so when clipping, the pixels of the unknown area in the first n rows, first m columns, last n rows and last m columns of the image can be clipped;

[0090] S501, image feature matching, calculate robot position: select the pixel values ​​of the obstacle area and obstacle-free area in the local map and the global map as features, and assign corresponding weights ω according to the importance of the two. b and ω o . Starting from the first row and first column of the global map image, the score is calculated pixel by pixel in the order of row first and then column. (u,v) , every time you get a bigger Score (u,v) When the global map is traversed, the coordinates (u, v) are recorded and updated. The coordinates (u, v) obtained after the global map traversal is completed are the Score (u,v) The coordinates corresponding to the maximum value are the required initial position P.

[0091] Example 3

[0092] This embodiment is described in detail as follows: This embodiment is a real scene experiment. A wheeled robot equipped with a WLR-719LIDAR single-line laser radar with a scanning frequency of 20Hz is selected as the experimental platform. A Raspberry Pi 4B configured with an Ubuntu 18.04 operating system is selected as the main control board to run the program. The experimental scene is: a laboratory in a school.

[0093] First, we use the existing Hector SLAM algorithm to build a global map of the laboratory, such as Figure 2 shown.

[0094] The orientation of the global map is regarded as the reference direction T0, and the corresponding electronic compass reading is 0. Keep the robot's posture unchanged after powering on and build a local map based on the collected radar point cloud, such as Figure 3 shown.

[0095] The electronic compass reading at this time is recorded as -175.17°, and the robot posture T1 is obtained at this time.

[0096] The local map is rotated and cropped to obtain a preprocessed local map for image feature matching, such as Figure 4 shown.

[0097] At this time, the initial position of the robot still corresponds to the geometric center of the preprocessed local map.

[0098] Match the image features of the preprocessed local map with the global map and set the weight ω b =10,ω o = 1. Find the value that makes the score Score (u,v) The largest pixel (u,v), such as Figure 5 As shown. At this time, the optimal initial position P(256,256) is obtained, corresponding to the score maxScore (u,v) =Score (256,256) =1.20164×10 10 The program runs in 5.803 seconds.

[0099] Finally, the initial position of the robot (P, T1) is obtained.

[0100] Example 4

[0101] This embodiment is described in detail as follows: This embodiment is a data set scenario experiment. A Turtlebot3 robot equipped with a single-line laser radar with a scanning frequency of 10Hz is selected as the simulation platform. A PC configured with an Ubuntu 18.04 operating system is selected as the host to run the program. The host parameters are i7-12700H, 2.70GHz CPU, and 16G memory. The experimental scene is: a virtual indoor scene built manually.

[0102] First, the existing Hector SLAM algorithm is used to build a global map of the indoor simulation scene, such as Figure 6 shown.

[0103] The orientation of the global map is regarded as the reference direction T0, and the corresponding electronic compass reading is 0. Keep the robot's posture unchanged after powering on and build a local map based on the collected radar point cloud, such as Figure 7 shown.

[0104] Record the electronic compass reading as 0° at this time, and obtain the robot posture T2.

[0105] Match the local map with the global map for image features and set the weight ω b =10,ω o = 1. Find the value that makes the score Score (u,v) The largest pixel (u,v), such as Figure 8 As shown. At this time, the optimal initial position is obtained, and P1 (80, 112) corresponds to the score maxScore (u,v) =Score (80,112) =459004. The program running time is 0.298824 seconds.

[0106] Finally, the initial position of the robot (P1, T2) is obtained.

[0107] Keep the robot posture unchanged, change the initial position of the robot and build a local map based on the collected radar point cloud, such as Fig. 9 shown.

[0108] Match the local map with the global map for image features and set the weight ω b =10,ω o = 1. Find the value that makes the score Score (u,v) The largest pixel (u,v), such as Fig.10 As shown. At this time, the optimal initial position P2 (120, 80) is obtained, corresponding to the score maxScore (u,v) =Score (120,80) =549160. The program running time is 0.296776 seconds.

[0109] Finally, the initial position of the robot (P2, T2) is obtained.

[0110] In summary, the method proposed in the present invention uses only single-line laser radar, electronic compass and other sensor devices, and connects them to the SOC main control board and carries them on the mobile robot. It can effectively perform the initial posture positioning of the machine under the physical and simulation conditions of the mobile robot with limited hardware resources, and give the global map coordinates and posture of the robot at the time of power-on, providing an accurate navigation starting point for robot navigation. Through actual scene experiments and data set experiments, it is verified that the present invention can automatically calculate the position and posture of the mobile robot in the global map when it is powered on, and has the characteristics of high efficiency and high precision. Therefore, the present invention is very suitable for application on indoor mobile robot platforms.

[0111] Example 5

[0112] An embodiment of the present invention further provides an electronic device, the electronic device comprising a processor and a memory, the memory storing at least one instruction, at least one program, a code set or an instruction set, the at least one instruction, the at least one program, the code set or the instruction set being loaded and executed by the processor to implement the following Figure 1 A mobile robot autonomous positioning method based on posture information fusion is shown.

[0113] It is understood that the memory may include a random access memory (RAM) or a read-only memory (ROM). Optionally, the memory includes a non-transitory computer-readable storage medium. The memory may be used to store instructions, programs, codes, code sets, or instruction sets. The memory may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function, instructions for implementing the above-mentioned various method embodiments, etc.; the data storage area may store data created according to the use of the server, etc.

[0114] The processor may include one or more processing cores. The processor uses various interfaces and lines to connect the various parts of the entire server, and executes various functions of the server and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory, and calling data stored in the memory. Optionally, the processor can be implemented in at least one hardware form of digital signal processing (DSP), field programmable gate array (FPGA), and programmable logic array (PLA). The processor can integrate one or a combination of a central processing unit (CPU) and a modem. Among them, the CPU mainly processes the operating system and application programs; the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor, but implemented separately through a chip.

[0115] Since the electronic device is an electronic device corresponding to a method for autonomous positioning of a mobile robot based on posture information fusion in an embodiment of the present invention, and the principle of solving the problem by the electronic device is similar to that of the method, the implementation of the electronic device can refer to the implementation process of the above-mentioned method embodiment, and the repeated parts will not be repeated.

[0116] Example 6

[0117] The embodiment of the present invention further provides a computer-readable storage medium, wherein the storage medium stores at least one instruction, at least one program, code set or instruction set, and the at least one instruction, the at least one program, the code set or instruction set is loaded and executed by a processor to implement the following Figure 1 A mobile robot autonomous positioning method based on posture information fusion is shown.

[0118] Those skilled in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium includes a read-only memory (ROM), a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a one-time programmable read-only memory (OTPROM), an electronically erasable rewritable read-only memory (EEPROM), a compact disc (CD-ROM) or other optical disc storage, magnetic disk storage, magnetic tape storage, or any other computer-readable medium that can be used to carry or store data.

[0119] Since the storage medium is a storage medium corresponding to a method for autonomous positioning of a mobile robot based on posture information fusion in an embodiment of the present invention, and the principle of solving the problem by the storage medium is similar to that of the method, the implementation of the storage medium can refer to the implementation process of the above-mentioned method embodiment, and the repeated parts will not be repeated.

[0120] Example 7

[0121] In some possible implementations, various aspects of the method of the embodiment of the present invention may also be implemented in the form of a program product, which includes a program code. When the program product is run on a computer device, the program code is used to enable the computer device to execute the steps of a method for autonomous positioning of a mobile robot based on posture information fusion according to various exemplary embodiments of the present application described above in this specification. Among them, the executable computer program code or "code" for executing each embodiment may be written in a high-level programming language such as C, C++, C#, Smalltalk, Java, JavaScript, Visual Basic, structured query language (e.g., Transact-SQL), Perl, or in various other programming languages.

[0122] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0123] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0124] The above embodiments are only for illustrating the technical concept and features of the present invention, and their purpose is to enable ordinary technicians in the field to understand the content of the present invention and implement it accordingly, and they cannot be used to limit the protection scope of the present invention. Any equivalent changes or modifications made based on the essence of the content of the present invention should be included in the protection scope of the present invention.

Claims

1. A mobile robot autonomous positioning method based on posture information fusion, characterized in that: The following steps are involved: Select a coordinate point O on the global map M as the coordinate origin, select direction T0 as the reference direction, and calibrate the electronic compass sensor to direction T0 at the coordinate point O; A two-dimensional laser mapping method is used at the initial position P0 of the robot after it is turned on to obtain a local map M0, where the local map M0 is part of the global map M; Determine the initial posture T1 of the robot after it is turned on based on the reference direction T0 and the reading of the electronic compass sensor; The local map M0 is rotated so that the robot's posture coincides with the reference direction T0, and the initial position P0 on the local map M0 is calculated, recorded as (u0, v0); the initial position P0 of the robot on the global map M * , denoted as (u * ,v * ); match the local map M0 with the global map M for image features, obtain the robot’s initial position P, denoted as (u, v), and obtain the robot’s initial posture (P, T1).

2. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 1, characterized in that: The mobile robot autonomous positioning method also includes the step of pre-establishing a global map M: Use a two-dimensional laser mapping algorithm to build a global map M of the robot's indoor environment, which is stored in a pgm format image; Among them, for a fixed indoor environment, the step of establishing the global map M only needs to be performed once before the first robot initial positioning. When the robot performs multiple initial posture positioning in the same environment, the global map is directly used.

3. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 1, characterized in that: The step of calibrating the electronic compass sensor in direction T0 at coordinate point O includes: Adjust the horizontal direction of the electronic compass sensor to be consistent with the reference direction T0. The reading of the electronic compass sensor at this time is read as θ0. After that, the robot's posture at any time corresponds to the reading of the electronic compass as θ. The robot's current posture T on the map is obtained based on the difference ε between θ and θ0:

4. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 1, characterized in that: The method of using a two-dimensional laser mapping method to obtain a local map M0 at the initial position P0 after the robot is turned on includes: Keep the position and posture of the robot unchanged when it is turned on, use the two-dimensional laser radar sensor to collect several frames of point cloud {P} of the robot's surrounding environment, and use the collected point cloud to establish a local map M0 with the two-dimensional laser radar carried by the robot as the geometric center. The map is stored in the pgm format.

5. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 1, characterized in that: The step of rotating the local map M0 so that the posture of the robot coincides with the reference direction T0 includes: The reading of the electronic compass sensor corresponding to the reference direction T0 is θ0, and the reading of the electronic compass sensor corresponding to the initial posture T1 is θ1; the difference between θ0 and θ1 is ε1; According to ε1, a rotation operation is performed on the local map M0 with its geometric center as the center of the circle, so that the orientation of the local map M0 is the same as that of the global map M.

6. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 1, characterized in that: The step of calculating the position of the initial position P0 on the local map M0 includes: Under the premise of retaining the obstacle area and obstacle-free area in the rotated image and ensuring that the geometric center of the rotated image is fixed, the rotated image is cropped to the size before rotation to obtain the coordinates of the initial position P0 on the local map M0 is the geometric center of the image, where h and w are the length and width of the image respectively.

7. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 1, characterized in that: The local map M0 is matched with the global map M for image features to obtain the initial position P of the robot, including: there is an obstacle area {S b Accessible areas o } and unknown areas {S u }, there is an obstacle area on the local map M0 {S b0 Accessible areas o0 } and unknown areas {S u0 },and The three areas can be distinguished in the image by the size of the pixel value as a feature. This feature is used for image matching to find the coordinates (u, v) that make the local map M0 and the global map M overlap the most. The position corresponding to this coordinate is the desired optimal robot initial position P.

8. The method for autonomous positioning of a mobile robot based on posture information fusion according to claim 7, characterized in that: The image matching using the feature to find the coordinates (u, v) that make the local map M0 and the global map M coincide with each other to the highest degree includes: The obstacle area {S b0 } and accessible areas{S o0 The pixel value of the corresponding pixel point is the feature, and the weights are set as ω according to the importance of these two features. b and ω o ; Match the local map M0 and the global map M pixel by pixel. When the coordinates are (u, v), the current score is calculated according to the following formula: Score(u,v)=ω b N b +ω0N0 Where N b and N o They are respectively the obstacle areas {S b0 } and accessible areas{S o0 }Number of overlapping pixels; After traversing every pixel of the entire map M, take the value that makes Score (u,v) The maximum pixel coordinate (u, v), the location of this coordinate on the global map is the required initial position P.

9. An electronic device, characterized in that: The electronic device includes a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the method described in any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Determination method and apparatus for poses of mobile robot

    CN105953798A

  • Dynamic obstacle trajectory prediction method of mobile robot based on laser data

    CN113034579A

  • Mobile robot indoor repositioning method, computer device and product

    CN114526739A