A high-precision automatic docking method for autonomous mobile robots

Through lidar point cloud matching and path planning algorithms, combined with posture correction technology, the problem of inaccurate docking of autonomous mobile robots is solved, high-precision and high-repeatability docking is achieved, and it can adapt to various environments.

CN115755916BActive Publication Date: 2025-09-30SHANGHAI YIKUN ELECTRICAL ENG CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211505425.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-28
Publication Date
2025-09-30
Estimated Expiration
2042-11-28

AI Technical Summary

Technical Problem

Existing autonomous mobile robots have deficiencies in docking accuracy and repeatability, especially the laser guidance system is easily affected by the environment and the internal odometer has large accumulated errors, resulting in inaccurate docking.

Method used

A laser radar-based point cloud matching algorithm is used to calculate the pose transformation. Combined with the path planning algorithm and posture correction technology, the robot's motion trajectory is accurately calculated through the singular value decomposition of the center of mass and covariance matrix, and the preview distance and curvature are used to control the robot's docking.

Benefits of technology

It achieves high-precision docking at the millimeter level, has strong environmental adaptability, does not require additional positioning auxiliary markers and sensors, and has high repeatability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115755916B_ABST
    Figure CN115755916B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of automatic robot docking, and specifically to a high-precision automatic docking method for an autonomous mobile robot, comprising determining a target docking point for the autonomous mobile robot, extracting and registering a key frame of the target docking point; the key frame comprising the coordinates of the target docking point and a current laser radar data frame; when the autonomous mobile robot moves near the target docking point, obtaining the current laser radar data frame, and matching the laser radar data frame with the key frame; calculating the posture transformation between the docking point and the current position of the autonomous mobile robot; using a path planning algorithm to plan a motion trajectory of the autonomous mobile robot to the docking point; the autonomous mobile robot docks according to the motion trajectory planned by the path planning algorithm; and when the distance between the autonomous mobile robot and the docking point is greater than a set threshold, the autonomous mobile robot adjusts until the distance to the docking point is less than the set threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of automatic docking of robots, in particular to a high-precision automatic docking method for an autonomous mobile robot. Background Art

[0002] With the development of autonomous mobile robots in various fields, including industrial automation, logistics, intelligent manufacturing, services, healthcare, firefighting, and cleaning, they are gradually being accepted and widely used due to their high degree of intelligence and autonomy. Currently, mainstream autonomous mobile robots (AMRs) and autonomous navigation robots mostly use lidar for guidance, combined with autonomous positioning algorithms, to provide real-time positioning for the AMRs, with positioning accuracy typically controlled to around 10cm. Consequently, the AMRs' automatic docking accuracy, influenced by positioning accuracy and motion control errors, is typically maintained at the ten-centimeter level. Furthermore, the AMRs' positioning algorithms are highly susceptible to environmental influences, and the internal odometry is prone to accumulated errors, resulting in unsatisfactory docking accuracy and repeatability in actual use. Summary of the Invention

[0003] The object of the present invention is to provide a high-precision automatic docking method for an autonomous mobile robot to solve the problems raised in the above background technology.

[0004] In order to solve the above technical problems, the present invention provides the following technical solutions: a high-precision automatic docking method for an autonomous mobile robot, the autonomous docking method comprising:

[0005] Step S100: Determine the target stop point of the autonomous mobile robot, obtain the position coordinates corresponding to the target stop point and the corresponding laser radar current frame point cloud data, combine the target stop point position coordinates and the laser radar current frame point cloud data into a key frame, insert the key frame into the database, and register it; the autonomous mobile robot is an autonomous mobile robot guided by laser radar;

[0006] Step S200: When the autonomous mobile robot moves within the distance threshold of the target stop point, the laser radar data frame currently corresponding to the autonomous mobile robot is obtained, the key frame is loaded, and the laser radar data frame currently corresponding to the autonomous mobile robot is matched with the key frame;

[0007] Step S300: Calculating the pose transformation between the target stop point and the current position of the autonomous mobile robot;

[0008] Step S400: using a path planning algorithm to plan a motion trajectory of the autonomous mobile robot to a target stop point;

[0009] Step S500: the autonomous mobile robot docks based on the motion trajectory;

[0010] Step S600: When the distance between the autonomous mobile robot and the target stop point is greater than a set threshold, the current position transformation relationship, forward angle error, and backward angle error between the target stop point and the autonomous mobile robot are calculated;

[0011] Step S700: According to the calculation result obtained in step S600, the position of the autonomous mobile robot is adjusted until the distance between the autonomous mobile robot and the target stop point is less than a set threshold.

[0012] Furthermore, step S100 includes:

[0013] Step S101: Select the target stop point of the autonomous mobile robot and obtain the position coordinates p of the target stop point of the autonomous mobile robot:

[0014] p = {x, y, θ};

[0015] Where x is the X-axis coordinate of the autonomous mobile robot in the environment map, y is the Y-axis coordinate of the autonomous mobile robot in the environment map, and θ is the angle between the autonomous mobile robot and the origin of the environment map based on the X-axis;

[0016] Step S102: Obtain the laser radar point cloud data corresponding to the target stop point of the autonomous mobile robot, and combine the laser radar point cloud data and the position coordinates of the target stop point into a key frame. The key frame is KeyFrame=(p,Q k ), where Q k ={q1,q2,q3,…,q n} is the point cloud data of the key frame; where q i ∈Q k ;q i ={x i ,y i ,z i}; where they represent the coordinates of the i-th point cloud data point relative to the center of the lidar on the x, y, and z axes respectively;

[0017] Step S103: Set the key frame KeyFrame = (p, Q k )Insert into the database and register.

[0018] Furthermore, step S200 includes:

[0019] Step S201: When the autonomous mobile robot is in the process of docking at a target docking point and the autonomous mobile robot moves within a distance threshold of the target docking point, the docking point information is loaded;

[0020] Step S202: Obtain the autonomous mobile robot laser radar point cloud data H = {h1,h,h3,…,h m}, while loading the key frame of the target docking point KeyFrame = (p, Q k ), align the point cloud data H of the lidar with Q in the key frame KeyFrame k for length alignment; the length alignment is that when m < n, insert n - m compensation points into P, and the coordinates of the newly added compensation points are {0, 0, 0}; when m ≥ n, insert m - n compensation points into Q k ; the coordinates of the newly added compensation points are {0, 0, 0}; obtain H = {h1, h, h3, …, h n}.

[0021] Furthermore, step S300 includes:

[0022] Step S301: Calculate the centroid and centroid - removed coordinates of H and Q k :

[0023]

[0024]

[0025] Among them, is the centroid coordinate of the lidar point cloud data H; is the centroid coordinate of the point cloud data Q of the key frame k ; x i is the centroid - removed coordinate of the lidar point cloud data H; y i is the centroid - removed coordinate of the point cloud data Q of the key frame k ; h i is the i - th point in the point cloud data P; q i is the i - th point in the point cloud data Q k ; w i is the weight of the i - th point;

[0026] Step S302: Define the covariance matrix<00,00265>Among them is the transpose of the i - th centroid - removed coordinate of Q k , and x i is the i - th centroid - removed coordinate of H;

[0027] Step S303: Perform singular value decomposition on the covariance matrix, and calculate the pose transformation (R, t) of the docking point and the autonomous mobile robot M = UΣV T :

[0028]

[0029] Among them, R is the rotation matrix; t is the translation vector; is the centroid - removed coordinate of the point cloud data Q of the key frame k ; is the centroid coordinate of the laser radar point cloud data H; U and V are both unit orthogonal matrices obtained after the singular value decomposition of S, V T is the transpose of V, U T is the transpose of U; σ1, σ2, and σ3 are the singular values ​​obtained after the singular value decomposition of S.

[0030] Furthermore, step S400 includes:

[0031] Step S401: Using the current position of the autonomous mobile robot as the starting point S, the coordinates E of the stopping point are obtained according to the posture transformation (R, t) in step S303 above;

[0032] Step S402: Select control points M and N based on the preset distance offset parameters combined with S and E;

[0033] Step S403: Calculate the coordinates D(c) of the autonomous mobile robot's route:

[0034] D(c)=S·(1-c) 3 +M·3(1-c) 2 t+N·3(1-c)c 2 +E·c 3 ,c∈[0,1];

[0035] Where S is the starting point of the autonomous mobile robot; E is the coordinate of the target stop point of the autonomous mobile robot; M is the control point selected based on the preset distance offset parameter combined with S; N is the control point selected based on the preset distance offset parameter combined with E; c is the scale;

[0036] The above steps select control points M and N based on the current starting point S and the stop point coordinates E of the autonomous mobile robot, calculate the stop route of the autonomous mobile robot, and the autonomous mobile robot moves according to the calculated stop route to reach the stop point.

[0037] Furthermore, step S500 includes:

[0038] Step S501: Based on the route of the autonomous mobile robot, a lookahead distance is selected; the lookahead distance is the distance between the autonomous mobile robot and the sub-target point; the sub-target point is a temporary stop point for the autonomous mobile robot to move to the target stop point; the lookahead point for path tracking is selected based on the lookahead distance and the route of the autonomous mobile robot, and the relative position transformation relationship between the lookahead point and the autonomous mobile robot is obtained. g ,y g ,θ g};

[0039] Step S502: Consider the autonomous mobile robot's route as an arc and calculate the arc curvature k:

[0040]

[0041] Among them, x g is the relative position of the preview point and the current position of the autonomous mobile robot on the x-axis; y g is the relative position of the preview point and the current position of the autonomous mobile robot on the y-axis;

[0042] Step S503: Calculate the control variable {v, ω} of the autonomous mobile robot based on the curvature:

[0043] v = h(k);

[0044] ω=kv;

[0045] Where v is the linear velocity of the autonomous mobile robot; ω is the angular velocity of the autonomous mobile robot; and h(k) is a function of the curvature k.

[0046] Furthermore, step S600 includes:

[0047] Step S601: When the distance between the autonomous mobile robot and the target stop point is less than a preset threshold ∈ l , obtain the relative position transformation relationship T between the target stop point and the current position of the autonomous mobile robot e ={x ge ,y ge ,θ ge};

[0048] Step S602: Set the target stop point translation error L l and angular error L A ;

[0049] Step S603: When x ge <L l And y ge <L l Directly execute the following step S702; immediately ge ≥L l or y ge ≥L l , calculate the forward angle error L f :

[0050]

[0051] Among them, x ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the x-axis; y ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the y-axis; θge Transform the angle between the target stop point and the current position of the autonomous mobile robot;

[0052] Calculate the backward angle error L B :

[0053]

[0054] Among them, x ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the x-axis; y ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the y-axis; θ ge Transform the angle between the target stop point and the current position of the autonomous mobile robot.

[0055] Furthermore, step S700 includes:

[0056] Step S701: When |L f |<|L B |, the optimal angle error is L O =L f , the angular velocity of the autonomous mobile robot is ω= It's about L O A linear function of f |>|L B |When the optimal angle error L O =L B , the angular velocity of the autonomous mobile robot is

[0057] Step S702: When x ge <L l And y ge <L l And θ ge >L A , then set the linear velocity to 0 and only adjust the angle; when x ge <L l And y ge <L l And θ ge <L A Exit posture correction directly; when x ge With L l and y ge With L l and θ ge With L A Does not satisfy x ge <L l And y ge <L l And θ ge >L A or xge <L l And y ge <L l And θ ge <L A When the error occurs, return to step S601 and start the posture correction again;

[0058] The above steps set a threshold between the autonomous mobile robot and the target docking point. When the distance between the autonomous mobile robot and the target docking point is greater than the set threshold, the posture fine-tuning algorithm is activated for correction, which solves the problem of inaccurate docking of the autonomous mobile robot during the docking process.

[0059] Compared with existing technologies, the present invention achieves the following advantages: It provides a high-precision automatic docking technology for autonomous mobile robots (AMRs) guided by lidar. This technology uses a point cloud matching algorithm to calculate relative pose transformations and a planning algorithm to plan the AMR's trajectory. The AMR tracks the trajectory and ultimately reaches the docking point. This automatic docking technology achieves millimeter-level AMR docking accuracy, eliminating the need for additional positioning markers or auxiliary positioning sensors. It is more adaptable to environmental conditions and exhibits extremely high repeatability. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:

[0061] Figure 1 It is a flow chart of a high-precision automatic docking method for an autonomous mobile robot;

[0062] Figure 2 It is a workflow diagram of a high-precision automatic docking method for an autonomous mobile robot;

[0063] Figure 3 The present invention is a high-precision automatic docking method for an autonomous mobile robot, which is a schematic diagram of the docking process of an autonomous mobile robot tracking a trajectory to a target docking point according to a trajectory tracking algorithm. DETAILED DESCRIPTION

[0064] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0065] See also Figure 1-Figure 3The present invention provides a technical solution, a high-precision automatic docking method for an autonomous mobile robot, the automatic docking method comprising:

[0066] Step S100: Determine the target stop point of the autonomous mobile robot, obtain the corresponding position coordinates of the target stop point and the corresponding laser radar current frame point cloud data, combine the target stop point position coordinates and the laser radar current frame point cloud data into a key frame, insert the key frame into the database, and register it; the autonomous mobile robot is an autonomous mobile robot (AMR) guided by laser radar;

[0067] Step S200: When the autonomous mobile robot moves within the distance threshold of the target stop point, the laser radar data frame currently corresponding to the autonomous mobile robot is obtained, the key frame is loaded, and the laser radar data frame currently corresponding to the autonomous mobile robot is matched with the key frame;

[0068] Step S300: Calculating the pose transformation between the target stop point and the current position of the autonomous mobile robot;

[0069] Step S400: using a path planning algorithm to plan a motion trajectory of the autonomous mobile robot to a target stop point;

[0070] Step S500: the autonomous mobile robot docks based on the motion trajectory;

[0071] Step S600: When the distance between the autonomous mobile robot and the target stop point is greater than a set threshold, the current position transformation relationship, forward angle error, and backward angle error between the target stop point and the autonomous mobile robot are calculated;

[0072] Step S700: adjusting the position of the autonomous mobile robot according to the calculation result obtained in step S600 until the distance between the autonomous mobile robot and the target stop point is less than a set threshold;

[0073] Wherein, step S100 includes:

[0074] Step S101: Select the target stop point of the autonomous mobile robot and obtain the position coordinates p of the target stop point of the autonomous mobile robot:

[0075] p = {x, y, θ};

[0076] Where x is the X-axis coordinate of the autonomous mobile robot in the environment map, y is the Y-axis coordinate of the autonomous mobile robot in the environment map, and θ is the angle between the autonomous mobile robot and the origin of the environment map based on the X-axis;

[0077] Step S102: Obtain the lidar point cloud data corresponding to the autonomous mobile robot at the target docking point, and combine the lidar point cloud data and the position coordinates of the target docking point into a key frame. The key frame is KeyFrame = (p, Q k ), where Q k = {q1, q2, q3, …, q n} is the point cloud data of the key frame; where q i ∈ Q k ; q i = {x i , y i , z i}; where respectively represent the coordinates of the i-th point cloud data point relative to the lidar center on the x, y, and z axes;

[0078] Step S103: Insert the key frame KeyFrame = (p, Q k ) into the database for registration;

[0079] Among them, step S200 includes:

[0080] Step S201: During the process of the autonomous mobile robot docking towards the target docking point, when the autonomous mobile robot moves within the distance threshold of the target docking point, load the docking point information;

[0081] Step S202: Obtain the lidar point cloud data H = {h1, h, h3, …, h m} of the autonomous mobile robot, and at the same time load the key frame KeyFrame = (p, Q k ) of the target docking point. Align the length of the point cloud data H of the lidar with Q k in the key frame. The length alignment is that when m < n, insert n - m compensation points into P, and the coordinates of the newly added compensation points are {0, 0, 0}; when m ≥ n, insert m - n compensation points into Q k ; the coordinates of the newly added compensation points are {0, 0, 0}; obtain H = {h1, h, h3, …, h n};

[0082] Among them, step S300 includes:

[0083] Step S301: Calculate the centroid and the centroid-removed coordinates of H and Q k :

[0084] ]>

[0085]

[0086] Among them, is the centroid coordinate of the lidar point cloud data H; Point cloud data Q of the key frame k The coordinates of the center of mass; x i is the centroid coordinate of the laser radar point cloud data H; i Point cloud data Q of the key frame k The centroid coordinates of h i is the i-th point in the point cloud data P; q i Point cloud data Q k The i-th point in w i is the weight of the i-th point;

[0087] Step S302: Define the covariance matrix in Q k The transpose of the i-th centroid coordinate, x i is the i-th centroid coordinate of H;

[0088] Step S303: Perform singular value decomposition on the covariance matrix to calculate the position transformation (R, t)M=UΣV between the stop point and the autonomous mobile robot T :

[0089]

[0090] Where R is the rotation matrix; t is the translation vector; Point cloud data Q of the key frame k The centroid coordinates of is the centroid coordinate of the laser radar point cloud data H; U and V are both unit orthogonal matrices obtained after the singular value decomposition of S, V T is the transpose of V, U T is the transpose of U; σ1, σ2 and σ3 are the singular values ​​obtained after the singular value decomposition of S;

[0091] Wherein, step S400 includes:

[0092] Step S401: Using the current position of the autonomous mobile robot as the starting point S, the coordinates E of the stopping point are obtained according to the posture transformation (R, t) in step S303 above;

[0093] Step S402: Select control points M and N based on the preset distance offset parameters combined with S and E;

[0094] Step S403: Calculate the coordinates D(c) of the autonomous mobile robot's route:

[0095] D(c)=S·(1-c) 3 +M·3(1-c) 2 t+N·3(1-c)c 2 +E·c3 ,c∈[0,1];

[0096] Where S is the starting point of the autonomous mobile robot; E is the coordinate of the target stop point of the autonomous mobile robot; M is the control point selected based on the preset distance offset parameter combined with S; N is the control point selected based on the preset distance offset parameter combined with E; c is the scale;

[0097] Wherein, step S500 includes:

[0098] Step S501: Based on the route of the autonomous mobile robot, a lookahead distance is selected; the lookahead distance is the distance between the autonomous mobile robot and the sub-target point; the sub-target point is a temporary stop point for the autonomous mobile robot to move to the target stop point; the lookahead point for path tracking is selected based on the lookahead distance and the route of the autonomous mobile robot, and the relative position transformation relationship between the lookahead point and the autonomous mobile robot is obtained. g ,y g ,θ g};

[0099] Step S502: Consider the autonomous mobile robot's route as an arc and calculate the arc curvature k:

[0100]

[0101] Among them, x g is the relative position of the preview point and the current position of the autonomous mobile robot on the x-axis; y g is the relative position of the preview point and the current position of the autonomous mobile robot on the y-axis; for example, y g is 1, x g 1, calculate the arc curvature

[0102] Step S503: Calculate the control variable {v, ω} of the autonomous mobile robot based on the curvature:

[0103] v = h(k);

[0104] ω=kv;

[0105] Where v is the linear velocity of the autonomous mobile robot; ω is the angular velocity of the autonomous mobile robot; h(k) is a function of the curvature k;

[0106] Step S600 includes:

[0107] Step S601: When the distance between the autonomous mobile robot and the target stop point is less than a preset threshold ∈ l , obtain the relative position transformation relationship T between the target stop point and the current position of the autonomous mobile robote ={x ge ,y ge ,θ ge};

[0108] Step S602: Set the target stop point translation error L l and angular error L A ; Define L l ∈(0.001,0.01),L A ∈(0.001,0.05);

[0109] Step S603: When x ge <L l And y ge <L l Directly execute the following step S702; immediately ge ≥L l or y ge ≥L l , calculate the forward angle error L f :

[0110]

[0111] Among them, x ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the x-axis; y ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the y-axis; θ ge Transform the angle between the target stop point and the current position of the autonomous mobile robot;

[0112] Calculate the backward angle error L B :

[0113]

[0114] Among them, x ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the x-axis; y ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the y-axis; θ ge Transform the angle between the target stop point and the current position of the autonomous mobile robot;

[0115] Step S700 includes:

[0116] Step S701: When |L f |<|L B |, the optimal angle error is L O =L f , the angular velocity of the autonomous mobile robot is ω= It's about LO A linear function of f |>|L B |When the optimal angle error L O =L B , the angular velocity of the autonomous mobile robot is

[0117] Step S702: When x ge <L l And y ge <L l And θ ge >L A , then set the linear velocity to 0 and only adjust the angle; when x ge <L l And y ge <L l And θ ge <L A Exit posture correction directly; when x ge With L l and y ge With L l and θ ge With L A Does not satisfy x ge <L l And y ge <L l And θ ge >L A or x ge <L l And y ge <L l And θ ge <L A When the error occurs, return to step S601 and start the posture correction again;

[0118] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus.

[0119] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art will be able to modify the technical solutions described in the aforementioned embodiments or substitute equivalents for some of the technical features. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A high-precision automatic docking method for an autonomous mobile robot, characterized in that: The method comprises: Step S100: determining a target stop point for the autonomous mobile robot, obtaining the position coordinates corresponding to the target stop point and the corresponding laser radar current frame point cloud data, combining the target stop point position coordinates and the laser radar current frame point cloud data into a key frame, inserting the key frame into a database for registration; the autonomous mobile robot is an autonomous mobile robot guided by a laser radar; Step S200: When the autonomous mobile robot moves within a distance threshold of a target stop point, obtaining a laser radar data frame currently corresponding to the autonomous mobile robot, loading the key frame, and matching the laser radar data frame currently corresponding to the autonomous mobile robot with the key frame; Step S300: Calculating the pose transformation between the target stop point and the current position of the autonomous mobile robot; Step S400: using a path planning algorithm to plan a motion trajectory of the autonomous mobile robot to a target stop point; Step S500: the autonomous mobile robot docks based on the motion trajectory; Step S600: When the distance between the autonomous mobile robot and the target stop point is greater than a set threshold, calculating the current position transformation relationship, forward angle error, and backward angle error between the target stop point and the autonomous mobile robot; Step S700: adjusting the position of the autonomous mobile robot according to the calculation result obtained in step S600 until the distance between the autonomous mobile robot and the target stop point is less than a set threshold; The step S600 includes: Step S601: When the distance between the autonomous mobile robot and the target stop point is less than a preset threshold ∈ l , obtain the relative position transformation relationship T between the target stop point and the current position of the autonomous mobile robot e ={x ge ,y ge ,θ ge }; Step S602: Set the target stop point translation error L l and angular error L A ; Step S603: When x ge <L l And y ge <L l Directly execute the following step S702; immediately ge ≥L l or y ge ≥L l , calculate the forward angle error L f : Among them, x ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the x-axis; y ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the y-axis; θ ge Transform the angle between the target stop point and the current position of the autonomous mobile robot; Calculate the backward angle error L B : Among them, x ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the x-axis; y ge is the relative position of the target stop point and the current position of the autonomous mobile robot on the y-axis; θ ge Transform the angle between the target stop point and the current position of the autonomous mobile robot.

2. A high-precision automatic docking method for an autonomous mobile robot according to claim 1, characterized in that: The step S100 includes: Step S101: Select a target stop point for the autonomous mobile robot and obtain the position coordinates p of the target stop point of the autonomous mobile robot: p = {x, y, θ}; Where x is the X-axis coordinate of the autonomous mobile robot in the environment map, y is the Y-axis coordinate of the autonomous mobile robot in the environment map, and θ is the angle between the autonomous mobile robot and the origin of the environment map based on the X-axis; Step S102: Obtain the laser radar point cloud data corresponding to the target stop point of the autonomous mobile robot, and combine the laser radar point cloud data and the position coordinates of the target stop point into a key frame, wherein the key frame is KeyFrame=(p,Q k ), where Q k ={q1,q2,q3,…,q n } is the point cloud data of the key frame; where q i ∈Q k ;q i ={x i ,y i ,z i }; where they represent the coordinates of the i-th point cloud data point relative to the center of the lidar on the x, y, and z axes respectively; Step S103: Set the key frame KeyFrame=(p,Q k )Insert into the database and register.

3. A high-precision automatic docking method for an autonomous mobile robot according to claim 2, characterized in that: The step S200 includes: Step S201: When the autonomous mobile robot is in the process of docking at the target docking point, and the autonomous mobile robot moves within a distance threshold of the target docking point, the docking point information is loaded; Step S202: Obtain the lidar point cloud data H = {h1, h, h3, …, h m} of the autonomous mobile robot, and simultaneously load the key frame of the target docking point KeyFrame = (p, Q k ). Align the lengths of the point cloud data H of the lidar and Q in the key frame KeyFrame k . The length alignment is as follows: when m < n, insert n - m compensation points into P, and the coordinates of the newly added compensation points are {0, 0, 0}; when m ≥ n, insert m - n compensation points into Q k ; the coordinates of the newly added compensation points are {0, 0, 0}; obtain H = {h1, h, h3, …, h n}.

4. A high-precision automatic docking method for an autonomous mobile robot according to claim 3, characterized in that: The step S300 includes: Step S301: Calculate H and Q k The centroid and de-centroid coordinates of : in, is the centroid coordinate of the lidar point cloud data H; Point cloud data Q of the key frame k The coordinates of the center of mass; x i is the centroid coordinate of the laser radar point cloud data H; i Point cloud data Q of the key frame k The centroid coordinates of h i is the i-th point in the point cloud data P; q i Point cloud data Q k The i-th point in w i is the weight of the i-th point; Step S302: Define the covariance matrix in Q k The transpose of the i-th centroid coordinate, x i is the i-th centroid coordinate of H; Step S303: Perform singular value decomposition on the covariance matrix to calculate the position transformation (R, t) between the stop point and the autonomous mobile robot. T : Where R is the rotation matrix; t is the translation vector; Point cloud data Q of the key frame k The centroid coordinates of is the centroid coordinate of the laser radar point cloud data H; U and V are both unit orthogonal matrices obtained after the singular value decomposition of S, V T is the transpose of V, U T is the transpose of U; σ1, σ2, and σ3 are the singular values ​​obtained after the singular value decomposition of S.

5. A high-precision automatic docking method for an autonomous mobile robot according to claim 4, characterized in that: The step S400 includes: Step S401: Using the current position of the autonomous mobile robot as the starting point S, the coordinates E of the stopping point are obtained according to the posture transformation (R, t) in step S303 above; Step S402: Select control points M and N based on the preset distance offset parameters combined with S and E; Step S403: Calculate the coordinates D(c) of the autonomous mobile robot's route: D(c)=S·(1-c) 3 +M·3(1-c) 2 t+N·3(1-c)c 2 +E·c 3 ,c∈[0,1]; Among them, S is the starting point of the autonomous mobile robot; E is the coordinate of the target stop point of the autonomous mobile robot; M is the control point selected according to the preset distance offset parameter combined with S; N is the control point selected according to the preset distance offset parameter combined with E; c is the scale.

6. The high-precision automatic docking method for an autonomous mobile robot according to claim 1, characterized in that: The step S500 includes: Step S501: Based on the route of the autonomous mobile robot, a preview distance is selected; the preview distance is the distance between the autonomous mobile robot and the sub-target point; the sub-target point is a temporary stop point for the autonomous mobile robot to move to the target stop point; the preview point for path tracking is selected based on the preview distance and the route of the autonomous mobile robot, and the relative position transformation relationship between the preview point and the autonomous mobile robot is obtained. g ,y g ,θ g }; Step S502: Consider the autonomous mobile robot's route as an arc and calculate the arc curvature k: Among them, x g is the relative position of the preview point and the current position of the autonomous mobile robot on the x-axis; y g is the relative position of the preview point and the current position of the autonomous mobile robot on the y-axis; Step S503: Calculate the control variable {v, ω} of the autonomous mobile robot based on the curvature: v = h(k); ω=kv; Where v is the linear velocity of the autonomous mobile robot; ω is the angular velocity of the autonomous mobile robot; and h(k) is a function of the curvature k.

7. A high-precision automatic docking method for an autonomous mobile robot according to claim 6, characterized in that: The step S700 includes: Step S701: When |L f |<|L B |, the optimal angle error is L O =L f , the angular velocity of the autonomous mobile robot is It's about L O A linear function of f |>|L B |When the optimal angle error L O =L B , the angular velocity of the autonomous mobile robot is Step S702: When x ge <L l And y ge <L l And θ ge >L A , then set the linear velocity to 0 and only adjust the angle; when x ge <L l And y ge <L l And θ ge <L A Exit posture correction directly; when x ge With L l and y ge With L l and θ ge With L A Does not satisfy x ge <L l And y ge <L l And θ ge >L A or x ge <L l And y ge <L l And θ ge <L A When , return to the above step S601 and restart the posture correction.

Citation Information

Patent Citations

  • Mobile robot navigation control method based on laser data

    CN106681320A

  • Laser navigation AGV high-precision positioning and target alignment control method

    CN111352420A

  • Robot automatic recharging method and device and robot system

    CN112792820A