Robot positioning method and system for ramp environment

By constructing a slope anchor point set and a coordinate transformation matrix set, and combining real-time odometer data for coordinate correction, the accuracy of robot positioning in the ramp environment is solved, efficient and accurate precise positioning is achieved, and cost and environmental transformation needs are reduced.

CN119915317APending Publication Date: 2025-05-02广州申迪智能科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510164298.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-14
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The prior art is difficult to achieve precise positioning of robots in ramp environments. The three-dimensional laser positioning method is affected by the similarity of environmental characteristics. The odometer data assisted in updating positioning method cannot effectively cover the environment with pitch angle and roll angle.

Method used

By pre-collecting the slope anchor points of each ramp, building a slope anchor point set, and determining whether to enter the ramp environment based on the current global coordinates. If so, determine the target anchor point and build a coordinate transformation matrix set, use these matrices and real-time odometer coordinates for coordinate correction to generate and correct global coordinates.

Benefits of technology

The robot is accurately positioned in a ramp environment, which improves positioning accuracy and response efficiency, and does not require additional sensors or modification of the environment, saving costs and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119915317A_ABST
    Figure CN119915317A_ABST
Patent Text Reader

Abstract

The invention provides a robot positioning method and system for a ramp environment. The method comprises the following steps: acquiring a current global coordinate of a robot; according to the current global coordinates and a preset slope anchor point set, whether the current driving environment is a ramp environment or not is judged, and the slope anchor point set is a global coordinate set of preset positions of all ramps in a driving area of the robot; if the environment is a ramp environment, determining a target anchor point from the slope anchor point set according to the current global coordinate; determining a corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set; in the running process of the robot, the real-time global coordinates of the robot are corrected through the coordinate transformation matrix and the real-time odometer coordinates, corresponding corrected global coordinates are generated, and the positioning accuracy of the robot in the ramp environment and the use experience of a user are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of spatial positioning and automatic navigation, and in particular to a robot positioning method and system for a ramp environment. Background Art

[0002] Robotic automatic navigation technology refers to the technology that enables robots to autonomously plan paths, avoid obstacles and reach target locations in unknown or dynamic environments through sensors, algorithms and control systems. It is an intersection of artificial intelligence, computer vision, control theory and robotics, and is widely used in warehousing and logistics, service robots, autonomous driving, industrial automation and other scenarios.

[0003] In the application scenario of patrol robot indoor automatic navigation, the mainstream method is three-dimensional laser positioning, that is, matching the three-dimensional laser point cloud with the global map point cloud, where the position with the highest matching degree is the current robot positioning result; or using odometer data to assist in updating positioning, defining a new horizontal-vertical coordinate system in the corridor area, and using laser matching to obtain the horizontal coordinates; reading the odometer data, using the uniform motion model to calculate the robot's displacement, and obtaining the vertical coordinates; then calculating the angle between the robot and the straight lines on both sides of the corridor, obtaining the orientation angle, and then calculating the current precise coordinates of the robot. However, the environmental characteristics of the ramp are very similar, and there is a high probability that it will affect the results of the laser matching. The typical positioning problem is that the robot moves forward, but the result obtained by the laser point cloud matching is still in place. The method of using odometer data to assist in updating positioning also only considers the plane coordinates and orientation angles. This coordinate system is more applicable to plane environments, but it cannot cover applications well for environments with pitch angles and roll angles such as ramps.

[0004] In order to solve the positioning problem on the ramp, the existing technology usually uses the corridor centerline positioning or marker positioning method. Among them, the corridor centerline positioning is mainly achieved by obtaining real-time laser point cloud, extracting corridor features from the point cloud, and calculating the position of the corridor centerline. According to the posture deviation between the robot and the centerline, the robot is controlled to run along the centerline. This method only ensures that the robot can walk out of the long corridor, without correcting the global positioning, and cannot guarantee accurate positioning after leaving the long corridor. The marker positioning mainly adds certain marker points to the long corridor area before mapping, uses the corridor scene image to obtain the marker point features, and obtains the corresponding marker point position according to the marker point features, thereby calculating the displacement of the robot and correcting the positioning of the robot. Although this method can achieve certain results, it requires the addition of a large number of additional marker points, while changing the regional environment, which adds additional workload. Summary of the invention

[0005] In response to the above technical problems, the present application provides a robot positioning method and system for a ramp environment, which can achieve accurate positioning of the robot during driving in a ramp environment without adding additional sensors or modifying the environment, thereby improving the accuracy of the robot's positioning in the ramp environment and the user experience.

[0006] In a first aspect, an embodiment of the present application provides a robot positioning method for a ramp environment, comprising:

[0007] Get the current global coordinates of the robot;

[0008] Determining whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, wherein the slope anchor point set is a set of global coordinates of preset positions of each ramp in the driving area of ​​the robot;

[0009] If it is a ramp environment, a target anchor point is determined from the slope anchor point set according to the current global coordinates;

[0010] Determine a corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set, wherein the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points;

[0011] During the driving process of the robot, the real-time global coordinates of the robot are corrected by using the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates. The real-time odometer coordinates are obtained by an odometer preset in the robot.

[0012] The embodiment of the present application provides a robot positioning method for a ramp environment, which collects the slope anchor points of each ramp in advance and constructs a slope anchor point set. The slope anchor point set and the current global coordinates are used to determine whether the robot has entered the ramp environment, so that the robot can reasonably select different positioning methods according to the current driving environment, improve the flexibility of robot positioning, and avoid the waste of system computing resources. When the robot is driving in a ramp environment, the target anchor point is determined from the slope anchor point set, and the corresponding coordinate transformation matrix is ​​determined according to the target anchor point. By performing three-dimensional laser positioning on each slope anchor point in advance, each corresponding coordinate transformation matrix is ​​constructed to form a coordinate transformation matrix set. When the robot determines the target anchor point during driving, the corresponding coordinate transformation matrix can be directly determined according to the target anchor point, which improves the response efficiency of ramp environment positioning. The coordinate transformation matrix is ​​used in combination with the odometer data to correct the real-time global coordinates, which not only achieves the effect of transforming the coordinate system and reducing the dimension, but also saves the angle information of the global coordinate system. The two-dimensional motion under the slope coordinate system can be converted into the three-dimensional motion under the global coordinate system, which is effectively applicable to the ramp environment and realizes accurate positioning under the ramp environment. In addition, compared with the prior art, the embodiments of the present application do not require additional sensors or environmental modifications, which saves human resources, reduces positioning deployment costs in the preparation stage, and improves the user experience.

[0013] In a possible implementation, judging whether the current driving environment is a ramp environment according to the current global coordinates and the preset slope anchor point set includes:

[0014] Calculating the relative distance between the current global coordinate and each slope anchor point in the slope anchor point set;

[0015] Whether the current driving environment is a slope environment is determined according to each of the relative distances and the preset distance value.

[0016] Further, determining a target anchor point from the slope anchor point set according to the current global coordinates includes: determining the slope anchor point with the shortest relative distance to the current global coordinates as the target anchor point.

[0017] The embodiment of the present application provides a method for determining the driving environment and target anchor point of a robot, by calculating the relative distance between the current global coordinates and each slope anchor point to determine whether the robot has entered a ramp environment. Furthermore, when it is determined that the robot has entered a ramp environment, the slope anchor point with the shortest relative distance to the robot can be directly selected as the target anchor point. In the embodiment of the present application, the determination of the driving environment is conducive to the robot selecting a reasonable positioning method, timely correcting the global coordinates, and improving the accuracy and flexibility of the robot's positioning; the determination of the target anchor point can provide data support for subsequent coordinate transformation and coordinate correction.

[0018] In a possible implementation, when a corresponding first coordinate transformation matrix is ​​constructed based on any first slope anchor point, the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points, including:

[0019] Placing the robot at the first slope anchor point at a preset angle, and obtaining the current three-dimensional laser positioning result of the robot;

[0020] Determine the global coordinates of the first slope anchor point and the rotation angle relative to the global coordinate system according to the three-dimensional laser positioning result;

[0021] The first coordinate transformation matrix is ​​constructed according to the global coordinates and the rotation angle.

[0022] An embodiment of the present application provides a method for constructing a coordinate transformation matrix. Taking the first slope anchor point as an example, the robot is placed at the first slope anchor point at a preset angle, three-dimensional laser positioning is adopted, and a three-dimensional point cloud laser map is used to calculate the positioning result, and the three-dimensional coordinates of the robot in the global coordinate system and the rotation angles relative to the X-axis, Y-axis, and Z-axis are obtained. Then, the corresponding transformation matrix is ​​constructed through these data to realize the construction of the slope coordinate system, providing data support for precise positioning in subsequent ramp environments.

[0023] Further, placing the robot at the first slope anchor point at a preset angle includes:

[0024] Adjust the orientation angle of the robot to be parallel to the side of the ramp corresponding to the first slope anchor point;

[0025] The pitch angle of the robot is made parallel to the slope of the ramp corresponding to the first slope anchor point.

[0026] The embodiment of the present application further limits the orientation angle and pitch angle of the robot when it is placed at the anchor point on the slope. By limiting the angle of the robot, the accuracy of three-dimensional laser positioning can be further improved, and a more accurate rotation angle relative to the X-axis, Y-axis, and Z-axis can be obtained. The constructed coordinate transformation matrix is ​​more in line with the actual situation of the ramp, thereby improving the accuracy of positioning in the ramp environment.

[0027] In a possible implementation, the coordinate correction of the real-time global coordinates of the robot by using the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates includes:

[0028] Obtaining the current global coordinates, the current odometer coordinates, the last corrected global coordinates, and the last odometer coordinates of the robot;

[0029] Calculating a first motion increment of the robot in the global coordinate system according to the corrected global coordinate at the last moment and the global coordinate at the current moment;

[0030] Calculating a second motion increment of the robot in a slope coordinate system according to the coordinate transformation matrix and the first motion increment;

[0031] Calculating the actual motion displacement of the robot according to the odometer coordinates at the previous moment and the odometer coordinates at the current moment;

[0032] Correcting the second motion increment according to the actual motion displacement to obtain a second corrected motion increment by calculation;

[0033] Calculate and obtain a first corrected motion increment of the robot in a global coordinate system according to the coordinate transformation matrix and the second corrected motion increment;

[0034] The corrected global coordinates of the robot at the current moment are calculated according to the first corrected motion increment and the corrected global coordinates at the previous moment.

[0035] The embodiment of the present application provides a method for coordinate correction, which utilizes the characteristic that the odometer coordinates are not affected by the ramp environment, and can calculate the actual motion displacement of the robot. At the same time, the first motion increment of the robot in the global coordinate system is converted to the second motion increment of the robot in the slope coordinate system using the coordinate transformation matrix. Then, according to the actual motion displacement, the second motion increment is corrected in the slope coordinate system. This is because in the slope coordinate system, the robot has no error in the X-axis direction (the direction perpendicular to the side of the ramp), and the robot's motion has no effect in the Z-axis direction (perpendicular to the slope direction) of the slope coordinate system. Therefore, the actual displacement can be obtained by the odometer, and the displacement in the real Y-axis direction (parallel to the side of the ramp) can be obtained by vector decomposition, so as to obtain the correct second corrected motion increment. Finally, the second corrected motion increment is converted into the first corrected motion increment in the global coordinate system, and the correct current moment corrected global coordinates are calculated by the first corrected motion increment and the last moment corrected global coordinates, so as to achieve accurate positioning of the robot in the ramp environment.

[0036] Furthermore, there are at least two preset positions for each ramp; and the distance between the preset position and the junction of the ramp and the flat ground is less than a preset threshold.

[0037] The embodiment of the present application further takes into account the uphill and downhill conditions of the robot during driving, so at least two preset positions are selected as slope anchor points on each ramp, and the distance between the preset positions and the junction of the ramp and the flat ground is limited. A slope anchor point is selected near the bottom of the slope for uphill, and a slope anchor point is selected near the top of the slope for downhill, thereby improving the accuracy of the robot's positioning in a ramp environment.

[0038] In the second aspect, accordingly, an embodiment of the present application provides a robot positioning system for a ramp environment, including an acquisition module, a judgment module, an anchor point determination module, a transformation matrix determination module, and a coordinate correction module;

[0039] Wherein, the acquisition module is used to obtain the current global coordinates of the robot;

[0040] The judgment module is used to judge whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, wherein the slope anchor point set is a set of global coordinates of preset positions of each ramp in the driving area of ​​the robot;

[0041] The anchor point determination module is used to determine a target anchor point from the slope anchor point set according to the current global coordinates if it is a ramp environment;

[0042] The transformation matrix determination module is used to determine the corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set, wherein the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points;

[0043] The coordinate correction module is used to perform coordinate correction on the real-time global coordinates of the robot through the coordinate transformation matrix and the real-time odometer coordinates during the driving process of the robot to generate corresponding corrected global coordinates. The real-time odometer coordinates are obtained through the odometer preset in the robot.

[0044] In a possible implementation, when a corresponding first coordinate transformation matrix is ​​constructed based on any first slope anchor point, the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points, including:

[0045] Placing the robot at the first slope anchor point at a preset angle, and obtaining the current three-dimensional laser positioning result of the robot;

[0046] Determine the global coordinates of the first slope anchor point and the rotation angle relative to the global coordinate system according to the three-dimensional laser positioning result;

[0047] The first coordinate transformation matrix is ​​constructed according to the global coordinates and the rotation angle.

[0048] In a possible implementation, the coordinate correction module performs coordinate correction on the real-time global coordinates of the robot through the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates, including:

[0049] Obtaining the current global coordinates, the current odometer coordinates, the last corrected global coordinates, and the last odometer coordinates of the robot;

[0050] Calculating a first motion increment of the robot in the global coordinate system according to the corrected global coordinate at the last moment and the global coordinate at the current moment;

[0051] Calculating a second motion increment of the robot in a slope coordinate system according to the coordinate transformation matrix and the first motion increment;

[0052] Calculating the actual motion displacement of the robot according to the odometer coordinates at the previous moment and the odometer coordinates at the current moment;

[0053] Correcting the second motion increment according to the actual motion displacement to obtain a second corrected motion increment by calculation;

[0054] Calculate and obtain a first corrected motion increment of the robot in a global coordinate system according to the coordinate transformation matrix and the second corrected motion increment;

[0055] The corrected global coordinates of the robot at the current moment are calculated according to the first corrected motion increment and the corrected global coordinates at the previous moment. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 : A flow chart of a robot positioning method for a ramp environment provided in an embodiment of the present application.

[0057] Figure 2 : A schematic diagram of the data preparation process in a robot positioning method for a ramp environment provided in an embodiment of the present application.

[0058] Figure 3 : A schematic top view of a robot located in a ramp environment in a robot positioning method for a ramp environment provided in an embodiment of the present application.

[0059] Figure 4 : A side view schematic diagram of a robot located in a ramp environment in a robot positioning method for a ramp environment provided in an embodiment of the present application.

[0060] Figure 5 : A schematic top view of a robot moving on a ramp in a robot positioning method for a ramp environment provided in an embodiment of the present application.

[0061] Figure 6 : A schematic diagram of the flow of coordinate correction in a robot positioning method for a ramp environment provided in an embodiment of the present application.

[0062] Figure 7 : A structural schematic diagram of a robot positioning system for a ramp environment provided in an embodiment of the present application. DETAILED DESCRIPTION

[0063] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0064] It should be noted that the step numbers in the text are only for the convenience of explanation of the specific embodiments and do not serve to limit the order in which the steps are executed. In the description of this application, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features.

[0065] Embodiment 1:

[0066] like Figure 1 As shown, embodiment 1 provides a robot positioning method for a ramp environment, comprising steps S1-S5:

[0067] Step S1, obtaining the current global coordinates of the robot;

[0068] Step S2, judging whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, wherein the slope anchor point set is a set of global coordinates of preset positions of each ramp in the driving area of ​​the robot;

[0069] Step S3: if it is a ramp environment, determining a target anchor point from the slope anchor point set according to the current global coordinates;

[0070] Step S4, determining a corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set, wherein the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points;

[0071] Step S5: During the driving process of the robot, the real-time global coordinates of the robot are corrected by using the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates. The real-time odometer coordinates are obtained by an odometer preset in the robot.

[0072] The embodiment of the present application provides a robot positioning method for a ramp environment, which collects the slope anchor points of each ramp in advance and constructs a slope anchor point set. The slope anchor point set and the current global coordinates are used to determine whether the robot has entered the ramp environment, so that the robot can reasonably select different positioning methods according to the current driving environment, improve the flexibility of robot positioning, and avoid the waste of system computing resources. When the robot is driving in a ramp environment, the target anchor point is determined from the slope anchor point set, and the corresponding coordinate transformation matrix is ​​determined according to the target anchor point. By performing three-dimensional laser positioning on each slope anchor point in advance, each corresponding coordinate transformation matrix is ​​constructed to form a coordinate transformation matrix set. When the robot determines the target anchor point during driving, the corresponding coordinate transformation matrix can be directly determined according to the target anchor point, which improves the response efficiency of ramp environment positioning. The coordinate transformation matrix is ​​used in combination with the odometer data to correct the real-time global coordinates, which not only achieves the effect of transforming the coordinate system and reducing the dimension, but also saves the angle information of the global coordinate system. The two-dimensional motion under the slope coordinate system can be converted into the three-dimensional motion under the global coordinate system, which is effectively applicable to the ramp environment and realizes accurate positioning under the ramp environment. In addition, compared with the prior art, the embodiments of the present application do not require additional sensors or environmental modifications, which saves human resources, reduces positioning deployment costs in the preparation stage, and improves the user experience.

[0073] In a preferred embodiment, in step S1, the positioning method of the robot is three-dimensional laser positioning, and the three-dimensional point cloud laser map is used at all times to calculate the positioning result. The coordinate system of the three-dimensional map has three coordinate axes of X, Y, and Z, so the positioning result includes the three-dimensional coordinates (x, y, z), that is, the global coordinates, and the rotation angle roll for the X axis, the rotation angle pitch for the Y axis, and the rotation angle yaw for the Z axis.

[0074] In a possible implementation, in step S2, judging whether the current driving environment is a ramp environment according to the current global coordinates and the preset slope anchor point set includes:

[0075] Calculating the relative distance between the current global coordinate and each slope anchor point in the slope anchor point set;

[0076] Whether the current driving environment is a slope environment is determined according to each of the relative distances and the preset distance value.

[0077] Further, in step S3, determining a target anchor point from the slope anchor point set according to the current global coordinates includes: determining the slope anchor point with the shortest relative distance to the current global coordinates as the target anchor point.

[0078] The embodiment of the present application provides a method for determining the driving environment and target anchor point of a robot, by calculating the relative distance between the current global coordinates and each slope anchor point to determine whether the robot has entered a ramp environment. Furthermore, when it is determined that the robot has entered a ramp environment, the slope anchor point with the shortest relative distance to the robot can be directly selected as the target anchor point. In the embodiment of the present application, the determination of the driving environment is conducive to the robot selecting a reasonable positioning method, timely correcting the global coordinates, and improving the accuracy and flexibility of the robot's positioning; the determination of the target anchor point can provide data support for subsequent coordinate transformation and coordinate correction.

[0079] In a possible implementation, in step S4, when the corresponding first coordinate transformation matrix is ​​constructed according to any first slope anchor point, the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points, including:

[0080] Placing the robot at the first slope anchor point at a preset angle, and obtaining the current three-dimensional laser positioning result of the robot;

[0081] Determine the global coordinates of the first slope anchor point and the rotation angle relative to the global coordinate system according to the three-dimensional laser positioning result;

[0082] The first coordinate transformation matrix is ​​constructed according to the global coordinates and the rotation angle.

[0083] An embodiment of the present application provides a method for constructing a coordinate transformation matrix. Taking the first slope anchor point as an example, the robot is placed at the first slope anchor point at a preset angle, three-dimensional laser positioning is adopted, and a three-dimensional point cloud laser map is used to calculate the positioning result, and the three-dimensional coordinates of the robot in the global coordinate system and the rotation angles relative to the X-axis, Y-axis, and Z-axis are obtained. Then, the corresponding transformation matrix is ​​constructed through these data to realize the construction of the slope coordinate system, providing data support for precise positioning in subsequent ramp environments.

[0084] In a preferred embodiment, Figure 2As shown, the slope anchor points of each ramp can be determined in advance before the robot travels, and the global coordinates of each slope anchor point can be collected to construct the slope anchor point set, and the corresponding coordinate transformation matrix can be constructed according to each slope anchor point, thereby obtaining the coordinate transformation matrix set. Among them, each of the coordinate transformation matrices includes a "slope-global" coordinate transformation matrix and a "global-slope" coordinate transformation matrix. The "slope-global" coordinate transformation matrix is ​​used to convert the coordinates in the slope coordinate system into the coordinates in the global coordinate system, and the "global-slope" coordinate transformation matrix is ​​used to convert the coordinates in the global coordinate system into the coordinates in the slope coordinate system.

[0085] The method for selecting the slope anchor point is:

[0086] After ensuring that the robot is positioned correctly, move the robot to the ramp area and adjust the robot's heading angle to be parallel to the long ramp side. Figure 3 As shown; adjust the robot's pitch angle to be parallel to the slope, as shown Figure 4 As shown. Figure 3 and Figure 4 In the figure, the square represents the robot, and the arrow represents the direction of the robot's front. The slope anchor point needs to meet the following three conditions: "the robot's heading angle is parallel to the side of the long ramp", "the robot's pitch angle is parallel to the slope", and "close to the intersection of the ramp and the flat ground". Figure 3 and Figure 4 The robot position in is an example of choosing the bottom of the ramp as the slope anchor point.

[0087] After completing the anchor point selection, record the global coordinates p = (x, y, z) of the slope anchor point and the rotation angle (roll, pitch, yaw) relative to the global coordinate system. (x, y, z) are three-dimensional coordinates, roll is the rotation angle for the X axis of the global coordinate system, pitch is the rotation angle for the Y axis of the global coordinate system, and yaw is the rotation angle for the Z axis of the global coordinate system. The global coordinates and rotation angles can be obtained by directly reading the results of three-dimensional laser positioning.

[0088] “Slope-global” coordinate transformation matrix T slope_to_world The calculation method is:

[0089]

[0090] "Global-slope" coordinate transformation matrix T world_to_slope The calculation method is to solve the inverse matrix of the above matrix:

[0091] T slope_to_world =(T world_to_slope ) -1

[0092] In a possible implementation, in step S5, the coordinate correction of the real-time global coordinates of the robot is performed using the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates, including:

[0093] Obtaining the current global coordinates, the current odometer coordinates, the last corrected global coordinates, and the last odometer coordinates of the robot;

[0094] Calculating a first motion increment of the robot in the global coordinate system according to the corrected global coordinate at the last moment and the global coordinate at the current moment;

[0095] Calculating a second motion increment of the robot in a slope coordinate system according to the coordinate transformation matrix and the first motion increment;

[0096] Calculating the actual motion displacement of the robot according to the odometer coordinates at the previous moment and the odometer coordinates at the current moment;

[0097] Correcting the second motion increment according to the actual motion displacement to obtain a second corrected motion increment by calculation;

[0098] Calculate and obtain a first corrected motion increment of the robot in a global coordinate system according to the coordinate transformation matrix and the second corrected motion increment;

[0099] The corrected global coordinates of the robot at the current moment are calculated according to the first corrected motion increment and the corrected global coordinates at the previous moment.

[0100] The embodiment of the present application provides a method for coordinate correction, which utilizes the characteristic that the odometer coordinates are not affected by the ramp environment, and can calculate the actual motion displacement of the robot. At the same time, the first motion increment of the robot in the global coordinate system is converted to the second motion increment of the robot in the slope coordinate system using the coordinate transformation matrix. Then, according to the actual motion displacement, the second motion increment is corrected in the slope coordinate system. This is because in the slope coordinate system, the robot has no error in the X-axis direction (the direction perpendicular to the side of the ramp), and the robot's motion has no effect in the Z-axis direction (perpendicular to the slope direction) of the slope coordinate system. Therefore, the actual displacement can be obtained by the odometer, and the displacement in the real Y-axis direction (parallel to the side of the ramp) can be obtained by vector decomposition, so as to obtain the correct second corrected motion increment. Finally, the second corrected motion increment is converted into the first corrected motion increment in the global coordinate system, and the correct current moment corrected global coordinates are calculated by the first corrected motion increment and the last moment corrected global coordinates, so as to achieve accurate positioning of the robot in the ramp environment.

[0101] In a preferred embodiment, the schematic diagram of the robot moving on the ramp is shown in the top view. Figure 5 As shown in the figure, the robot is moving in a ramp environment, where the left and right straight lines represent the left and right sides of the long ramp. The robot climbs from the bottom of the slope to the top of the slope and drives along the slope, but it deviates to the right during the movement. After the robot moves a certain distance from the starting position A, it reaches the actual position B after the movement. However, due to the similar characteristics of the long ramp environment, the global coordinate point C obtained by laser point cloud matching, that is, point A is the global coordinate corrected at the previous moment, point C is the global coordinate at the current moment, and point B is the global coordinate corrected at the current moment.

[0102] Since laser matching can ensure that there is no error between the result and the actual position in the X-axis direction of the slope coordinate system, that is, d 1 =d 2 Moreover, the movement has no effect on the Z-axis direction of the slope coordinate system, so the actual displacement can be obtained through the odometer, and the actual Y-axis forward distance can be obtained through vector decomposition, so as to obtain the correct positioning. The specific calculation process is as follows Figure 6 As shown, the following steps are included:

[0103] In the formulas described below, the symbol marked "slope" in the upper right corner represents the slope coordinate system.

[0104] 1. Record the global coordinate P of point A at the actual position before movement A and the odometry coordinates odom A =(x oA ,y oA ).

[0105] 2. After moving to point B, use real-time laser point cloud data to calculate the global coordinates P C .

[0106] 3. Calculate the increment of this movement in the global coordinate system, and transform the increment to the slope coordinate system to obtain the increment of this movement in the slope coordinate system

[0107]

[0108] 4. According to the current odometer coordinates odom B (x oB ,y oB ) Calculate the motion displacement

[0109] 5. Calculate the motion compensation in the forward direction, that is, the real displacement increment in the Y-axis direction in the slope coordinate system

[0110]

[0111] 6. Calculate the global coordinates P of point B B , and obtain the final positioning result.

[0112]

[0113] In summary, the embodiments of the present application have the following beneficial effects:

[0114] 1. The global coordinates of the slope anchor point include the positions of the X-axis, Y-axis, and Z-axis and the corresponding rotation angles. Therefore, using the anchor point as the origin of the slope coordinate system, the constructed slope coordinate system can cope with three-dimensional motion scenes and is not limited to plane motion.

[0115] 2. The displacement increment under the global coordinate system is transformed to the slope coordinate system through the "global-slope" coordinate system transformation matrix, and the three-dimensional motion is reduced to a two-dimensional plane motion. That is, in the global coordinate system, the robot motion changes the XYZ value at the same time, but after transformation to the slope coordinate system, the robot motion only changes the XY value, reducing the computational complexity of the positioning process.

[0116] 3. By transforming the motion increment in the slope coordinate system using the "slope-global" coordinate system transformation matrix, we can get the corresponding coordinate increment in the global coordinate system and the corresponding angle information. That is, the two-dimensional motion in the slope coordinate system can be converted into the three-dimensional motion in the global coordinate system, which is effectively applicable to long slope environments.

[0117] 4. No need to add additional sensors or modify the environment, thus avoiding extra costs.

[0118] 5. This technical solution uses the slope coordinate system when calculating positioning, and the positioning result will eventually be transformed back to the coordinate value in the global coordinate system, ensuring the continuity of the robot positioning data.

[0119] Embodiment 2:

[0120] like Figure 7 As shown, the second embodiment provides a robot positioning system for a ramp environment, including an acquisition module 10, a judgment module 20, an anchor point determination module 30, a transformation matrix determination module 40 and a coordinate correction module 50;

[0121] Wherein, the acquisition module 10 is used to acquire the current global coordinates of the robot;

[0122] The judgment module 20 is used to judge whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, wherein the slope anchor point set is a set of global coordinates of preset positions of each ramp in the driving area of ​​the robot;

[0123] The anchor point determination module 30 is used to determine a target anchor point from the slope anchor point set according to the current global coordinates if it is a ramp environment;

[0124] The transformation matrix determination module 40 is used to determine the corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set, wherein the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points;

[0125] The coordinate correction module 50 is used to correct the real-time global coordinates of the robot through the coordinate transformation matrix and the real-time odometer coordinates during the driving process of the robot to generate corresponding corrected global coordinates. The real-time odometer coordinates are obtained through the odometer preset in the robot.

[0126] In a possible implementation, the judging module 20 judges whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, including:

[0127] Calculating the relative distance between the current global coordinate and each slope anchor point in the slope anchor point set;

[0128] Whether the current driving environment is a slope environment is determined according to each of the relative distances and the preset distance value.

[0129] Furthermore, the anchor point determination module 30 determines a target anchor point from the slope anchor point set according to the current global coordinates, including: determining the slope anchor point with the shortest relative distance to the current global coordinates as the target anchor point.

[0130] In a possible implementation, when a corresponding first coordinate transformation matrix is ​​constructed based on any first slope anchor point, the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points, including:

[0131] Placing the robot at the first slope anchor point at a preset angle, and obtaining the current three-dimensional laser positioning result of the robot;

[0132] Determine the global coordinates of the first slope anchor point and the rotation angle relative to the global coordinate system according to the three-dimensional laser positioning result;

[0133] The first coordinate transformation matrix is ​​constructed according to the global coordinates and the rotation angle.

[0134] Further, placing the robot at the first slope anchor point at a preset angle includes:

[0135] Adjust the orientation angle of the robot to be parallel to the side of the ramp corresponding to the first slope anchor point;

[0136] The pitch angle of the robot is made parallel to the slope of the ramp corresponding to the first slope anchor point.

[0137] In a possible implementation, the coordinate correction module 50 performs coordinate correction on the real-time global coordinates of the robot through the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates, including:

[0138] Obtaining the current global coordinates, the current odometer coordinates, the last corrected global coordinates, and the last odometer coordinates of the robot;

[0139] Calculating a first motion increment of the robot in the global coordinate system according to the corrected global coordinate at the last moment and the global coordinate at the current moment;

[0140] Calculating a second motion increment of the robot in a slope coordinate system according to the coordinate transformation matrix and the first motion increment;

[0141] Calculating the actual motion displacement of the robot according to the odometer coordinates at the previous moment and the odometer coordinates at the current moment;

[0142] Correcting the second motion increment according to the actual motion displacement to obtain a second corrected motion increment by calculation;

[0143] Calculate and obtain a first corrected motion increment of the robot in a global coordinate system according to the coordinate transformation matrix and the second corrected motion increment;

[0144] The corrected global coordinates of the robot at the current moment are calculated according to the first corrected motion increment and the corrected global coordinates at the previous moment.

[0145] In a possible implementation, there are at least two preset positions for each ramp; and the distance between the preset position and the ramp-flat ground junction is less than a preset threshold.

[0146] The embodiment of the present application provides a robot positioning system for a ramp environment, which collects the slope anchor points of each ramp in advance and constructs a slope anchor point set. The slope anchor point set and the current global coordinates are used to determine whether the robot has entered the ramp environment, so that the robot can reasonably select different positioning methods according to the current driving environment, improve the flexibility of robot positioning, and avoid the waste of system computing resources. When the robot is driving in a ramp environment, the target anchor point is determined from the slope anchor point set, and the corresponding coordinate transformation matrix is ​​determined according to the target anchor point. By performing three-dimensional laser positioning on each slope anchor point in advance, each corresponding coordinate transformation matrix is ​​constructed to form a coordinate transformation matrix set. When the robot determines the target anchor point during driving, the corresponding coordinate transformation matrix can be directly determined according to the target anchor point, which improves the response efficiency of ramp environment positioning. The coordinate transformation matrix is ​​used in combination with the odometer data to correct the real-time global coordinates, which not only achieves the effect of transforming the coordinate system and reducing the dimension, but also saves the angle information of the global coordinate system. The two-dimensional motion under the slope coordinate system can be converted into the three-dimensional motion under the global coordinate system, which is effectively applicable to the ramp environment and realizes accurate positioning under the ramp environment. In addition, compared with the prior art, the embodiments of the present application do not require additional sensors or environmental modifications, which saves human resources, reduces positioning deployment costs in the preparation stage, and improves the user experience.

[0147] The more detailed working principle and step flow of this embodiment can refer to, but are not limited to, the relevant records of Embodiment 1.

[0148] The specific embodiments described above further describe the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above description is only a specific embodiment of the present application and is not intended to limit the scope of protection of the present application. It is particularly pointed out that for those skilled in the art, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims

1. A robot positioning method for a ramp environment, characterized in that: include: Get the current global coordinates of the robot; Determining whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, wherein the slope anchor point set is a set of global coordinates of preset positions of each ramp in the driving area of ​​the robot; If it is a ramp environment, a target anchor point is determined from the slope anchor point set according to the current global coordinates; Determine a corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set, wherein the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points; During the driving process of the robot, the real-time global coordinates of the robot are corrected by using the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates. The real-time odometer coordinates are obtained by an odometer preset in the robot.

2. A robot positioning method for a ramp environment as claimed in claim 1, characterized in that: The determining whether the current driving environment is a ramp environment according to the current global coordinates and the preset slope anchor point set includes: Calculating the relative distance between the current global coordinate and each slope anchor point in the slope anchor point set; Whether the current driving environment is a slope environment is determined according to each of the relative distances and the preset distance value.

3. A robot positioning method for a ramp environment as claimed in claim 1, characterized in that: Determining a target anchor point from the slope anchor point set according to the current global coordinates includes: determining the slope anchor point with the shortest relative distance to the current global coordinates as the target anchor point.

4. A robot positioning method for a ramp environment as claimed in claim 1, characterized in that: When the corresponding first coordinate transformation matrix is ​​constructed according to any first slope anchor point, the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points, including: Placing the robot at the first slope anchor point at a preset angle, and obtaining the current three-dimensional laser positioning result of the robot; Determine the global coordinates of the first slope anchor point and the rotation angle relative to the global coordinate system according to the three-dimensional laser positioning result; The first coordinate transformation matrix is ​​constructed according to the global coordinates and the rotation angle.

5. A robot positioning method for a ramp environment as claimed in claim 4, characterized in that: Placing the robot at the first slope anchor point at a preset angle comprises: Adjust the orientation angle of the robot to be parallel to the side of the ramp corresponding to the first slope anchor point; The pitch angle of the robot is parallel to the slope of the ramp corresponding to the first slope anchor point.

6. A robot positioning method for a ramp environment as claimed in claim 1, characterized in that: The coordinate correction of the real-time global coordinates of the robot by using the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates includes: Obtaining the current global coordinates, the current odometer coordinates, the last corrected global coordinates, and the last odometer coordinates of the robot; Calculating a first motion increment of the robot in the global coordinate system according to the corrected global coordinate at the last moment and the global coordinate at the current moment; Calculating a second motion increment of the robot in a slope coordinate system according to the coordinate transformation matrix and the first motion increment; Calculating the actual motion displacement of the robot according to the odometer coordinates at the previous moment and the odometer coordinates at the current moment; Correcting the second motion increment according to the actual motion displacement to obtain a second corrected motion increment by calculation; Calculate and obtain a first corrected motion increment of the robot in a global coordinate system according to the coordinate transformation matrix and the second corrected motion increment; The corrected global coordinates of the robot at the current moment are calculated according to the first corrected motion increment and the corrected global coordinates at the previous moment.

7. A robot positioning method for a ramp environment as claimed in any one of claims 1 to 6, characterized in that: There are at least two preset positions for each ramp; and the distance between the preset position and the ramp-flat ground junction is less than a preset threshold.

8. A robot positioning system for a ramp environment, characterized in that: It includes an acquisition module, a judgment module, an anchor point determination module, a transformation matrix determination module and a coordinate correction module; Wherein, the acquisition module is used to obtain the current global coordinates of the robot; The judgment module is used to judge whether the current driving environment is a ramp environment according to the current global coordinates and a preset slope anchor point set, wherein the slope anchor point set is a set of global coordinates of preset positions of each ramp in the driving area of ​​the robot; The anchor point determination module is used to determine a target anchor point from the slope anchor point set according to the current global coordinates if it is a ramp environment; The transformation matrix determination module is used to determine the corresponding coordinate transformation matrix according to the target anchor point and a preset coordinate transformation matrix set, wherein the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points; The coordinate correction module is used to perform coordinate correction on the real-time global coordinates of the robot through the coordinate transformation matrix and the real-time odometer coordinates during the driving process of the robot to generate corresponding corrected global coordinates. The real-time odometer coordinates are obtained through the odometer preset in the robot.

9. A robot positioning system for a ramp environment as claimed in claim 8, characterized in that: When the corresponding first coordinate transformation matrix is ​​constructed according to any first slope anchor point, the coordinate transformation matrix set is obtained by performing three-dimensional laser positioning on each of the slope anchor points, including: Placing the robot at the first slope anchor point at a preset angle, and obtaining the current three-dimensional laser positioning result of the robot; Determine the global coordinates of the first slope anchor point and the rotation angle relative to the global coordinate system according to the three-dimensional laser positioning result; The first coordinate transformation matrix is ​​constructed according to the global coordinates and the rotation angle.

10. A robot positioning system for a ramp environment as claimed in claim 8, characterized in that: The coordinate correction module performs coordinate correction on the real-time global coordinates of the robot through the coordinate transformation matrix and the real-time odometer coordinates to generate corresponding corrected global coordinates, including: Obtaining the current global coordinates, the current odometer coordinates, the last corrected global coordinates, and the last odometer coordinates of the robot; Calculating a first motion increment of the robot in the global coordinate system according to the corrected global coordinate at the last moment and the global coordinate at the current moment; Calculating a second motion increment of the robot in a slope coordinate system according to the coordinate transformation matrix and the first motion increment; Calculating the actual motion displacement of the robot according to the odometer coordinates at the previous moment and the odometer coordinates at the current moment; Correcting the second motion increment according to the actual motion displacement to obtain a second corrected motion increment by calculation; Calculate and obtain a first corrected motion increment of the robot in a global coordinate system according to the coordinate transformation matrix and the second corrected motion increment; The corrected global coordinates of the robot at the current moment are calculated according to the first corrected motion increment and the corrected global coordinates at the previous moment.