A positioning method and system of a mobile robot, an electronic device, and a storage medium

By processing LiDAR data, filtering and fitting straight line segments, and calculating the pose of angular reference objects, the positioning accuracy problem of AGV mobile robots under environmental changes was solved, and high-precision path planning and task execution were achieved.

CN116047536BActive Publication Date: 2026-02-06DALIAN EVERYDAY GOOD ELECTRONICS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310073125.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-03
Publication Date
2026-02-06
Estimated Expiration
2043-02-03

AI Technical Summary

Technical Problem

In existing technologies, AGV mobile robots cannot achieve intelligent obstacle avoidance and real-time changes in task paths, and their positioning accuracy is low when the environment changes frequently.

Method used

By using lidar to acquire an initial radar dataset, segmenting it using Cartesian coordinates and Hough space, filtering and fitting line segments, calculating the included angle and pose, and determining the absolute pose of the angular reference object, the positioning accuracy is improved.

Benefits of technology

It improves the positioning accuracy of mobile robots, enabling them to maintain high-precision path planning and task execution even under changing environmental conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116047536B_ABST
    Figure CN116047536B_ABST
Patent Text Reader

Abstract

The application discloses a positioning method and system of a mobile robot, electronic equipment and a storage medium, and relates to the technical field of mobile robot positioning. The method comprises the following steps: segmenting an initial radar data set to obtain a plurality of first data segments, and determining a plurality of straight line segment data; determining a straight line segment with a length meeting a preset length range as a to-be-screened straight line segment; screening from all to-be-screened straight line segments to obtain a plurality of to-be-fitted straight line segment groups; fitting straight line equations of two to-be-fitted straight line segments according to straight line segment data in the to-be-fitted straight line segment group; determining a first relative pose of an angular reference object according to two straight line equations corresponding to an included angle meeting a preset angle range; determining a second absolute pose of a laser radar according to the first relative pose and a first absolute pose of the angular reference object in a preset absolute coordinate system; and determining an absolute pose of the mobile robot according to a base coordinate pose and the second absolute pose. The application improves the positioning accuracy of the mobile robot.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of mobile robot positioning, and in particular to a mobile robot positioning method and system, an electronic device and a storage medium. BACKGROUND

[0002] In the current industrial mobile robot market, the automated guided vehicle (AGV) as a kind of mobile robot is mostly guided by magnetic tape or electromagnetism. The two schemes are simple in principle, mature in technology and low in cost, but it is troublesome to change or expand the path and maintain it later. Moreover, the AGV can only walk along the fixed route and cannot realize intelligent avoidance, nor can it change the task in real time through the control system.

[0003] In addition, the laser mapping method is also a method used by most mobile robots for positioning. However, this method loses its significance when the environment changes frequently. When the production line body and production environment of a production enterprise are easily changed and varied, the positioning accuracy of the mobile robot will be very low. SUMMARY

[0004] The purpose of the present application is to provide a mobile robot positioning method, system, electronic device and storage medium, which improves the positioning accuracy of the mobile robot.

[0005] To achieve the above purpose, the present application provides the following scheme:

[0006] A mobile robot positioning method, the method comprising:

[0007] Using a laser radar, an initial radar data set of an environment where the mobile robot is located is obtained; the initial radar data set comprises a plurality of radar data;

[0008] In a Cartesian coordinate system, the initial radar data set is segmented according to a preset segmentation rule to obtain a plurality of first data segments;

[0009] In a Hough space, a plurality of straight line segment data are determined according to the first data segments; the straight line segment data are radar data constituting straight line segments in second data segments;

[0010] The length of the straight line segment formed by each of the straight line segment data is determined, and the straight line segment whose length meets a preset length range is determined as a to-be-screened straight line segment;

[0011] According to a preset screening rule, a plurality of to-be-fitted straight line segment groups are screened from all the to-be-screened straight line segments; each to-be-fitted straight line segment group comprises two to-be-fitted straight line segments;

[0012] fitting a straight line equation of two straight line segments in the group of straight line segments to be fitted according to straight line segment data of the two straight line segments in the group of straight line segments to be fitted;

[0013] calculating an included angle of two straight line equations in each group of straight line segments to be fitted, and determining a first relative pose of an angular reference object relative to the laser radar according to two straight line equations corresponding to an included angle satisfying a preset angle range;

[0014] obtaining a first absolute pose of the angular reference object in a preset absolute coordinate system and a base coordinate pose of the laser radar in a preset robot coordinate system;

[0015] determining a second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose;

[0016] determining an absolute pose of the mobile robot in a preset absolute coordinate system according to the base coordinate pose and the second absolute pose.

[0017] Optionally, in a Cartesian coordinate system, the initial radar data set is segmented according to a preset segmentation rule to obtain a plurality of first data segments, specifically including:

[0018] calculating a distance between each adjacent radar data in the initial radar data set to obtain a first distance;

[0019] determining two adjacent radar data with a first distance greater than a preset distance value as end points of two data segments, respectively, and determining adjacent radar data with a first distance less than the preset distance value as an intermediate point of a data segment, to obtain a plurality of first data segments.

[0020] Optionally, in a Hough space, a plurality of straight line segment data are determined according to the first data segment; the straight line segment data are radar data constituting a straight line segment in a second data segment, specifically including:

[0021] converting coordinates of radar data in each first data segment in the Cartesian coordinate system into coordinates in the Hough space to obtain a plurality of second data segments;

[0022] determining straight line segment data in all second data segments to obtain a plurality of straight line segment data.

[0023] Optionally, the process of determining straight line segment data in any current second data segment specifically includes:

[0024] calculating a gradient of the current second data segment;

[0025] determining all straight line segment data in the current second data segment according to the gradient.

[0026] Optionally, the process of determining any of the groups of to-be-fitted straight line segments specifically comprises:

[0027] All the to-be-screened straight line segments are arranged and combined to obtain a plurality of groups of to-be-screened straight line segments; each group of to-be-screened straight line segments comprises a first to-be-screened straight line segment and a second to-be-screened straight line segment;

[0028] The operation values of the first to-be-screened straight line segment and the second to-be-screened straight line segment in each group of to-be-screened straight line segments are calculated; the operation values comprise a first operation value, a second operation value, a third operation value and a fourth operation value; the first operation value is determined according to the head coordinate of the first to-be-screened straight line segment and the head coordinate of the second to-be-screened straight line segment, the second operation value is determined according to the head coordinate of the first to-be-screened straight line segment and the tail coordinate of the second to-be-screened straight line segment, the third operation value is determined according to the tail coordinate of the first to-be-screened straight line segment and the head coordinate of the second to-be-screened straight line segment, and the fourth operation value is determined according to the tail coordinate of the first to-be-screened straight line segment and the tail coordinate of the second to-be-screened straight line segment;

[0029] According to the operation values and a preset limit, it is determined whether the to-be-screened straight line segments are a group of to-be-fitted straight line segments.

[0030] Optionally, according to the first relative pose and the first absolute pose, a second absolute pose of the lidar in the preset absolute coordinate system is determined, specifically comprising:

[0031] According to the first relative pose, a second relative pose of the lidar relative to the corner reference object is determined;

[0032] According to the second relative pose and the first absolute pose, the second absolute pose is determined.

[0033] A positioning system of a mobile robot, the system comprising:

[0034] An initial radar data set acquisition module is configured to acquire, by using a lidar, an initial radar data set of an environment in which a mobile robot is located; the initial radar data set comprises a plurality of radar data;

[0035] A first data segment determination module is configured to segment, in a Cartesian coordinate system, the initial radar data set according to a preset segmentation rule to obtain a plurality of first data segments;

[0036] A straight line segment data determination module is configured to determine, in a Hough space, a plurality of straight line segment data according to the first data segments; the straight line segment data is radar data constituting a straight line segment in a second data segment;

[0037] A to-be-screened straight line segment determination module is configured to determine a length of each straight line segment data, and determine a straight line segment with a length meeting a preset length range as a to-be-screened straight line segment;

[0038] A to-be-fitted straight line segment group determination module is configured to screen a plurality of to-be-fitted straight line segment groups from all the to-be-screened straight line segments according to a preset screening rule; each to-be-fitted straight line segment group includes two to-be-fitted straight line segments;

[0039] A straight line equation determination module is configured to fit straight line equations of two to-be-fitted straight line segments in a to-be-fitted straight line segment group according to straight line segment data of the two to-be-fitted straight line segments;

[0040] A first relative pose determination module is configured to calculate an included angle of two straight line equations in each to-be-fitted straight line segment group, and determine a first relative pose of an angular reference object relative to the laser radar according to two straight line equations corresponding to an included angle meeting a preset angle range;

[0041] An absolute pose and base coordinate pose acquisition module is configured to acquire a first absolute pose of the angular reference object in a preset absolute coordinate system and a base coordinate pose of the laser radar in a preset robot coordinate system;

[0042] A second absolute pose determination module is configured to determine a second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose;

[0043] A positioning module is configured to determine an absolute pose of the mobile robot in a preset absolute coordinate system according to the base coordinate pose and the second absolute pose.

[0044] An electronic device includes:

[0045] One or more processors;

[0046] A storage device having one or more programs stored thereon;

[0047] When the one or more programs are executed by the one or more processors, the one or more processors implement the positioning method of the mobile robot as described above.

[0048] A storage medium having a computer program stored thereon, wherein the computer program is executed by a processor to implement the positioning method of the mobile robot as described above.

[0049] According to the embodiments of the present application, the following technical effects are provided:

[0050] The application discloses a positioning method and system of a mobile robot, an electronic device and a storage medium, and the method comprises the following steps: acquiring an initial radar data set of an environment where the mobile robot is located by using a laser radar; the initial radar data set comprises a plurality of radar data; segmenting the initial radar data set according to a preset segmentation rule in a Cartesian coordinate system to obtain a plurality of first data segments; determining a plurality of straight line segment data according to the first data segments in a Hough space; the straight line segment data are radar data constituting a straight line segment in a second data segment; determining the length of a straight line segment formed by each straight line segment data, and determining a straight line segment that satisfies a preset length range as a to-be-screened straight line segment; screening a plurality of to-be-fitted straight line segment groups from all to-be-screened straight line segments according to a preset screening rule; each to-be-fitted straight line segment group comprises two to-be-fitted straight line segments; fitting a straight line equation of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group according to the straight line segment data of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group; calculating the included angle of the two straight line equations in each to-be-fitted straight line segment group, and determining a first relative pose of an angular reference object relative to the laser radar according to the two straight line equations corresponding to the included angle that satisfies a preset angle range; acquiring a first absolute pose of the angular reference object in a preset absolute coordinate system and a base coordinate pose of the laser radar in a preset robot coordinate system; determining a second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose; and determining an absolute pose of the mobile robot in the preset absolute coordinate system according to the base coordinate pose and the second absolute pose. The application finds an angular reference object by using a laser radar, determines the poses of the angular reference object and the laser radar, and thus inversely deduces the pose of the mobile robot, thereby improving the positioning accuracy of the mobile robot. BRIEF DESCRIPTION OF DRAWINGS

[0051] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed in the embodiments. Obviously, the drawings described below only show some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.

[0052] Figure 1 A flowchart of a positioning method of a mobile robot in embodiment 1 of the present application is shown in the figure;

[0053] Figure 2 An image schematic diagram formed by an initial radar data set obtained by scanning an environment by a laser radar in a specific embodiment is shown in the figure;

[0054] Figure 3 An initial radar data set schematic diagram in a specific embodiment is shown in the figure;

[0055] Figure 4 A grad curve diagram in a specific embodiment is shown in the figure;

[0056] Figure 5 a radar data graph corresponding to the grad graph in the specific embodiment;

[0057] Figure 6 a position and opening orientation diagram of an angle reference in the specific embodiment;

[0058] Figure 7 a positioning system structure diagram of a mobile robot provided in Embodiment 2 of the application. DETAILED DESCRIPTION

[0059] The technical solutions in the embodiments of the application will be described clearly and completely below with reference to the drawings in the embodiments of the application. Obviously, the described embodiments are only part of the embodiments of the application, rather than all the embodiments of the application. Based on the embodiments in the application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the application.

[0060] The purpose of the application is to provide a positioning method and system of a mobile robot, an electronic device and a storage medium, aiming to improve the positioning accuracy of the mobile robot.

[0061] In order to make the above-mentioned purposes, features and advantages of the application more obvious and easy to understand, the application will be further described in detail below with reference to the drawings and specific embodiments.

[0062] Embodiment 1

[0063] Figure 1 a positioning method flow diagram of a mobile robot provided in Embodiment 1 of the application. As shown in the figure, the positioning method of the mobile robot in the embodiment includes: Figure 1

[0064] Step 101: acquiring an initial radar data set of an environment where the mobile robot is located by using a laser radar; the initial radar data set includes a plurality of radar data.

[0065] Specifically, the laser radar is used to scan the environment where the mobile robot is located to obtain a push, and the initial radar data set is determined according to the image.

[0066] Step 102: segmenting the initial radar data set according to a preset segmentation rule in a Cartesian coordinate system to obtain a plurality of first data segments.

[0067] Step 103: determining a plurality of straight line segment data according to the first data segments in a Hough space; the straight line segment data is the radar data constituting a straight line segment in the second data segment.

[0068] ​Step 104: Determine the length of each straight line segment data, and determine the straight line segment whose length meets the preset length range as the to-be-screened straight line segment.

[0069] Step 105: Screen according to the preset screening rule, and obtain a plurality of to-be-fitted straight line segment groups from all to-be-screened straight line segments; each to-be-fitted straight line segment group includes two to-be-fitted straight line segments.

[0070] Step 106: Fit the straight line equations of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group according to the straight line segment data of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group.

[0071] Step 107: Calculate the included angle of the two straight line equations in each to-be-fitted straight line segment group, and determine the first relative pose of the angular reference object relative to the laser radar according to the two straight line equations corresponding to the included angle meeting the preset angle range.

[0072] Step 108: Obtain the first absolute pose of the angular reference object in the preset absolute coordinate system and the base coordinate pose of the laser radar in the preset robot coordinate system.

[0073] Step 109: Determine the second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose.

[0074] Step 110: Determine the absolute pose of the mobile robot in the preset absolute coordinate system according to the base coordinate pose and the second absolute pose.

[0075] As an optional implementation, step 102 specifically includes:

[0076] Calculate the distance between each adjacent radar data in the initial radar data set to obtain a first distance;

[0077] Determine two adjacent radar data whose first distance is greater than a preset distance value as the endpoints of two data segments, and determine the adjacent radar data whose first distance is less than the preset distance value as the middle point of the data segment, to obtain a plurality of first data segments.

[0078] As an optional implementation, step 104 specifically includes:

[0079] Convert the coordinates of the radar data in each first data segment in the Cartesian coordinate system into the coordinates in the Hough space to obtain a plurality of second data segments.

[0080] Determine the straight line segment data in all second data segments to obtain a plurality of straight line segment data.

[0081] As an optional implementation, the process of determining the straight line segment data in any current second data segment specifically includes:

[0082] Calculate the gradient of the current second data segment.

[0083] The gradient determines all line segment data in the current second data segment.

[0084] As an optional implementation method, the process of determining any set of line segments to be fitted specifically includes:

[0085] All line segments to be screened are arranged and combined to obtain multiple groups of line segments to be screened; each group of line segments to be screened includes a first line segment to be screened and a second line segment to be screened.

[0086] Calculate the calculated values ​​of the first and second line segments in each group of line segments to be filtered. The calculated values ​​include a first calculated value, a second calculated value, a third calculated value, and a fourth calculated value. The first calculated value is determined based on the first coordinate of the first line segment and the first coordinate of the second line segment. The second calculated value is determined based on the first coordinate of the first line segment and the last coordinate of the second line segment. The third calculated value is determined based on the last coordinate of the first line segment and the first coordinate of the second line segment. The fourth calculated value is determined based on the last coordinate of the first line segment and the last coordinate of the second line segment.

[0087] Based on the calculated value and the preset limit, determine whether the line segment to be screened is a group of line segments to be fitted.

[0088] As an optional implementation, step 109 specifically includes:

[0089] The second relative pose of the lidar relative to the angular reference object is determined based on the first relative pose.

[0090] The second absolute pose is determined based on the second relative pose and the first absolute pose. Specific implementation examples:

[0092] Images obtained using lidar scanning Figure 2 Taking an example, the above method will be described and explained.

[0093] 1. Data segmentation:

[0094] like Figure 3 As shown, the initial radar dataset returned by the LiDAR based on the scanned image is a continuous point cloud dataset. Let the initial radar dataset be a dataset POINTS containing n points, then the initial radar dataset can be represented as:

[0095] POINTS=((x1 y1)(x2 y2)(x3 y3)......(x n-1 y n-1 (x) ny n )) (1-1)

[0096] wherein (x1 y1) is the coordinate of the first radar data in the initial radar data set, (x2 y2) is the coordinate of the second radar data in the initial radar data set, (x3 y3) is the coordinate of the third radar data in the initial radar data set, (x n-1 y n-1 ) is the coordinate of the n-1th radar data in the initial radar data set, (x n y n ) is the coordinate of the nth radar data in the initial radar data set.

[0097] According to Figure 3 ( Figure 3 , the horizontal coordinate is the horizontal coordinate of the radar data, and the vertical coordinate is the vertical coordinate of the radar data.) It can be seen that the distance between adjacent points in the initial radar data set is not the same, and the distance between adjacent points in the initial radar data set reflected by a smooth object is uniform and compact. According to this feature, the initial radar data set can be divided into small segments (i.e. the first data segment) of different sizes, so that smaller radar data that is not continuous can be excluded in advance. The specific algorithm for segmentation is as follows:

[0098] POINTS 1_n-1 = ((x1 y1) (x2 y2) (x3 y3)... (x n-1 y n-1 )) ;

[0099] POINTS 2_n = ((x2 y2) (x3 y3)... (x n-1 y n-1 ) (x n y n )) ; (1-2)

[0100] NORM_POINTS = |POINTS 2_n - POINTS 1_n-1 |.

[0101] wherein POINTS 1_n-1 is a data set composed of the 1st radar data to the n-1th radar data in the initial radar data set, POINTS 2_nFor the data set composed of the second radar data to the n-th radar data in the initial radar data set, NORM_POINTS is the distance between each adjacent radar in the initial radar data set (POINTS), that is, the first distance. When the first distance is greater than a preset distance value, it indicates that the radar data is broken at this point. The two adjacent radar data with the first distance greater than the preset distance value are respectively taken as the endpoints of two small segments. Based on this, the initial radar data set is divided into small segments (that is, the first data segment) with different lengths.

[0102] 2. Straight line search:

[0103] A point in the Cartesian coordinate system corresponds to a curve in the Hough space, and the conversion relationship between the Cartesian coordinate system and the Hough space can be expressed by formula (2-2), where x is the horizontal coordinate of the Cartesian coordinate system, y is the vertical coordinate of the Cartesian coordinate system, θ is the horizontal coordinate of the Hough space, and ρ is the vertical coordinate of the Hough space. The value of θ is 0-180°, and the step size is usually 1°. Assuming that there are many points in the Cartesian coordinate system, there are many curves in the Hough space. If a part of these curves intersect at the same point, it indicates that the points corresponding to the intersecting curves in the Cartesian coordinate system are on the same straight line. In this way, the straight line detection problem in the Cartesian coordinate system is converted into the intersection point problem of curves in the Hough space. The more the intersection points, the more the points forming the same straight line in the Cartesian coordinate system. Let the radar data in the Cartesian coordinate system be represented as:

[0104] P = (x y) (2-1)

[0105] In the Hough space, it can be represented as:

[0106] ρ = x cos θ + y sin θ (2-2)

[0107] Set the step size to 1°, traverse the value of θ from 0-180°, and simultaneously substitute the value of (x, y). The corresponding ρ is obtained. Find the number of degrees in 0-180° with the most same ρ values. This indicates that in a function composed of ρ and θ, the number of points that meet the condition is the most. The specific calculation process is as follows:

[0108]

[0109] Where part is the radar point cloud data after segmentation (that is, the first data segment) converted into a data set in the Hough space (that is, the second data segment), and it is assumed that the number of data in the second data segment is w; part 1_w-1 is a data set composed of the first data to the w-1th data in the second data segment in the Hough space, and part 2_wThe grad is the gradient of the second data segment in the Hough space. When θ in formula (2-3) changes from 0 to 180°, after θ equals to a certain value, a part of continuous data in the grad data set falls to the vicinity of 0, as shown in FIG. 2-3, and the data before and after the data are both in the vicinity of 0, which indicates that the data in the part of the radar point cloud data is a continuous straight line, and the corresponding radar data curve is as shown in FIG. 2-4. Figure 4 Figure 5 Figure 4 The horizontal coordinate is the serial number of the gradient value, and the vertical coordinate is the gradient value. Figure 5 The horizontal coordinate is the horizontal coordinate of the radar data, and the vertical coordinate is the vertical coordinate of the radar data.

[0110] Through the above calculation steps, the straight line segment in the radar point cloud data (the second data segment) can be extracted. Figure 5 Figure 3 is a small part of Figure 3 Figure 5 This is only an example, that is, when θ is traversed, a straight line in Figure 5 is found at a certain value, and all the straight lines in Figure 3 can be found by using this method.

[0111] 3. Straight line screening:

[0112] The straight line segment extracted by the last step may be one or more, and they are a series of point cloud sets with different lengths in data form. Assuming that a straight line segment in the straight line segments is line, the straight line segment data is composed of m points, and the straight line segment data (that is, the straight line segment data in step 103) can be expressed as:

[0113] line = ((px1 py1) (px2 py2) (px3 py3) …… (px m-1 py m-1 ) (px m py m )) (3-1)

[0114] line is the straight line segment data, (px1 py1) is the coordinate of the first data in the straight line segment data, (px2 py2) is the coordinate of the second data in the straight line segment data, (px3 py3) is the coordinate of the third data in the straight line segment data, (px m-1 py m-1 ) is the coordinate of the m-1th data in the straight line segment data, and (px m py m ) is the coordinate of the mth data in the straight line segment data.​​​​

[0115] The length of the straight line segment composed of the straight line segment data can be roughly calculated as:

[0116] L = | (px m py m ) - (px1 py1) | (3-2)

[0117] wherein, L is the length of the straight line segment.

[0118] It is determined whether the length of each straight line segment is in the preset length range to screen whether the straight line is calculated in the next step. It is assumed that the upper and lower limits of the preset length range are L min and L max (upper and lower limits are set artificially according to actual conditions, and are set according to the actual length of the two sides of the angle reference object).

[0119] L min <L<L max (3-3)

[0120] The straight line segment with a suitable length is screened through the comparison process of formula (3-3), and the straight line segment to be screened is obtained for the calculation of the next step.

[0121] 4. Angle calculation and angle screening:

[0122] All straight line segments with a suitable length are screened in the previous step, and the next step is to find straight line segments with a closer distance. The first, second, third and fourth operation values are obtained by respectively subtracting and taking the modulus operation of the first and last coordinate points of each straight line segment with a suitable length and the first and last coordinate points of all other straight line segments with a suitable length. If any one of the first, second, third and fourth operation values is less than a preset limit (the preset limit has a certain relationship with the accuracy of the laser radar, and it is found through many experiments that the preset limit of 0.03 m is more appropriate), it means that the two straight line segments are adjacent.

[0123] If the two straight line segments are adjacent, the straight line equations of the two straight line segments (i.e., and ) are fitted respectively. The general form of the straight line equation is: y = kx + b, k is the slope of the straight line, and b is the bias. The values of k and b can be obtained through (4-1).

[0124]

[0125] wherein, k is the slope of the straight line segment, b is the bias, q is the total number of straight line segment data in the straight line segment, x i is the horizontal coordinate of the i-th straight line segment data in the straight line segment, and y i is the vertical coordinate of the i-th straight line segment data in the straight line segment. is the average of all the horizontal coordinates of the line segment data, is the average of all the vertical coordinates of the line segment data.

[0126] Assuming two straight line equations are found:

[0127]

[0128] where k1 is the slope of the first line, b1 is the offset of the first line, k2 is the slope of the second line, and b2 is the offset of the second line.

[0129] Further, the intersection of the two line segments is:

[0130]

[0131] where p j is the intersection of the two line segment fitting lines, x j is the horizontal coordinate of the intersection, and y j is the vertical coordinate of the intersection. The intersection is the corner point of the angle reference object. The angle and direction vector of the two lines when the corner point coordinates are used as the base coordinate pose (0, 0) can be found by the following formula.

[0132]

[0133] where (x d1 y d1 ) is the unit vector in the direction of the first line with the corner point coordinates as the base coordinate pose, (x d2 y d2 ) is the unit vector in the direction of the second line with the corner point coordinates as the base coordinate pose, (x f y f ) is the direction of the angle formed by the two line segments, and λ is the angle formed by the two line segments.

[0134] Determine whether the angle is an angle reference object by judging whether λ is within the range. Assuming the angle range of the angle reference object is λ min ~ λ max When λ satisfies λ min < λ < λ max , it is determined that the two line segments are the angle reference object.

[0135] 5. Relative position calculation:

[0136] After finding the angle reference object and calculating its orientation (as shown in FIG. 6, Figure 6 Figure 6 ​The position and direction of the middle arrow are the position and opening direction of the found angular reference object. After that, the calculation of the relative position of the angular reference object and the robot base coordinates is performed. The pose in the mobile robot coordinate system contains a two-dimensional coordinate and a yaw angle. The pose of the angular reference object relative to the laser radar can be obtained by calculating the radar data. The position is the angular point (x j y j ) obtained in the previous step, and the angle direction is (x f y f ) obtained in the previous step. Let the pose of the angular reference object relative to the laser radar be:

[0137] position ctl =((x j y j ) α) (5-1)

[0138] wherein position ctl is the pose of the angular reference object relative to the laser radar, and α is the angle of the angular reference object relative to the laser radar.

[0139] α=arctan(y f / x f ) (5-2)

[0140] Then the pose of the radar relative to the angular reference object is:

[0141] position ltc =((x l y l ) β)

[0142]

[0143] β=-α

[0144] wherein (x l y l ) is the position of the laser radar relative to the angular reference object, and β is the angle of the laser radar relative to the angular reference object.

[0145] 6. Absolute position calculation:

[0146] The absolute pose of the angular reference object (i.e., the first absolute pose of the angular reference object in the preset absolute coordinate system) is known. It is assumed that the absolute pose of the angular reference object is:

[0147] position cjd =((x cjd y cjd ) γ) (6-1)

[0148] wherein (x cjd ycjd ) is the absolute position of the angular reference object, and γ is the absolute angle of the angular reference object.

[0149] Suppose the absolute pose of the laser radar is: Formula (6-2) is position ljd The formula for calculating each parameter in the middle.

[0150]

[0151] where (x ljd y ljd ) is the absolute position of the laser radar, γ is the absolute angle of the laser radar, and (x lj y lj ) is the deviation of the absolute position of the angular reference object from the absolute position of the laser radar.

[0152] 7. Pose compensation:

[0153] The principle of pose compensation is to convert the calculated absolute pose of the laser radar to the base coordinates of the robot (a mobile robot is an object, and a base point is set on the robot, so that the coordinates of other positions of the mobile robot can be described. This coordinate system is called the robot coordinate system (i.e. the preset robot coordinate system), and the base point is the base coordinate pose of the robot coordinate system). Assuming that the base coordinate pose of the laser radar in the preset robot coordinate system is ((x d y d )η), then the absolute pose of the mobile robot in the preset absolute coordinate system is:

[0154]

[0155] The absolute pose of the mobile robot is calculated through the above steps.

[0156] Embodiment 2

[0157] Figure 7 The structure diagram of the positioning system of the mobile robot provided in Embodiment 2 of the present application is shown in FIG. 2. As shown in FIG. 2, the positioning system of the mobile robot in the present embodiment comprises: Figure 7

[0158] An initial radar data set acquisition module 201 is configured to acquire an initial radar data set of an environment where the mobile robot is located by using a laser radar. The initial radar data set comprises a plurality of radar data.

[0159] A first data segment determination module 202 is configured to segment the initial radar data set according to a preset segmentation rule in a Cartesian coordinate system to obtain a plurality of first data segments.

[0160] ​The straight line segment data determination module 203 is configured to determine a plurality of straight line segment data according to the first data segment in the Hough space; and the straight line segment data is radar data constituting a straight line segment in the second data segment.

[0161] The to-be-screened straight line segment determination module 204 is configured to determine the length of the straight line segment constituted by each straight line segment data, and determine a straight line segment with a length meeting a preset length range as a to-be-screened straight line segment.

[0162] The to-be-fitted straight line segment group determination module 205 is configured to screen a plurality of to-be-fitted straight line segment groups from all to-be-screened straight line segments according to a preset screening rule; and each to-be-fitted straight line segment group includes two to-be-fitted straight line segments.

[0163] The straight line equation determination module 206 is configured to fit the straight line equations of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group according to the straight line segment data of the two to-be-fitted straight line segments.

[0164] The first relative pose determination module 207 is configured to calculate the included angle of the two straight line equations in each to-be-fitted straight line segment group, and determine the first relative pose of the angular reference object relative to the laser radar according to the two straight line equations corresponding to the included angle meeting a preset angle range.

[0165] The absolute pose and base coordinate pose acquisition module 208 is configured to acquire the first absolute pose of the angular reference object in a preset absolute coordinate system and the base coordinate pose of the laser radar in a preset robot coordinate system.

[0166] The second absolute pose determination module 209 is configured to determine the second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose.

[0167] The positioning module 210 is configured to determine the absolute pose of the mobile robot in the preset absolute coordinate system according to the base coordinate pose and the second absolute pose.

[0168] Embodiment 3

[0169] An electronic device includes:

[0170] One or more processors.

[0171] A memory device having one or more programs stored thereon.

[0172] When the one or more programs are executed by the one or more processors, the one or more processors implement the positioning method of the mobile robot as in embodiment 1.

[0173] Embodiment 4

[0174] A storage medium having stored thereon a computer program, wherein the computer program, when executed by a processor, implements the positioning method of the mobile robot in embodiment 1.

[0175] The various embodiments are described in the specification with progressive progression, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be mutually referred to. For the system disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part.

[0176] The principles and implementation manners of the present application are described by using specific examples in the specification. The above embodiment description is only used to help understand the method of the present application and its core idea. Meanwhile, for those skilled in the art, the specific implementation manners and application ranges can be changed according to the idea of the present application. In summary, the content of the specification should not be understood as a limitation of the present application.

Claims

1. A positioning method of a mobile robot, characterized by, The method comprises: acquiring an initial radar data set of an environment where a mobile robot is located by using a laser radar; the initial radar data set comprises a plurality of radar data; segmenting the initial radar data set according to a preset segmentation rule in a Cartesian coordinate system to obtain a plurality of first data segments; determining a plurality of straight line segment data from the first data segments in a Hough space; the straight line segment data are radar data constituting straight line segments in second data segments; determining the length of a straight line segment constituted by each of the straight line segment data, and determining a straight line segment whose length meets a preset length range as a to-be-screened straight line segment; screening a plurality of to-be-fitted straight line segment groups from all the to-be-screened straight line segments according to a preset screening rule; each to-be-fitted straight line segment group comprises two to-be-fitted straight line segments; fitting straight line equations of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group according to the straight line segment data of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group; calculating the included angle of the two straight line equations in each to-be-fitted straight line segment group, and determining the first relative pose of an angular reference object relative to the laser radar according to the two straight line equations corresponding to the included angle meeting a preset angle range; acquiring a first absolute pose of the angular reference object in a preset absolute coordinate system and a base coordinate pose of the laser radar in a preset robot coordinate system; determining the second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose; determining the absolute pose of the mobile robot in the preset absolute coordinate system according to the base coordinate pose and the second absolute pose; segmenting the initial radar data set according to a preset segmentation rule in a Cartesian coordinate system to obtain a plurality of first data segments, specifically comprising: calculating the distance between each adjacent radar data in the initial radar data set to obtain a first distance; determining two adjacent radar data whose first distance is greater than a preset distance value as the endpoints of two data segments, and determining adjacent radar data whose first distance is less than the preset distance value as the middle point of a data segment to obtain a plurality of first data segments; the process of determining any to-be-fitted straight line segment group specifically comprises: arranging and combining all to-be-screened straight line segments to obtain a plurality of to-be-screened straight line segment groups; each to-be-screened straight line segment group comprises a first to-be-screened straight line segment and a second to-be-screened straight line segment; calculating the operation value of the first to-be-screened straight line segment and the second to-be-screened straight line segment in each to-be-screened straight line segment group; the operation value comprises a first operation value, a second operation value, a third operation value and a fourth operation value; the first operation value is determined according to the first coordinate of the first to-be-screened straight line segment and the first coordinate of the second to-be-screened straight line segment, the second operation value is determined according to the first coordinate of the first to-be-screened straight line segment and the tail coordinate of the second to-be-screened straight line segment, the third operation value is determined according to the tail coordinate of the first to-be-screened straight line segment and the first coordinate of the second to-be-screened straight line segment, and the fourth operation value is determined according to the tail coordinate of the first to-be-screened straight line segment and the tail coordinate of the second to-be-screened straight line segment; determining whether the to-be-screened straight line segment is a to-be-fitted straight line segment group according to the operation value and a preset limit; According to the first relative pose and the first absolute pose, a second absolute pose of the laser radar in the preset absolute coordinate system is determined, specifically comprising: According to the first relative pose, a second relative pose of the laser radar relative to the angular reference object is determined; According to the second relative pose and the first absolute pose, the second absolute pose is determined.

2. The positioning method of a mobile robot according to claim 1, wherein In the Hough space, according to the first data segment, a plurality of straight line segment data are determined; the straight line segment data are the radar data constituting the straight line segment in the second data segment, specifically comprising: The coordinates of the radar data in each first data segment in the Cartesian coordinate system are converted into the coordinates in the Hough space to obtain a plurality of second data segments; The straight line segment data in all the second data segments are determined to obtain a plurality of straight line segment data.

3. The positioning method of a mobile robot according to claim 1, wherein The process of determining the straight line segment data in any current second data segment comprises: The gradient of the current second data segment is calculated; According to the gradient, all the straight line segment data in the current second data segment are determined.

4. A positioning system for a mobile robot, characterized by The system comprises: An initial radar data set acquisition module is configured to acquire an initial radar data set of an environment where a mobile robot is located by using a laser radar; the initial radar data set comprises a plurality of radar data; A first data segment determination module is configured to segment the initial radar data set according to a preset segmentation rule in a Cartesian coordinate system to obtain a plurality of first data segments; A straight line segment data determination module is configured to determine a plurality of straight line segment data in a Hough space according to the first data segment; the straight line segment data are the radar data constituting the straight line segment in the second data segment; A to-be-screened straight line segment determination module is configured to determine the length of the straight line segment constituted by each straight line segment data, and determine the straight line segment with a length meeting a preset length range as a to-be-screened straight line segment; A to-be-fitted straight line segment group determination module is configured to screen a plurality of to-be-fitted straight line segment groups from all the to-be-screened straight line segments according to a preset screening rule; each to-be-fitted straight line segment group comprises two to-be-fitted straight line segments; A straight line equation determination module is configured to fit the straight line equations of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group according to the straight line segment data of the two to-be-fitted straight line segments in the to-be-fitted straight line segment group; A first relative pose determination module is configured to calculate the included angle of two straight line equations in each to-be-fitted straight line segment group, and determine the first relative pose of an angular reference object relative to the laser radar according to the two straight line equations corresponding to the included angle meeting a preset angle range; An absolute pose and base coordinate pose acquisition module is configured to acquire the first absolute pose of the angular reference object in a preset absolute coordinate system and the base coordinate pose of the laser radar in a preset robot coordinate system; A second absolute pose determination module is configured to determine the second absolute pose of the laser radar in the preset absolute coordinate system according to the first relative pose and the first absolute pose; A positioning module is configured to determine the absolute pose of the mobile robot in the preset absolute coordinate system according to the base coordinate pose and the second absolute pose. In a Cartesian coordinate system, the initial radar data set is segmented according to a preset segmentation rule to obtain a plurality of first data segments, specifically including: The distance between each adjacent radar data in the initial radar data set is calculated to obtain a first distance; Two adjacent radar data with a first distance greater than a preset distance value are determined as the endpoints of two data segments, respectively, and adjacent radar data with a first distance less than the preset distance value are determined as the intermediate points of the data segments to obtain a plurality of first data segments; The process of determining any one of the to-be-fitted straight line segment groups specifically includes: All to-be-screened straight line segments are arranged and combined to obtain a plurality of to-be-screened straight line segment groups; each to-be-screened straight line segment group includes a first to-be-screened straight line segment and a second to-be-screened straight line segment; The operation value of the first to-be-screened straight line segment and the second to-be-screened straight line segment in each to-be-screened straight line segment group is calculated; the operation value includes a first operation value, a second operation value, a third operation value, and a fourth operation value; the first operation value is determined according to the first coordinate of the first to-be-screened straight line segment and the first coordinate of the second to-be-screened straight line segment, the second operation value is determined according to the first coordinate of the first to-be-screened straight line segment and the tail coordinate of the second to-be-screened straight line segment, the third operation value is determined according to the tail coordinate of the first to-be-screened straight line segment and the first coordinate of the second to-be-screened straight line segment, and the fourth operation value is determined according to the tail coordinate of the first to-be-screened straight line segment and the tail coordinate of the second to-be-screened straight line segment; According to the operation value and a preset limit, it is judged whether the to-be-screened straight line segment is a to-be-fitted straight line segment group; According to the first relative pose and the first absolute pose, a second absolute pose of the lidar in the preset absolute coordinate system is determined, specifically including: According to the first relative pose, a second relative pose of the lidar relative to the angle-shaped reference object is determined; According to the second relative pose and the first absolute pose, the second absolute pose is determined.

5. An electronic device, comprising: comprise: one or more processors; a storage device having one or more programs stored thereon; when the one or more programs are executed by the one or more processors, the one or more processors implement the positioning method of the mobile robot as claimed in any one of claims 1 to 3.

6. A storage medium, characterized by a computer program is stored thereon, wherein the computer program is executed by a processor to implement the positioning method of the mobile robot as claimed in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Method and device for recharging charging pile by robot, robot and charging pile

    CN113189982A