A positioning method and device of a mobile robot, a terminal and a storage medium

By acquiring the laser position on the reflector to generate detection line features, and comparing them with a pre-built line database, line matching pairs are determined, which solves the problem of slow repositioning speed of mobile robots and achieves fast and accurate positioning.

CN115900684BActive Publication Date: 2025-12-05ZHEJIANG HUARAY TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211153762.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-21
Publication Date
2025-12-05
Estimated Expiration
2042-09-21

AI Technical Summary

Technical Problem

In existing technologies, mobile robots have a slow repositioning speed and cannot quickly recover their current position.

Method used

The detection line features are generated by acquiring the laser position on the reflector, and compared with the pre-built line database to determine the line matching pairs. The pose information of the mobile robot is then determined based on the matching pairs.

Benefits of technology

It enables rapid and accurate positioning of the mobile robot's current location, improving repositioning speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115900684B_ABST
    Figure CN115900684B_ABST
Patent Text Reader

Abstract

The application provides a positioning method and device of a mobile robot, a terminal and a storage medium. In the positioning method of the mobile robot, a detection data set of a current position is obtained; the detection data set includes at least one detection straight line feature corresponding to a reflector; each detection straight line feature is compared with a preset straight line feature in a straight line database, a corresponding straight line matching pair between the detection data set and a pre-constructed straight line database is determined, and pose information of the mobile robot at the current position is determined based on the straight line matching pair. In the application, the detection straight line features corresponding to the reflectors at the current position are detected, the detection straight line features are compared with the preset straight line features, the straight line matching pair is determined, and the position of the mobile robot when the detection data set is collected can be quickly determined according to the position of the preset straight line feature in the straight line matching pair.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of image recognition, in particular to a positioning method and device of a mobile robot, a terminal and a computer readable storage medium. BACKGROUND

[0002] When a mobile robot performs a task operation, such as object carrying in a warehouse, the mobile robot needs to accurately know its position in the current environment, so as to accurately perform the task. The robot needs to determine the initial position, and then recursively calculates the current position based on the odometer and laser sensor at the initial position. When the robot loses its position, i.e., when the device loses its position in the current environment due to some reason (such as abnormal odometer data), the robot needs to quickly recover its current position. SUMMARY

[0003] The technical problem solved by the present application is to provide a positioning method, device, terminal and computer readable storage medium of a mobile robot, which solves the problem of slow repositioning of the mobile robot in the prior art.

[0004] To solve the above technical problems, the first technical solution adopted by the present application is to provide a positioning method of a mobile robot, which comprises: acquiring a detection data set of a current position; the detection data set comprises at least one detection straight line feature corresponding to a reflector; comparing each detection straight line feature with a preset straight line feature in a pre-constructed straight line database to determine a straight line matching pair between the detection data set and the straight line database; and determining the pose information of the mobile robot at the current position based on the straight line matching pair.

[0005] The preset straight line feature comprises a preset straight line, preset direction information, a preset straight line normal vector, a preset tangent circle radius, a preset straight line length and / or a preset straight line centroid;

[0006] The acquisition of the detection data set of the current position further comprises:

[0007] The laser device emits laser to the reflectors installed in the running environment to form laser points on the reflectors;

[0008] The preset straight line corresponding to the reflector is generated according to the laser points on the reflector;

[0009] The preset direction information, the preset straight line normal vector, the preset tangent circle radius, the preset straight line length and / or the preset straight line centroid corresponding to the preset straight line are determined based on the preset straight line;

[0010] Construct a straight line database based on the preset straight lines corresponding to all the reflectors in the running environment.

[0011] The detecting straight line feature includes detecting a straight line.

[0012] Obtain a detection data set of the current position; the detection data set includes detection straight line features corresponding to at least one reflector, including:

[0013] Detect laser points on each reflector in the preset area.

[0014] Generate detection straight lines corresponding to each reflector based on the laser points on each reflector.

[0015] Construct the detection data set based on the detection straight lines corresponding to all the reflectors in the preset area.

[0016] The detection straight line feature further includes detection direction information and a detection straight line length.

[0017] Compare each detection straight line feature with the preset straight line features in the straight line database constructed in advance to determine straight line matching pairs between the detection data set and the straight line database, including:

[0018] In response to a direction difference between the detection direction information of the detection straight line and preset direction information of a preset straight line in the preset area being less than a first threshold value, calculate a length difference between the detection straight line length of the detection straight line and a preset straight line length of the preset straight line; each preset straight line in the preset area is different.

[0019] In response to the length difference between the detection straight line length of the detection straight line and the preset straight line length of the preset straight line being less than a second threshold value, the detection straight line and the preset straight line corresponding to the length difference form a straight line matching pair.

[0020] The pose information of the mobile robot at the current position is determined based on the straight line matching pairs, including:

[0021] In response to the number of straight line matching pairs being no less than two, the pose information of the mobile robot at the current position is determined based on the straight line matching pairs by an ICP method.

[0022] The detection straight line feature includes detecting a tangent circle radius,

[0023] The pose information of the mobile robot at the current position is determined based on the straight line matching pairs, including:

[0024] In response to the number of straight line matching pairs being only one, determine two candidate pose information corresponding to the straight line matching pair.

[0025] Select one of the two candidate pose information as the pose information of the mobile robot at the current position based on the detected tangent circle radius and the preset tangent circle radius.

[0026] The two candidate pose information includes a first candidate pose and a second candidate pose.

[0027] Select one of the two candidate pose information as the pose information of the mobile robot at the current position based on the detected tangent circle radius and the preset tangent circle radius, including:

[0028] Determine a first tangent circle radius corresponding to the first candidate pose based on the first candidate pose and the detected straight line in the straight line matching pair; and determine a second tangent circle radius corresponding to the second candidate pose based on the second candidate pose and the detected straight line in the straight line matching pair.

[0029] Select the first candidate pose or the second candidate pose as the pose information of the mobile robot at the current position based on the first tangent circle radius, the second tangent circle radius and the preset tangent circle radius of the preset straight line in the straight line matching pair.

[0030] The selecting includes:

[0031] In response to a difference between the first tangent circle radius and the preset tangent circle radius being less than a third threshold value, determine the first candidate pose as the pose information of the mobile robot at the current position.

[0032] In response to a difference between the second tangent circle radius and the preset tangent circle radius being less than the third threshold value, determine the second candidate pose as the pose information of the mobile robot at the current position.

[0033] The determining the pose information of the mobile robot at the current position based on the straight line matching pair includes:

[0034] Determine corresponding relative angle information between the detected straight line and the preset straight line based on the detection direction information of the detected straight line and the preset direction information of the preset straight line in the straight line matching pair; the relative angle information is two and the two relative angle information differs by a preset angle.

[0035] Determine corresponding transformation parameter information between a first coordinate system in which the detected straight line is located and a second coordinate system in which the preset straight line is located based on the corresponding relative angle information between the detected straight line and the preset straight line.

[0036] Determine the pose information of the mobile robot in the second coordinate system at the current position based on the pose information of the mobile robot in the first coordinate system and the transformation parameter information; the first coordinate system is a coordinate system with the mobile robot as the origin or a coordinate system with the laser device as the origin, and the second coordinate system is a world coordinate system.

[0037] The transformation parameter information includes angle variable information and position variable information.

[0038] Based on the corresponding relative angle information between the detection straight line and the preset straight line, determine the corresponding transformation parameter information between the first coordinate system in which the detection straight line is located and the second coordinate system in which the preset straight line is located, including:

[0039] Based on the corresponding relative angle information between the detection straight line and the preset straight line, determine the corresponding angle variable information between the first coordinate system and the second coordinate system.

[0040] Based on the position of the detection straight line centroid of the detection straight line in the first coordinate system, the position of the preset straight line centroid of the preset straight line in the second coordinate system, and the corresponding angle variable information between the first coordinate system and the second coordinate system, determine the position variable information between the first coordinate system and the second coordinate system.

[0041] Based on the pose information of the mobile robot in the first coordinate system and the transformation parameter information, determine the pose information of the mobile robot in the second coordinate system at the current position, including:

[0042] Based on the pose information of the mobile robot in the first coordinate system and the corresponding angle variable information and position variable information between the first coordinate system and the second coordinate system, determine the pose information of the mobile robot in the second coordinate system at the current position.

[0043] Based on the corresponding relative angle information between the detection straight line and the preset straight line, determine the corresponding angle variable information between the first coordinate system and the second coordinate system, including:

[0044] Based on the relative angle information, generate an angle rotation matrix corresponding to the detection straight line and the preset straight line.

[0045] Based on the difference between the product of the detection direction vector of the detection straight line and the detection tangent circle radius and the preset direction vector of the preset straight line, obtain a first direction difference value.

[0046] Based on the difference between the product of the detection direction vector of the detection straight line and the transposed detection tangent circle radius and the preset direction vector of the preset straight line, obtain a second direction difference value.

[0047] In response to the first direction difference value exceeding the second direction difference value, the angle variable information is the transposed angle rotation matrix.

[0048] In response to the first direction difference value not exceeding the second direction difference value, the angle variable information is an angle rotation matrix.

[0049] The determining the pose information of the mobile robot at the current position based on the selected candidate pose information corresponding transformation parameter information further includes:

[0050] Projecting each laser point corresponding to the detected line in the line matching pair to the second coordinate system corresponding to the preset line based on the transformation parameter information corresponding to the selected candidate pose information to obtain corresponding projected laser points;

[0051] Generating a projected line feature corresponding to the detected line in the line matching pair based on the projected laser points corresponding to the reflective plate; the projected line feature includes a projected line normal vector;

[0052] In response to a difference between the projected line normal vector corresponding to the detected line in the line matching pair and a preset line normal vector of the preset line in the line matching pair not exceeding a fourth threshold value, determining the pose information of the mobile robot at the current position based on the transformation parameter information corresponding to the candidate pose information.

[0053] The obtaining the detection data set of the current position further includes:

[0054] Constructing a preset KDTree based on positions of preset line centroids of all preset lines in the line database.

[0055] The positioning method of the mobile robot includes:

[0056] Projecting laser points corresponding to all detected lines in the detection data set to the second coordinate system in which the preset line is located based on transformation parameter information corresponding to the line matching pair to obtain projected laser points corresponding to each detected line;

[0057] Generating a projected line corresponding to each reflective plate based on the projected laser points corresponding to each reflective plate;

[0058] Determining a projected line matching pair corresponding to the detection data set and the line database based on the projected lines corresponding to each detected line in the detection data set and the preset lines in the line database;

[0059] Determining whether the angle variable information and the position variable information corresponding to the first coordinate system and the second coordinate system need to be updated based on the number of the projected line matching pairs;

[0060] Determining the pose information of the mobile robot at the current position based on the updated angle variable information and the position variable information.

[0061] The projected line has a projected line centroid.

[0062] The projection line matching pairs between the detection data set and the line database are determined based on the projection lines corresponding to each detection line in the detection data set and the preset lines in the line database, including:

[0063] The preset line centroids closest to the projection line centroid positions of each projection line are screened in the preset KDTree based on the projection line centroids of the projection lines;

[0064] The difference between the projection line feature of the projection line and the preset line feature corresponding to the nearest neighbor preset line of the projection line is calculated;

[0065] In response to the difference between the projection line feature of the projection line and the preset line feature of the corresponding nearest neighbor preset line being less than the corresponding preset value, it is determined that the projection line and the preset line form a projection line matching pair.

[0066] The number of projection line matching pairs is determined based on the number of projection line matching pairs, including:

[0067] In response to the number of projection line matching pairs being greater than the number of line matching pairs, the transformation parameter information corresponding to each projection line matching pair in the other projection line matching pairs is determined based on the detection line corresponding to the projection line in the other projection line matching pairs and the preset line in the projection line matching pair, except for the projection line matching pair corresponding to the line matching pair;

[0068] The matching number of the projection line matching pair corresponding to each transformation parameter information is counted;

[0069] The pose information of the mobile robot at the current position is determined based on the updated angle variable information and position variable information, including:

[0070] The transformation parameter information corresponding to the maximum matching number is selected to transform the pose information of the mobile robot in the first coordinate system, and the pose information of the mobile robot in the second coordinate system at the current position is determined.

[0071] The pose information of the mobile robot at the current position is determined based on the updated angle variable information and position variable information, and further includes:

[0072] In response to there being at least two maximum matching numbers, the centroid distance between the detection line centroid of the detection line and the preset line centroid of the preset line in each matching line pair corresponding to the at least two maximum matching numbers is calculated;

[0073] The transformation parameter information corresponding to the matching line pair corresponding to the shortest centroid distance is selected to transform the pose information of the mobile robot in the first coordinate system, and the pose information of the mobile robot in the second coordinate system at the current position is determined.

[0074] To solve the above technical problems, the second technical solution adopted by the present application is to provide a positioning device for a mobile robot, the positioning device for a mobile robot comprising: an acquisition module configured to acquire a detection data set of a current position; the detection data set comprising at least one detection straight line feature corresponding to a reflector; a matching module configured to compare each detection straight line feature with a preset straight line feature in a straight line database constructed in advance, to determine a straight line matching pair between the detection data set and the straight line database; and a positioning module configured to determine pose information of the mobile robot at the current position based on the straight line matching pair.

[0075] To solve the above technical problems, the third technical solution adopted by the present application is to provide a terminal comprising a memory, a processor, and a computer program stored in the memory and running on the processor, the processor being configured to execute program data to implement the steps in the positioning method for a mobile robot.

[0076] To solve the above technical problems, the fourth technical solution adopted by the present application is to provide a computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the steps in the positioning method for a mobile robot.

[0077] The present application has the following advantages: unlike the prior art, the positioning method, device, terminal and computer readable storage medium for a mobile robot are provided, the positioning method for a mobile robot comprising: acquiring a detection data set of a current position; the detection data set comprising at least one detection straight line feature corresponding to a reflector; comparing each detection straight line feature with a preset straight line feature in a straight line database, to determine a straight line matching pair between the detection data set and the straight line database constructed in advance; and determining pose information of the mobile robot at the current position based on the straight line matching pair. In the present application, the detection straight line features corresponding to the reflectors at the current position are detected, the detection straight line features are compared with the preset straight line features, the straight line matching pair is determined, and the position of the mobile robot when the detection data set is collected can be quickly determined according to the position of the preset straight line feature in the straight line matching pair. BRIEF DESCRIPTION OF DRAWINGS

[0078] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0079] Figure 1 is a flowchart of the positioning method for a mobile robot provided by the present application;

[0080] Figure 2 is a flowchart of an embodiment of the positioning method of the mobile robot provided by the present application;

[0081] Figure 3 is a structural schematic diagram of the mobile robot;

[0082] Figure 4 is a schematic diagram of matching two candidate pose information corresponding to each straight line pair;

[0083] Figure 5 is Figure 2 is a flowchart of an embodiment of step S206 in the positioning method of the mobile robot provided by the present application;

[0084] Figure 6 is Figure 2 is a flowchart of an embodiment of step S207 in the positioning method of the mobile robot provided by the present application;

[0085] Figure 7 is a framework schematic diagram of an embodiment of the positioning device of the mobile robot provided by the present application;

[0086] Figure 8 is a framework schematic diagram of an embodiment of the terminal provided by the present application;

[0087] Figure 9 is a framework schematic diagram of an embodiment of the computer readable storage medium provided by the present application. DETAILED DESCRIPTION

[0088] The scheme of the embodiments of the present application will be described in detail below in combination with the accompanying drawings of the specification.

[0089] In the following description, specific details such as specific system structures, interfaces, techniques, etc. are presented in order to thoroughly understand the present application, but are not intended to limit the present application.

[0090] The term "and / or" in this paper is only to describe the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the three cases of A alone, A and B together, and B alone. In addition, the character " / " in this paper generally represents an "or" relationship between the front and rear associated objects. In addition, "multiple" in this paper means two or more than two.

[0091] In order to enable those skilled in the art to better understand the technical solutions of the present application, the positioning method of the mobile robot provided by the present application will be further described in detail below in combination with the accompanying drawings and specific embodiments.

[0092] Please refer to Figure 1 , Figure 1is a flowchart of a positioning method of a mobile robot provided by the present application. In this embodiment, a positioning method of a mobile robot is provided, which is suitable for a scene where the running environment of the mobile robot changes greatly. The positioning method of the mobile robot comprises the following steps.

[0093] S11: Obtain a detection data set of a current position.

[0094] Specifically, the detection data set comprises at least one detection straight line feature corresponding to a reflector. In an embodiment, the detection straight line feature comprises a detection straight line, detection direction information, a detection straight line normal vector, a detection tangent circle radius, a detection straight line length and / or a detection straight line centroid.

[0095] In an embodiment, a laser device emits laser light to the reflectors installed in the running environment to form laser points on the reflectors; a preset straight line corresponding to each reflector is generated according to the laser points on the reflector; a preset direction information, a preset straight line normal vector, a preset tangent circle radius, a preset straight line length and / or a preset straight line centroid corresponding to the preset straight line are determined; and a straight line database is constructed based on the preset straight lines corresponding to all the reflectors in the running environment.

[0096] In an embodiment, the laser points on each reflector in a preset area are detected; a detection straight line corresponding to each reflector is generated based on the laser points on the reflector; and a detection data set is constructed based on the detection straight lines corresponding to all the reflectors in the preset area.

[0097] In an embodiment, a preset KDTree is constructed based on the positions of the preset straight line centroids of all the preset straight lines in the straight line database.

[0098] S12: Compare each detection straight line feature with a preset straight line feature in the straight line database respectively to determine a straight line matching pair between the detection data set and the pre-constructed straight line database.

[0099] Specifically, the preset straight line feature comprises a preset straight line, preset direction information, a preset straight line normal vector, a preset tangent circle radius, a preset straight line length and / or a preset straight line centroid.

[0100] In an embodiment, in response to the direction difference between the detection direction information of the detection straight line and the preset direction information of the preset straight line in the preset area being less than a first threshold value, the length difference between the detection straight line length of the detection straight line and the preset straight line length of the preset straight line is calculated; the preset straight lines corresponding to each reflector in the preset area are all different; and in response to the length difference between the detection straight line length of the detection straight line and the preset straight line length of the preset straight line being less than a second threshold value, the detection straight line and the preset straight line corresponding to the length difference form a straight line matching pair.

[0101] S13: determining the pose information of the mobile robot at the current position based on the straight line matching pairs.

[0102] Specifically, in response to the number of straight line matching pairs being no less than two, the pose information of the mobile robot at the current position is determined based on the straight line matching pairs by the method of ICP.

[0103] In an embodiment, in response to the number of straight line matching pairs being only one, it is determined that the straight line matching pair corresponds to two candidate pose information; based on the detected tangent circle radius and the preset tangent circle radius, one of the two candidate pose information is selected as the pose information of the mobile robot at the current position.

[0104] In an embodiment, the two candidate pose information includes a first candidate pose and a second candidate pose. Based on the first candidate pose and the detected straight line in the straight line matching pair, a first tangent circle radius corresponding to the first candidate pose is determined; based on the second candidate pose and the detected straight line in the straight line matching pair, a second tangent circle radius corresponding to the second candidate pose is determined; based on the first tangent circle radius, the second tangent circle radius and the preset tangent circle radius of the preset straight line in the straight line matching pair, the first candidate pose or the second candidate pose is selected as the pose information of the mobile robot at the current position.

[0105] In an embodiment, in response to the difference between the first tangent circle radius and the preset tangent circle radius being less than a third threshold value, the first candidate pose is determined as the pose information of the mobile robot at the current position; in response to the difference between the second tangent circle radius and the preset tangent circle radius being less than the third threshold value, the second candidate pose is determined as the pose information of the mobile robot at the current position.

[0106] In an embodiment, based on the detection direction information of the detected straight line in the straight line matching pair and the preset direction information of the preset straight line, the relative angle information corresponding between the detected straight line and the preset straight line is determined; the relative angle information is two and the two relative angle information differs by a preset angle; based on the relative angle information corresponding between the detected straight line and the preset straight line, the transformation parameter information corresponding between the first coordinate system in which the detected straight line is located and the second coordinate system in which the preset straight line is located is determined; based on the pose information of the mobile robot in the first coordinate system and the transformation parameter information, the pose information of the mobile robot in the second coordinate system at the current position is determined; the first coordinate system is a coordinate system with the mobile robot as the original center or a coordinate system with the laser device as the original center, and the second coordinate system is a world coordinate system.

[0107] In an embodiment, the transformation parameter information comprises angle variable information and position variable information; the angle variable information between the first coordinate system and the second coordinate system is determined based on the corresponding relative angle information between the detected straight line and the preset straight line; the position variable information between the first coordinate system and the second coordinate system is determined based on the position of the detected straight line centroid of the detected straight line in the first coordinate system, the position of the preset straight line centroid of the preset straight line in the second coordinate system, and the angle variable information between the first coordinate system and the second coordinate system; and the pose information of the mobile robot in the second coordinate system at the current position is determined based on the pose information of the mobile robot in the first coordinate system, and the angle variable information and the position variable information between the first coordinate system and the second coordinate system.

[0108] The angle rotation matrix between the detected straight line and the preset straight line is generated based on the relative angle information; the first direction difference value is obtained based on the difference between the product of the detected direction vector of the detected straight line and the detected tangent circle radius and the preset direction vector of the preset straight line; the second direction difference value is obtained based on the difference between the product of the detected direction vector of the detected straight line and the transposed detected tangent circle radius and the preset direction vector of the preset straight line; in response to the first direction difference value exceeding the second direction difference value, the angle variable information is the transposed angle rotation matrix; and in response to the first direction difference value not exceeding the second direction difference value, the angle variable information is the angle rotation matrix.

[0109] In an embodiment, based on the transformation parameter information corresponding to the selected candidate pose information, the laser points corresponding to each of the detected straight lines in the straight line matching pair are projected into the second coordinate system corresponding to the preset straight line to obtain corresponding projected laser points; the projected straight line features corresponding to the detected straight lines in the straight line matching pair are generated based on the projected laser points corresponding to the reflector; the projected straight line features comprise projected straight line normal vectors; and in response to the difference between the projected straight line normal vector corresponding to the detected straight line in the straight line matching pair and the preset straight line normal vector of the preset straight line in the straight line matching pair not exceeding a fourth threshold value, it is determined that the pose information of the mobile robot at the current position is determined based on the transformation parameter information corresponding to the candidate pose information.

[0110] In an embodiment, the laser points corresponding to all the detected straight lines in the detection data set are respectively projected into the second coordinate system in which the preset straight line is located based on the corresponding transformation parameter information of the straight line matching pairs, to obtain the projected laser points corresponding to each detected straight line; the projected straight line corresponding to each retroreflector is generated based on the projected laser points corresponding to each retroreflector; the projected straight line matching pairs corresponding between the detection data set and the straight line database are determined based on the projected straight line corresponding to each detected straight line in the detection data set and the preset straight line in the straight line database; whether the angle variable information and the position variable information corresponding between the first coordinate system and the second coordinate system need to be updated is determined based on the number of the projected straight line matching pairs; the pose information of the mobile robot at the current position is determined based on the updated angle variable information and the position variable information.

[0111] The projected straight line has a projected straight line centroid; the preset straight line centroid nearest neighbor to the projected straight line centroid position is respectively screened in the preset KDTree based on the projected straight line centroid of each projected straight line; the difference value between the projected straight line feature of the projected straight line and the preset straight line feature corresponding to the nearest neighbor preset straight line of the projected straight line is calculated; in response to the difference value between the projected straight line feature of the projected straight line and the preset straight line feature of the corresponding nearest neighbor preset straight line being less than the corresponding preset value, it is determined that the projected straight line and the preset straight line form a projected straight line matching pair.

[0112] In response to the number of the projected straight line matching pairs being greater than the number of the straight line matching pairs, the transformation parameter information respectively corresponding to each projected straight line matching pair in the other projected straight line matching pairs except the projected straight line matching pairs corresponding to the straight line matching pairs is determined based on the detected straight line corresponding to the projected straight line in the other projected straight line matching pairs and the preset straight line in the projected straight line matching pairs; the matching number of the projected straight line matching pairs corresponding to each transformation parameter information is counted; the transformation parameter information corresponding to the maximum matching number is selected to transform the pose information of the mobile robot in the first coordinate system, to determine the pose information of the mobile robot in the second coordinate system at the current position.

[0113] In response to there being at least two maximum matching numbers, the centroid distance between the detected straight line centroid of the detected straight line in each matching straight line pair and the preset straight line centroid of the preset straight line corresponding to the at least two maximum matching numbers is calculated; the transformation parameter information corresponding to the matching straight line pair corresponding to the shortest centroid distance is selected to transform the pose information of the mobile robot in the first coordinate system, to determine the pose information of the mobile robot in the second coordinate system at the current position.

[0114] The positioning method of the mobile robot provided in the application includes the following steps.

[0115] Please refer to Figure 2 , Figure 2 is a flowchart of a specific embodiment of the positioning method of the mobile robot provided in the application. In the embodiment, a positioning method of a mobile robot is provided, which is suitable for a scene in which the running environment of the mobile robot changes greatly. The positioning method of the mobile robot includes the following steps.

[0116] S201: Construct a straight line database corresponding to the running environment.

[0117] Please refer to Figure 3 , Figure 3 is a structural schematic diagram of the mobile robot.

[0118] Specifically, a plurality of reflective plates are installed in the running environment, and the reflective plates are installed at preset positions and are spaced apart from each other. The installation height of the reflective plates is consistent with the installation height of the laser equipment on the mobile robot. That is, the laser emitted by the laser equipment can be emitted onto the reflective plates. The length of the reflective plates is 10 cm, 15 cm, 20 cm, 25 cm, and the like. The reflective plates in the preset area are unique. In an embodiment, the size and installation position of each reflective plate in the running environment are different. That is, the length, quantity, and spacing between the reflective plates arranged at the symmetrical positions or similar positions in the running environment are different. The reflective plates arranged at the symmetrical positions and similar positions do not have symmetry and similarity.

[0119] In one embodiment, a laser is emitted from a laser device onto reflectors installed in the operating environment to form laser points on each reflector. The laser device can be a laser sensor. The laser intensity of each laser point hitting the reflector is compared with an intensity threshold. Laser points with an intensity greater than the threshold are retained, while those with an intensity less than the threshold are deleted. The retained laser points are clustered based on their coordinates relative to the reflector coordinates. Laser points hitting the same reflector are clustered into the same cluster. That is, the cluster Pi corresponding to the i-th reflector is denoted as [pi1, pi2, pi3, ..., pi...]. n ], where n represents the number of laser points hitting the reflector.

[0120] In one embodiment, a preset straight line corresponding to the reflector is generated based on the laser position on the reflector. Each preset straight line has corresponding preset direction information, preset straight line normal vector, preset tangent circle radius, preset straight line length, and / or preset straight line centroid.

[0121] Let the equation of the line be y = ax + b. Substitute the laser positions from the cluster corresponding to the reflector into the equation of the line, and after alignment, we can obtain the preset equation of the line as shown in Formula 1.

[0122]

[0123] in,

[0124] Then the x in the equation of the straight line is as shown in Formula 2.

[0125] x i =(A T A) -1 A T b (Formula 2)

[0126] This leads to the direction vector l of the preset straight line corresponding to the reflector. i denoted as (-b) i a i The corresponding preset line normal vector is denoted as n. i (a i b i The centroid of the preset straight line is c. i (c ix c iy ).in, Projecting the centroid of the preset straight line onto the preset straight line yields the projection point g. i The radius of the preset tangent circle of the preset line is determined by the projection point of the centroid of the preset line onto the preset line. i .

[0127] R i = g i *[cos(n i )sin(n i )] -1 (Formula 3)

[0128] According to the coordinate position of the starting point and the coordinate position of the ending point of the preset straight line on the reflecting plate, the length d of the preset straight line is determined. i .

[0129] The preset straight lines corresponding to all the reflecting plates in the running environment form a straight line database.

[0130] In an embodiment, a KDTree is constructed according to the coordinate positions of the preset straight line centroids corresponding to all the preset straight lines in the straight line database corresponding to the running environment.

[0131] S202: Obtain a detection data set of the current position.

[0132] Specifically, the mobile robot moves in the running environment, and the coordinate position of the mobile robot in the world coordinate system at the current position is lost. The laser points on each reflecting plate in a preset region centered on the current position are detected by a laser sensor installed on the mobile robot, and based on the laser points on the reflecting plate, a detection straight line corresponding to the reflecting plate is generated; the detection straight lines corresponding to each reflecting plate in the preset region are unique. According to the detection straight line corresponding to the reflecting plate, the detection direction information, the detection straight line length, the detection straight line normal vector, the detection straight line centroid, and the detection tangent circle radius of the detection straight line are determined.

[0133] Based on the detection straight lines corresponding to each reflecting plate in the preset region, a detection data set K is formed. The detection data set includes at least one detection straight line feature on the reflecting plate.

[0134] In an embodiment, all the preset straight lines corresponding to the preset region are selected from the straight line database to form a preset data set M. In a specific embodiment, all the preset straight lines whose preset straight line centroids are in the preset region are selected from the straight line database to obtain the preset data set M. The preset straight lines corresponding to each reflecting plate in the preset region are unique.

[0135] S203: In response to the direction difference between the detection direction information of the detection straight line and the preset direction information of the preset straight line in the preset region being less than a first threshold value, the length difference between the detection straight line length of the detection straight line and the preset straight line length of the preset straight line is calculated.

[0136] Specifically, a direction difference value between a detection direction vector of each detection line in the detection data set K and a preset direction vector of a preset line in the preset region is calculated. If the direction difference value between the detection line and the preset line is less than a first threshold value, it indicates that the preset line matches the detection line. A length difference value between a detection line length of the detection line and a preset line length of the preset line is calculated.

[0137] In another embodiment, if the direction difference value between the detection line and the preset line is not less than the first threshold value, it indicates that the preset line does not match the detection line. The detection line is matched with another preset line in the preset data set M.

[0138] S204: In response to the length difference value between the detection line length of the detection line and the preset line length of the preset line being less than a second threshold value, the detection line and the preset line form a line match pair.

[0139] Specifically, if the corresponding length difference value between the detection line and the preset line is less than the second threshold value, it is determined that the detection line matches the preset line, and the detection line and the preset line corresponding to the length difference value form a line match pair.

[0140] In another embodiment, if the corresponding length difference value between the detection line and the preset line is not less than the second threshold value, it is determined that the detection line does not match the preset line.

[0141] Another line match pair is selected from the detection data set K and each preset line in the preset data set M is matched.

[0142] Each detection line in the detection data set K and each preset line in the preset data set M are matched by the method of steps S203 and S204, and all corresponding line match pairs in the detection data set K and the preset data set M are determined.

[0143] S205: In response to the number of line match pairs being not less than two, the pose information of the mobile robot at the current position is determined based on the line match pairs by the method of ICP.

[0144] Specifically, if the number of corresponding line match pairs between the detection data set K and the preset data set M is not less than two, the pose information of the mobile robot at the current position is directly determined according to all corresponding line match pairs between the detection data set K and the preset data set M by the ICP (Iterative Closest Point) algorithm.

[0145] S206: In response to the number of line match pairs being only one, it is determined that the line match pair corresponds to two candidate pose information.

[0146] Please refer to Figure 4 ,Figure 4 is a schematic diagram of a straight line matching pair corresponding to two candidate pose information.

[0147] Specifically, if the number of straight line matching pairs corresponding between the detection data set K and the preset data set M is only one, the detection data set obtained by the mobile robot at two different positions respectively may correspond to the straight line matching pair. Therefore, when the number of straight line matching pairs corresponding between the detection data set K and the preset data set M is only one, it is determined that the candidate pose information corresponding to the straight line matching pair is two. For example, the candidate position information includes laser positions L1 and L2.

[0148] In an embodiment, the two candidate pose information corresponding to the straight line matching pair is determined according to the following method.

[0149] Please refer to Figure 5 , Figure 5 is Figure 2 a flowchart of an embodiment of step S206 in the positioning method of the mobile robot provided.

[0150] S2061: Based on the detection direction information of the detection straight line in the straight line matching pair and the preset direction information of the preset straight line, the relative angle information corresponding between the detection straight line and the preset straight line is determined.

[0151] Specifically, according to the detection direction vector kl i of the detection straight line in the straight line matching pair and the preset direction vector ml i of the preset straight line, the relative angle information corresponding to the straight line matching pair is obtained. The relative angle information is two and the two relative angle information differs by a preset angle. Specifically, the two relative angle information differs by 180°.

[0152] In an embodiment, the relative angle information θ i corresponding to the straight line matching pair can be calculated by the following formula 4.

[0153] θ i = arccos[(kl i * ml i ) / (|kl i || ml i |)] (Formula 4)

[0154] Wherein, one angle in the relative angle information is θ i , and the other angle is θ i + π.

[0155] S2062: Based on the relative angle information corresponding between the detection straight line and the preset straight line, the angle variable information corresponding between the first coordinate system where the detection straight line is located and the second coordinate system where the preset straight line is located is determined.

[0156] Specifically, the first coordinate system is a coordinate system with the mobile robot as the origin or a coordinate system with the laser device as the origin, and the second coordinate system is a world coordinate system.

[0157] In an embodiment, based on the relative angle information, an angle rotation matrix corresponding to the detection straight line and the preset straight line is generated.

[0158] Specifically, according to the relative angle information θ, an angle variable information is obtained as According to the relative angle information θ+π, an angle variable information is obtained as

[0159] In an embodiment, based on the difference between the product of the detection direction vector of the detection straight line and the detection tangent circle radius and the preset direction vector of the preset straight line, a first direction difference value is obtained; based on the difference between the product of the detection direction vector of the detection straight line and the transposed detection tangent circle radius and the preset direction vector of the preset straight line, a second direction difference value is obtained.

[0160] In response to the first direction difference value exceeding the second direction difference value, the angle variable information is the transposed angle rotation matrix. For example, the angle variable information

[0161] In response to the first direction difference value not exceeding the second direction difference value, the angle variable information is the angle rotation matrix. For example, the angle variable information

[0162] S2063: Based on the position of the detection straight line centroid of the detection straight line in the first coordinate system, the position of the preset straight line centroid of the preset straight line in the second coordinate system, and the angle variable information between the first coordinate system and the second coordinate system, the position variable information between the first coordinate system and the second coordinate system is determined.

[0163] Specifically, when the relative angle information corresponding to the straight line matching pair is θ, according to the angle variable information between the first coordinate system and the second coordinate system the position variable information between the first coordinate system and the second coordinate system is determined as t θi =k is -R θi m is ; when the relative angle information corresponding to the straight line matching pair is θ+π, according to the angle variable information between the first coordinate system k and the second coordinate system (θ+π)i the position variable information between the first coordinate system and the second coordinate system is determined as t (θ+π)i =k is -R (θ+π)i m is .

[0164] Two candidate pose information of only one straight line matching pair corresponding to the detection data set and the straight line database can be obtained through the steps S2061 to S2063. and the position variable information t θi =k is -R θi m is ; the other candidate pose information includes the angle variable information R (θ+π)i and the position variable information t (θ+π)i =k is -R (θ+π)i m is .

[0165] S2064: determining the pose information of the mobile robot in the second coordinate system at the current position based on the pose information of the mobile robot in the first coordinate system and the angle variable information and the position variable information corresponding to the first coordinate system and the second coordinate system.

[0166] Specifically, after the angle variable information and the position variable information between the first coordinate system and the second coordinate system are determined, the pose information of the mobile robot in the second coordinate system can be determined according to the pose information of the mobile robot in the first coordinate system.

[0167] In an embodiment, the position information of the mobile robot in the second coordinate system is determined by the following formula 5.

[0168]

[0169] In formula 5: 2 p represents the pose information of the mobile robot in the second coordinate system; 1 p represents the pose information of the mobile robot in the first coordinate system; represents the position variable information between the first coordinate system and the second coordinate system; represents the angle variable information between the first coordinate system and the second coordinate system.

[0170] Two candidate pose information of only one straight line matching pair corresponding to the detection data set and the straight line database can be obtained through the steps S2061 to S2064. One candidate pose information is determined by the angle variable information the position variable information t θi =k is -R θi m is and the pose information of the mobile robot in the first coordinate system, and the first candidate pose is obtained; the other candidate pose information is determined by the angle variable information R (θ+π)i , the position variable information t (θ+π)i =kis -R (θ+π)i m is and the pose information of the mobile robot in the first coordinate system is determined, and then the second candidate pose is obtained.

[0171] S207: Selecting one of the two candidate pose information as the pose information of the mobile robot at the current position based on the detected tangent circle radius and the preset tangent circle radius.

[0172] Specifically, the method for selecting the pose information of the mobile robot at the current position includes the following steps.

[0173] Please refer to Figure 6 , Figure 6 is Figure 2 The flowchart of a specific embodiment of step S207 in the positioning method of the mobile robot provided.

[0174] S2071: Determining the first tangent circle radius corresponding to the first candidate pose based on the detected straight line in the straight line matching pair and the first candidate pose, and determining the second tangent circle radius corresponding to the second candidate pose based on the detected straight line in the straight line matching pair and the second candidate pose.

[0175] Specifically, the tangent circle of the detected straight line is made with the position of the mobile robot at the first candidate pose as the center, and then the first tangent circle radius corresponding to the first candidate pose is determined. The tangent circle of the detected straight line is made with the position of the mobile robot at the second candidate pose as the center, and then the second tangent circle radius corresponding to the second candidate pose is determined.

[0176] S2072: Selecting one of the first candidate pose and the second candidate pose as the pose information of the mobile robot at the current position based on the first tangent circle radius, the second tangent circle radius, and the preset tangent circle radius of the preset straight line in the straight line matching pair.

[0177] Specifically, in response to the difference between the first tangent circle radius and the preset tangent circle radius being less than a third threshold value, the first candidate pose is determined as the pose information of the mobile robot at the current position; in response to the difference between the second tangent circle radius and the preset tangent circle radius being less than the third threshold value, the second candidate pose is determined as the pose information of the mobile robot at the current position.

[0178] Through this step, the pose information of the mobile robot at the current position can be preliminarily screened out from the first candidate pose and the second candidate pose.

[0179] In order to improve the positioning accuracy, the determined pose information of the mobile robot at the current position can be verified.

[0180] S2073: Project each laser point corresponding to the line pair in the line matching pair to the second coordinate system in which the preset straight line is located based on the selected first candidate pose or the second candidate pose, to obtain a projected laser point.

[0181] Specifically, project each laser point corresponding to the line pair in the line matching pair to the second coordinate system in which the preset straight line is located based on the angle variable information and the position variable information corresponding to the selected first candidate pose, to obtain a projected laser point corresponding to each laser point.

[0182] S2074: Generate a projected line feature corresponding to the line pair in the line matching pair based on the projected laser points on the reflector plate.

[0183] Specifically, the projected line feature includes a projected line normal vector.

[0184] In an embodiment, the projected line is fitted and generated through each projected laser point corresponding to the reflector plate. The projected line normal vector, the projected line direction vector, the projected line centroid, etc. are determined according to the projected line.

[0185] S2075: In response to a difference between the projected line normal vector corresponding to the line pair in the line matching pair and the preset line normal vector of the preset straight line in the line matching pair not exceeding a fourth threshold value, determine that the selected first candidate pose or the second candidate pose is the pose information of the mobile robot at the current position.

[0186] Specifically, after projecting the detection line in the line matching pair to the coordinate system in which the preset straight line is located based on the angle variable information and the position variable information corresponding to the first candidate pose or the second candidate pose, calculate the difference between the projected line normal vector of the detection line in the line matching pair and the preset line normal vector. If the difference does not exceed the fourth threshold value, determine that the selected first candidate pose or the second candidate pose is the pose information of the mobile robot at the current position.

[0187] In order to improve the positioning accuracy of the mobile robot, it can be further determined whether the position variable information and the angle variable information of the pose information of the mobile robot in the first coordinate system converted to the second coordinate system are the best variable parameters corresponding to the detection data set and the line database.

[0188] S208: Project the laser points corresponding to all detection lines in the detection data set to the second coordinate system in which the preset straight line is located based on the angle variable information and the position variable information corresponding to the line matching pair, to obtain the projected laser points corresponding to each detection line.

[0189] Specifically, in order to determine the optimal variable parameters corresponding to the detection data set and the line database, the laser points corresponding to all the detected lines in the detection data set are projected into the second coordinate system in which the preset lines are located based on the angle variable information and the position variable information corresponding to the selected first candidate pose or the second candidate pose, to obtain the projection laser points corresponding to each laser point.

[0190] S209: Based on the projection laser points corresponding to each reflective panel, a projection line corresponding to each reflective panel is generated.

[0191] Specifically, the projection line corresponding to each reflective panel is fitted according to the projection laser points corresponding to each reflective panel. The projection line centroid of the projection line is determined. The projection line centroid is the midpoint of the projection line.

[0192] In this embodiment, the preset line matched with the projection line is found in the line database based on the projection line centroid, and then the projection line matched pair is generated. Whether the position variable information and the angle variable information of the pose information of the mobile robot in the first coordinate system converted into the second coordinate system is the optimal variable parameter corresponding to the detection data set and the line database is determined according to the number of the projection line matched pairs.

[0193] S210: Based on the projection line centroid of each projection line, the preset line centroid nearest to the projection line centroid is screened in the preset KDTree.

[0194] Specifically, the preset line centroid nearest to the projection line is found in the preset KDTree according to the coordinate position of the projection line centroid. The candidate matched pair is composed of the projection line and the preset line corresponding to the nearest preset line centroid. The difference between the projection line features of the projection line and the preset line features of the preset line is calculated. It is judged whether the difference between the projection line features and the preset line features in the candidate matched pair is less than the corresponding preset range, and then it is determined whether the candidate matched pair is the projection line matched pair. The projection line features further include the projection line normal vector, the projection line direction vector, the projection line length and the projection line tangent circle radius.

[0195] S211: In response to the difference between the projection line features of the projection line and the preset line features of the corresponding nearest preset line being less than the corresponding preset range, it is determined that the projection line and the preset line form the projection line matched pair.

[0196] Specifically, if the difference between the projection line features of the projection line and the preset line features of the preset line is less than the corresponding preset value, it is considered that the candidate matched pair composed of the projection line and the preset line is the projection line matched pair.

[0197] If the difference between the projection line feature of the projection line and the preset line feature of the preset line is not less than the corresponding preset value, the candidate matching pair composed of the projection line and the preset line is deleted.

[0198] The number of the projection line matching pairs corresponding to the detection data set and the line database is determined by the above method.

[0199] S212: Based on the number of the projection line matching pairs, it is determined whether the angle variable information and the position variable information corresponding between the first coordinate system and the second coordinate system need to be updated.

[0200] Specifically, in response to the number of the projection line matching pairs being greater than the number of the line matching pairs, the angle variable information and the position variable information corresponding to each of the projection line matching pairs in the other projection line matching pairs are determined based on the detection line corresponding to the projection line in the other projection line matching pairs and the preset line in the projection line matching pair, except for the projection line matching pair corresponding to the line matching pair; the number of the projection line matching pairs corresponding to each of the angle variable information and the position variable information is counted; the angle variable information and the position variable information corresponding to the maximum number are selected to transform the pose information of the mobile robot in the first coordinate system, and the pose information of the mobile robot in the second coordinate system at the current position is determined.

[0201] S213: Based on the updated angle variable information and the position variable information, the pose information of the mobile robot at the current position is determined.

[0202] In an embodiment, if the number of the line matching pairs corresponding to the maximum number is two, the distance between the detection line centroid of the detection line in the line matching pair and the preset line centroid of the preset line is calculated. The angle variable information and the position variable information corresponding to the line matching pair corresponding to the detection line and the preset line corresponding to the minimum distance are selected as the best variable parameters between the first coordinate system and the second coordinate system. Based on the best variable parameters and the pose information of the mobile robot in the first coordinate system, the pose information of the mobile robot in the second coordinate system is determined.

[0203] In an embodiment, the pose information of the mobile robot when the laser sensor acquires the detection data set is different from the pose information of the mobile robot positioned to the detection data set. That is, after the mobile robot acquires the detection data set at the first position, the mobile robot may continue to move forward, and in the process of moving forward of the mobile robot, that is, at the second position, the pose information of the mobile robot at the first position is positioned. The pose information of the mobile robot at the second position can be calculated based on the pose information at the first position and the odometer data installed on the mobile robot.

[0204] Specifically, the pose information of the mobile robot at the second position can be calculated by formula 6.

[0205]

[0206] In formula 6: represents the pose information of the mobile robot at the second position in the second coordinate system; represents the pose information of the mobile robot at the first position in the second coordinate system; represents the pose variable calculated by the odometry when the mobile robot runs from the first position to the second position.

[0207] In an embodiment, if there is no straight line matching pair between the detection data set K and the preset data set M, each detection straight line in the detection data set K is directly matched with all preset straight lines in the straight line database corresponding to the running environment, so as to search for a preset straight line matching the detection straight line in the straight line database, form a matching pair, and further determine the pose information of the mobile robot at the current position.

[0208] In the positioning method of the mobile robot provided in the embodiment, the detection data set of the current position is obtained; the detection data set includes at least one detection straight line feature corresponding to a reflector; each detection straight line feature is compared with a preset straight line feature in the straight line database to determine a straight line matching pair between the detection data set and the pre-constructed straight line database; and the pose information of the mobile robot at the current position is determined based on the straight line matching pair. In the present application, the detection straight line features corresponding to the reflectors at the current position are detected, the detection straight line features are compared with the preset straight line features, the straight line matching pair is determined, and the position of the mobile robot when the detection data set is collected can be quickly determined according to the position of the preset straight line feature in the straight line matching pair.

[0209] Referring to Figure 7 , Figure 7 is a frame schematic diagram of an embodiment of the positioning device of the mobile robot provided in the present application. The embodiment provides a positioning device 60 of a mobile robot, which includes an acquisition module 61, a matching module 62 and a positioning module 63.

[0210] The acquisition module 61 is used to acquire a detection data set of a current position; the detection data set includes at least one detection straight line feature corresponding to a reflector.

[0211] The matching module 62 is used to compare each detection straight line feature with a preset straight line feature in a pre-constructed straight line database to determine a straight line matching pair between the detection data set and the straight line database. The preset straight line feature includes a preset straight line, preset direction information, a preset straight line normal vector, a preset tangent circle radius, a preset straight line length and / or a preset straight line centroid;

[0212] The positioning module 63 is configured to determine the pose information of the mobile robot at the current position based on the straight line matching pairs.

[0213] In an embodiment, the acquisition module 61 is configured to emit laser light to the reflective plates installed in the running environment by the laser device to form laser points on the reflective plates; generate preset straight lines corresponding to the reflective plates according to the laser points on the reflective plates; determine preset direction information, a preset straight line normal vector, a preset tangent circle radius, a preset straight line length and / or a preset straight line centroid corresponding to the preset straight lines based on the preset straight lines; and construct a straight line database based on the preset straight lines corresponding to all the reflective plates in the running environment.

[0214] In an embodiment, the detection of the straight line features includes detection of straight lines. The acquisition module 61 is configured to detect laser points on the reflective plates in the preset area; generate detection straight lines corresponding to the reflective plates based on the laser points on the reflective plates; and construct a detection dataset based on the detection straight lines corresponding to all the reflective plates in the preset area.

[0215] In an embodiment, the detection of the straight line features also includes detection of direction information and detection of straight line lengths. The matching module 62 is configured to, in response to a direction difference between the detection direction information of the detection straight line and the preset direction information of the preset straight line in the preset area being less than a first threshold value, calculate a length difference between the detection straight line length of the detection straight line and the preset straight line length of the preset straight line; and each of the preset straight lines in the preset area is different. The matching module 62 is configured to, in response to the length difference between the detection straight line length of the detection straight line and the preset straight line length of the preset straight line being less than a second threshold value, form a straight line matching pair between the detection straight line corresponding to the length difference and the preset straight line.

[0216] In an embodiment, the positioning module 63 is configured to, in response to the number of the straight line matching pairs being no less than two, determine the pose information of the mobile robot at the current position based on the straight line matching pairs by the method of ICP.

[0217] In an embodiment, the detection of the straight line features includes detection of tangent circle radii. The positioning module 63 is configured to, in response to the number of the straight line matching pairs being only one, determine two candidate pose information corresponding to the straight line matching pair; and select one of the two candidate pose information as the pose information of the mobile robot at the current position based on the detection tangent circle radius and the preset tangent circle radius.

[0218] In a specific embodiment, the two candidate pose information includes a first candidate pose and a second candidate pose. The positioning module 63 is configured to determine a first tangent circle radius corresponding to the first candidate pose based on the first candidate pose and the detected straight line in the straight line matching pair; determine a second tangent circle radius corresponding to the second candidate pose based on the second candidate pose and the detected straight line in the straight line matching pair; and select the first candidate pose or the second candidate pose as the pose information of the mobile robot at the current position based on the first tangent circle radius, the second tangent circle radius, and a preset tangent circle radius of the preset straight line in the straight line matching pair.

[0219] In a specific embodiment, the positioning module 63 is configured to determine the first candidate pose as the pose information of the mobile robot at the current position in response to a difference between the first tangent circle radius and the preset tangent circle radius being less than a third threshold value; and determine the second candidate pose as the pose information of the mobile robot at the current position in response to a difference between the second tangent circle radius and the preset tangent circle radius being less than the third threshold value.

[0220] In a specific embodiment, the positioning module 63 is configured to determine relative angle information corresponding to the detected straight line and the preset straight line based on detection direction information of the detected straight line and preset direction information of the preset straight line in the straight line matching pair; the relative angle information is two and the two relative angle information differs by a preset angle. The positioning module 63 is configured to determine transformation parameter information corresponding to a first coordinate system in which the detected straight line is located and a second coordinate system in which the preset straight line is located based on the relative angle information corresponding to the detected straight line and the preset straight line. The positioning module 63 is configured to determine the pose information of the mobile robot at the current position in the second coordinate system based on the pose information of the mobile robot in the first coordinate system and the transformation parameter information; the first coordinate system is a coordinate system with the mobile robot as the origin or a coordinate system with the laser device as the origin, and the second coordinate system is a world coordinate system.

[0221] In a specific embodiment, the transformation parameter information includes angle variable information and position variable information. The positioning module 63 is configured to determine angle variable information corresponding to the first coordinate system and the second coordinate system based on the relative angle information corresponding to the detected straight line and the preset straight line. The positioning module 63 is configured to determine position variable information between the first coordinate system and the second coordinate system based on the position of the detected straight line centroid of the detected straight line in the first coordinate system, the position of the preset straight line centroid of the preset straight line in the second coordinate system, and the angle variable information corresponding to the first coordinate system and the second coordinate system. The positioning module 63 is configured to determine the pose information of the mobile robot at the current position in the second coordinate system based on the pose information of the mobile robot in the first coordinate system and the angle variable information and the position variable information corresponding to the first coordinate system and the second coordinate system.

[0222] In a specific embodiment, the positioning module 63 is configured to generate, based on the relative angle information, an angle rotation matrix corresponding to the detected straight line and the preset straight line; obtain a first direction difference value based on a difference between a product of the detected direction vector of the detected straight line and the detected tangent circle radius and a preset direction vector of the preset straight line; obtain a second direction difference value based on a difference between a product of the detected direction vector of the detected straight line and the transposed detected tangent circle radius and the preset direction vector of the preset straight line; in response to the first direction difference value exceeding the second direction difference value, the angle variable information is the transposed angle rotation matrix; in response to the first direction difference value not exceeding the second direction difference value, the angle variable information is the angle rotation matrix.

[0223] In a specific embodiment, the positioning module 63 is configured to project, based on the transformation parameter information corresponding to the selected candidate pose information, each laser point corresponding to the detected straight line in the straight line matching pair to the second coordinate system corresponding to the preset straight line to obtain a corresponding projected laser point; generate, based on the projected laser point corresponding to the reflector, a projected straight line feature corresponding to the detected straight line in the straight line matching pair; the projected straight line feature includes a projected straight line normal vector; in response to a difference between the projected straight line normal vector corresponding to the detected straight line in the straight line matching pair and a preset straight line normal vector of the preset straight line in the straight line matching pair not exceeding a fourth threshold value, determine the pose information of the mobile robot at the current position based on the transformation parameter information corresponding to the candidate pose information.

[0224] In an embodiment, the acquisition module 61 is further configured to construct a preset KDTree based on positions of preset straight line centroids of all preset straight lines in the straight line database.

[0225] In a specific embodiment, the positioning module 63 is configured to generate, based on the projected laser point corresponding to each reflector, a projected straight line corresponding to each reflector; determine, based on the projected straight line corresponding to each detected straight line in the detection data set and the preset straight line in the straight line database, a projected straight line matching pair corresponding to the detection data set and the straight line database; determine, based on the number of the projected straight line matching pairs, whether the angle variable information and the position variable information corresponding to the first coordinate system and the second coordinate system need to be updated; determine, based on the updated angle variable information and the position variable information, the pose information of the mobile robot at the current position.

[0226] In a specific embodiment, the positioning module 63 is configured to project the straight line to have a projected straight line centroid; based on the projected straight line centroid of each projected straight line, respectively, screen a preset straight line centroid that is the nearest neighbor of the projected straight line centroid position in the preset KDTree; calculate a difference between the projected straight line feature of the projected straight line and the preset straight line feature corresponding to the nearest neighbor preset straight line; in response to the difference between the projected straight line feature of the projected straight line and the preset straight line feature of the corresponding nearest neighbor preset straight line being less than a corresponding preset value, determine that the projected straight line and the preset straight line form a projected straight line matching pair.

[0227] In a specific embodiment, the positioning module 63 is configured to, in response to the number of the projection straight line matching pairs being greater than the number of the straight line matching pairs, determine transformation parameter information corresponding to each of the projection straight line matching pairs other than the projection straight line matching pair corresponding to the straight line matching pair based on the detected straight line corresponding to the projection straight line in the projection straight line matching pair and the preset straight line in the projection straight line matching pair; count the matching number of the projection straight line matching pairs corresponding to each of the transformation parameter information; and select the transformation parameter information corresponding to the maximum matching number to transform the pose information of the mobile robot in the first coordinate system, to determine the pose information of the mobile robot in the second coordinate system when the mobile robot is at the current position.

[0228] In a specific embodiment, the positioning module 63 is configured to, in response to there being at least two maximum matching numbers, calculate the centroid distance between the detected straight line centroid of each of the matching straight line pairs corresponding to the at least two maximum matching numbers and the preset straight line centroid of the preset straight line; and select the matching straight line pair corresponding to the shortest centroid distance to transform the transformation parameter information corresponding to the matching straight line pair to transform the pose information of the mobile robot in the first coordinate system, to determine the pose information of the mobile robot in the second coordinate system when the mobile robot is at the current position.

[0229] The positioning device of the mobile robot provided in the embodiment determines the straight line matching pairs by comparing the detected straight line features corresponding to each of the reflectors at the current position with the preset straight line features, and quickly determines the position of the mobile robot when the detection data set is collected according to the position of the preset straight line features in the straight line matching pairs.

[0230] Please refer to Figure 8 , Figure 8 is a schematic diagram of the framework of an embodiment of the terminal provided in the present application. The terminal 80 includes a memory 81 and a processor 82 coupled with each other. The processor 82 is configured to execute program instructions stored in the memory 81 to implement the steps of any of the positioning methods of the mobile robot described above. In a specific implementation scenario, the terminal 80 can include but is not limited to a microcomputer, a server, and in addition, the terminal 80 can also include a notebook computer, a tablet computer and other mobile devices, which are not limited herein.

[0231] In particular, the processor 82 is configured to control itself and the memory 81 to implement the steps of any of the above positioning method embodiments of the mobile robot. The processor 82 can also be referred to as a CPU (Central Processing Unit). The processor 82 can be an integrated circuit chip including a processing core. The processor 82 can also be a general purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component. The general purpose processor can be a microprocessor or the processor can also be any conventional processor. In addition, the processor 82 can be implemented by an integrated circuit chip together with the memory 81.

[0232] Reference is made to Figure 9 , Figure 9 A framework diagram of an embodiment of the computer readable storage medium provided in the present application is shown. The computer readable storage medium 90 stores program instructions 901 capable of being executed by the processor, and the program instructions 901 are used to implement the steps of any of the above positioning method embodiments of the mobile robot.

[0233] In some embodiments, the apparatus provided by the embodiments of the present disclosure has functions or includes modules that can be used to perform the methods described in the above method embodiments, and the specific implementation can refer to the description of the above method embodiments. For brevity, details are not repeated here.

[0234] The above description of each embodiment tends to emphasize the differences between the embodiments, and the same or similar parts can be mutually referred to, and for brevity, details are not repeated here.

[0235] In several embodiments provided in the present application, it should be understood that the disclosed method and apparatus can be implemented in other ways. For example, the above-described apparatus implementation is only schematic, and for example, the division of the modules or units is only a logical function division, and actual implementation can have another division manner, for example, a unit or component can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed mutual elements can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.

[0236] In addition, each of the functional units in the embodiments of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

[0237] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such an understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk, and various media that can store program codes.

[0238] If the technical solutions of the present application involve personal information, the product applying the technical solutions of the present application has explicitly informed the personal information processing rules before processing the personal information, and has obtained the personal independent consent. If the technical solutions of the present application involve sensitive personal information, the product applying the technical solutions of the present application has obtained the personal independent consent before processing the sensitive personal information, and at the same time meets the requirement of "explicit consent". For example, at the personal information collection device such as camera, a clear and prominent mark is set to inform that the personal information collection range has been entered, and the personal information will be collected. If the person voluntarily enters the collection range, it is regarded as agreeing to collect the personal information. Or, on the device for processing personal information, the personal information processing rules are informed by using obvious marks / information, and the personal authorization is obtained by means of pop-up information or asking the person to upload his / her personal information, etc. The personal information processing rules can include personal information processor, personal information processing purpose, processing method, and personal information type, etc.

[0239] The above is only the embodiment of the present application, and does not limit the patent protection scope of the present application. Any equivalent structure or equivalent process transformation based on the content of the specification and drawings of the present application, or direct or indirect application in other related technical fields, is also included in the patent protection scope of the present application.

Claims

1. A positioning method of a mobile robot, characterized by, The positioning method of the mobile robot comprises: obtaining a detection data set of a current position; the detection data set comprises detection straight line features corresponding to at least one reflector; comparing each detection straight line feature with a preset straight line feature in a straight line database constructed in advance to determine a straight line matching pair between the detection data set and the straight line database; the detection straight line feature comprises a detection straight line; the preset straight line feature comprises a preset straight line; based on the straight line matching pair, determining pose information of the mobile robot at the current position; based on the straight line matching pair, determining pose information of the mobile robot at the current position, comprises: based on detection direction information of the detection straight line and preset direction information of the preset straight line in the straight line matching pair, determining corresponding relative angle information between the detection straight line and the preset straight line; the relative angle information is two and the two relative angle information differs by a preset angle; based on the corresponding relative angle information between the detection straight line and the preset straight line, determining corresponding transformation parameter information between a first coordinate system in which the detection straight line is located and a second coordinate system in which the preset straight line is located; based on the pose information of the mobile robot in the first coordinate system and the transformation parameter information, determining pose information of the mobile robot in the second coordinate system at the current position; the first coordinate system is a coordinate system with the mobile robot as the original center or a coordinate system with a laser device as the original center, and the second coordinate system is a world coordinate system.

2. The positioning method of a mobile robot according to claim 1, wherein The preset straight line feature further comprises preset direction information, a preset straight line normal vector, a preset tangent circle radius, a preset straight line length and / or a preset straight line centroid; The method further comprises: emitting laser light from a laser device to the reflectors installed in a running environment to form laser points on each reflector; generating the preset straight line corresponding to each reflector based on the laser points on the reflector; determining the preset direction information, the preset straight line normal vector, the preset tangent circle radius, the preset straight line length and / or the preset straight line centroid corresponding to each preset straight line; constructing the straight line database based on the preset straight lines corresponding to all the reflectors in the running environment.

3. The positioning method of the mobile robot according to claim 1, wherein obtaining a detection data set of a current position; the detection data set comprises detection straight line features corresponding to at least one reflector, comprises: detecting laser points on each reflector in a preset area; generating the detection straight line corresponding to each reflector based on the laser points on each reflector; constructing the detection data set based on the detection straight lines corresponding to all the reflectors in the preset area.

4. The positioning method of a mobile robot according to claim 3, wherein The detection straight line feature further comprises detection direction information and detection straight line length; The comparing each of the detected straight line features with preset straight line features in a pre-constructed straight line database respectively to determine corresponding straight line matching pairs between the detection data set and the straight line database comprises: In response to a direction difference between the detection direction information of the detected straight line and preset direction information of the preset straight line in the preset area being less than a first threshold value, a length difference between a detection straight line length of the detected straight line and a preset straight line length of the preset straight line is calculated; each of the preset straight lines in the preset area is not identical; In response to the length difference between the detection straight line length of the detected straight line and the preset straight line length of the preset straight line being less than a second threshold value, the detection straight line corresponding to the length difference and the preset straight line form the straight line matching pair. 5.The positioning method of the mobile robot according to any one of claims 1-4, wherein The determining the pose information of the mobile robot at the current position based on the straight line matching pairs comprises: In response to the number of the straight line matching pairs being no less than two, the pose information of the mobile robot at the current position is determined based on the straight line matching pairs by an ICP method.

6. The positioning method of a mobile robot according to any one of claims 1 to 4, characterized in that, The detected straight line features comprise a detected tangent circle radius, The determining the pose information of the mobile robot at the current position based on the straight line matching pairs comprises: In response to the number of the straight line matching pairs being only one, two candidate pose information corresponding to the straight line matching pair are determined; Based on the detected tangent circle radius and the preset tangent circle radius, one of the two candidate pose information is selected as the pose information of the mobile robot at the current position.

7. The positioning method of a mobile robot according to claim 6, wherein The two candidate pose information comprises a first candidate pose and a second candidate pose; The selecting one of the two candidate pose information as the pose information of the mobile robot at the current position based on the detected tangent circle radius and the preset tangent circle radius comprises: Based on the first candidate pose and the detected straight line in the straight line matching pair, a first tangent circle radius corresponding to the first candidate pose is determined; based on the second candidate pose and the detected straight line in the straight line matching pair, a second tangent circle radius corresponding to the second candidate pose is determined; Based on the first tangent circle radius, the second tangent circle radius, and a preset tangent circle radius of the preset straight line in the straight line matching pair, the first candidate pose or the second candidate pose is selected as the pose information of the mobile robot at the current position. 8.The positioning method of the mobile robot according to claim 7, wherein The selecting one of the two candidate pose information as the pose information of the mobile robot at the current position based on the first tangent circle radius, the second tangent circle radius, and the preset tangent circle radius of the preset straight line in the straight line matching pair comprises: in response to a difference between the first tangent circle radius and the preset tangent circle radius being less than a third threshold value, determining that the first candidate pose is pose information of the mobile robot at the current position; in response to a difference between the second tangent circle radius and the preset tangent circle radius being less than the third threshold value, determining that the second candidate pose is pose information of the mobile robot at the current position.

9. The positioning method of a mobile robot according to claim 6, wherein the transformation parameter information comprises angle variable information and position variable information; the determining, based on the relative angle information between the detection straight line and the preset straight line, of corresponding transformation parameter information between a first coordinate system in which the detection straight line is located and a second coordinate system in which the preset straight line is located, comprises: determining, based on the relative angle information between the detection straight line and the preset straight line, of corresponding angle variable information between the first coordinate system and the second coordinate system; determining, based on a position of a detection straight line centroid of the detection straight line in the first coordinate system, a position of a preset straight line centroid of the preset straight line in the second coordinate system, and the angle variable information between the first coordinate system and the second coordinate system, of position variable information between the first coordinate system and the second coordinate system; the determining, based on the pose information of the mobile robot in the first coordinate system and the transformation parameter information, of pose information of the mobile robot in the second coordinate system at the current position, comprises: determining, based on the pose information of the mobile robot in the first coordinate system and the angle variable information and the position variable information between the first coordinate system and the second coordinate system, of pose information of the mobile robot in the second coordinate system at the current position. 10.The positioning method of the mobile robot according to claim 9, wherein the determining, based on the relative angle information between the detection straight line and the preset straight line, of corresponding angle variable information between the first coordinate system and the second coordinate system, comprises: generating an angle rotation matrix corresponding to the detection straight line and the preset straight line based on the relative angle information; obtaining a first direction difference value based on a difference between a product of a detection direction vector of the detection straight line and the detection tangent circle radius and a preset direction vector of the preset straight line; obtaining a second direction difference value based on a difference between a product of a detection direction vector of the detection straight line and a transposed detection tangent circle radius and the preset direction vector of the preset straight line; in response to the first direction difference value exceeding the second direction difference value, the angle variable information is a transposed angle rotation matrix; in response to the first direction difference value not exceeding the second direction difference value, the angle variable information is the angle rotation matrix. 11.The positioning method of the mobile robot according to claim 6, wherein the determining, based on the straight line matching pair, of pose information of the mobile robot at the current position, further comprises: projecting each laser point corresponding to the detected straight line in the straight line matching pair to a second coordinate system corresponding to the preset straight line based on the transformation parameter information corresponding to the selected candidate pose information to obtain a corresponding projected laser point; generating a projected straight line feature corresponding to the detected straight line in the straight line matching pair based on the projected laser point corresponding to the retro-reflective panel; the projected straight line feature includes a projected straight line normal vector; in response to a difference between the projected straight line normal vector corresponding to the detected straight line in the straight line matching pair and a preset straight line normal vector of the preset straight line in the straight line matching pair not exceeding a fourth threshold value, determining that the pose information of the mobile robot at the current position is determined based on the transformation parameter information corresponding to the candidate pose information.

12. The positioning method of the mobile robot according to claim 6, wherein the obtained detection data set at the current position further comprises: constructing a preset KDTree based on positions of preset straight line centroids of all the preset straight lines in the straight line database.

13. The positioning method of a mobile robot according to claim 12, wherein The positioning method of the mobile robot comprises: projecting laser points corresponding to all the detected straight lines in the detection data set to a second coordinate system in which the preset straight line is located respectively based on the transformation parameter information corresponding to the straight line matching pair to obtain projected laser points corresponding to each detected straight line; generating a projected straight line corresponding to each retro-reflective panel based on the projected laser point corresponding to each retro-reflective panel; determining a corresponding projected straight line matching pair between the detection data set and the straight line database based on the projected straight line corresponding to each detected straight line in the detection data set and the preset straight line in the straight line database; determining whether the angle variable information and the position variable information corresponding between the first coordinate system and the second coordinate system need to be updated based on the number of the projected straight line matching pairs; determining the pose information of the mobile robot at the current position based on the updated angle variable information and the position variable information.

14. The positioning method of a mobile robot according to claim 13, wherein the projected straight line has a projected straight line centroid; the determination of the corresponding projected straight line matching pair between the detection data set and the straight line database based on the projected straight line corresponding to each detected straight line in the detection data set and the preset straight line in the straight line database comprises: screening, based on the projected straight line centroid of each projected straight line, the preset straight line centroid nearest neighbor to the position of the projected straight line centroid in the preset KDTree; calculating a difference between the projected straight line feature of the projected straight line and the preset straight line feature corresponding to the nearest neighbor preset straight line; in response to the difference between the projected straight line feature of the projected straight line and the preset straight line feature corresponding to the nearest neighbor preset straight line being less than a corresponding preset value, determining that the projected straight line and the preset straight line form a projected straight line matching pair.

15. The positioning method of the mobile robot according to claim 13, wherein The method comprises the following steps: In response to the number of the projection line matching pairs being greater than the number of the line matching pairs, the transformation parameter information corresponding to each of the other projection line matching pairs is determined based on the detection line corresponding to the projection line in the other projection line matching pairs and the preset line in the projection line matching pair, except for the projection line matching pair corresponding to the line matching pair; The matching number of the projection line matching pairs corresponding to each of the transformation parameter information is counted; The pose information of the mobile robot at the current position is determined based on the updated angle variable information and the position variable information, and the method comprises the following steps: The transformation parameter information corresponding to the maximum matching number is selected to transform the pose information of the mobile robot in the first coordinate system, so as to determine the pose information of the mobile robot in the second coordinate system at the current position.

16. The mobile robot positioning method according to claim 15, wherein The pose information of the mobile robot at the current position is determined based on the updated angle variable information and the position variable information, and the method further comprises the following steps: In response to there being at least two maximum matching numbers, the centroid distance between the detection line centroid of each of the matching line pairs corresponding to the at least two maximum matching numbers and the preset line centroid of the preset line is calculated; The transformation parameter information corresponding to the matching line pair with the shortest centroid distance is selected to transform the pose information of the mobile robot in the first coordinate system, so as to determine the pose information of the mobile robot in the second coordinate system at the current position.

17. A positioning device for a mobile robot, characterized in that The mobile robot positioning device comprises: An acquisition module is configured to acquire a detection data set of a current position; the detection data set comprises detection line features corresponding to at least one reflector; A matching module is configured to compare each of the detection line features with preset line features in a pre-constructed line database, so as to determine line matching pairs between the detection data set and the line database; the detection line features comprise detection lines; and the preset line features comprise preset lines. The positioning module is configured to determine pose information of the mobile robot at the current position based on the straight line matching pair; and determine corresponding relative angle information between the detected straight line and the preset straight line based on detection direction information of the detected straight line and preset direction information of the preset straight line in the straight line matching pair; the relative angle information is two, and the two relative angle information differs by a preset angle; determine corresponding transformation parameter information between a first coordinate system in which the detected straight line is located and a second coordinate system in which the preset straight line is located based on the corresponding relative angle information between the detected straight line and the preset straight line; determine pose information of the mobile robot in the second coordinate system at the current position based on pose information of the mobile robot in the first coordinate system and the transformation parameter information; the first coordinate system is a coordinate system with the mobile robot as a center or a coordinate system with a laser device as a center, and the second coordinate system is a world coordinate system.

18. A terminal, characterized by The terminal comprises a memory, a processor, and a computer program stored in the memory and running on the processor, and the processor is configured to execute program data to implement the steps in the positioning method of the mobile robot according to any one of claims 1 to 16.

19. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the steps in the positioning method of the mobile robot according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Mobile robot positioning method based on laser scanner and strong reflective signs

    CN107053219A

  • Laser positioning method and device and mobile robot

    CN111308481A