Path tracking method, device and path tracking equipment
By obtaining the target planning path information and operation information of the current motion cycle in the robot, determining the path deviation model and adjusting the motion speed, the problem of robot path deviation is solved, and the operation efficiency and coverage rate are improved.
Patent Information
- Application Number
- CN202210196496.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-01
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2042-03-01
AI Technical Summary
When a robot tracks operations according to the planned path, due to factors such as terrain, its own structure and positioning errors, it is easy to cause path deviations between the actual moving trajectory and the planned path, resulting in reduced work efficiency and reduced coverage.
By obtaining the target planning path information and operation information of the robot's current motion cycle, determine the path deviation model of the next motion cycle, and adjust the movement speed according to the current motion speed, path deviation model and path category to reduce the deviation between the actual moving trajectory and the planned path.
It effectively reduces the path deviation of the robot during the movement process, improves the coverage and operation efficiency of the work area, and reduces the time of the return process.
Smart Images

Figure CN114756021B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a path tracking method, device and path tracking equipment. Background Art
[0002] With the continuous development of artificial intelligence technology, the application of mobile robots is becoming more and more extensive. Before the robot works, it is generally necessary to confirm the robot's operating area and set the planned path for the robot to work in the operating area, and then let the robot perform the work according to the planned path.
[0003] When the robot is tracking according to the planned path, due to factors such as terrain, its own structure, and positioning errors, it is easy for the robot's actual movement trajectory to deviate from the planned path, thereby reducing the robot's coverage of the working area. At the same time, as time accumulates, the path deviation becomes larger and larger, resulting in the robot taking more time to return to the planned path after deviating from the planned path, which greatly affects the working efficiency. Summary of the invention
[0004] In view of this, the present application provides a path tracking method, device and path tracking equipment to reduce the deviation between the actual movement trajectory and the planned path of the robot during its movement, thereby improving the robot's coverage of the working area and its working efficiency.
[0005] In order to achieve the above objectives, in a first aspect, an embodiment of the present application provides a path tracking method, which is applied to a robot, comprising:
[0006] Acquire target planning path information and operation information of the current motion cycle of the robot, wherein the target planning path information includes the target planning path and the path category to which the target sub-path corresponding to the target planning path belongs, and the operation information includes the current motion speed of the robot;
[0007] Determining a path deviation model for the next motion cycle according to the target planning path, wherein the path deviation model is used to calculate the deviation of the robot from the target planning path in the future;
[0008] The target motion speed of the robot in the next motion cycle is determined according to the current motion speed, the path deviation model and the path category.
[0009] As an optional implementation of the embodiment of the present application, the path deviation model for determining the next motion cycle according to the target planning path includes:
[0010] Get the target subpath corresponding to the current position in the target planning path;
[0011] Obtaining the position information of the robot at each sampling moment;
[0012] Acquire an actual path offset of the position information from the target subpath;
[0013] A path deviation model for the next motion cycle is determined according to the actual path offset.
[0014] As an optional implementation of the embodiment of the present application, determining the target motion speed of the robot in the next motion cycle according to the current motion speed, the path deviation model and the path category includes:
[0015] Obtaining the motion information of the robot in the next motion cycle and the error increment coefficient of the path deviation model; the motion information includes the current position and the actual path offset of the current position relative to the target planned path;
[0016] Determining a predicted path deviation of the robot in a next motion cycle according to the actual path deviation and the path deviation model;
[0017] Calculate the target movement speed according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current movement speed;
[0018] The target motion speed is used as the motion speed of the robot in the next motion cycle.
[0019] As an optional implementation of the embodiment of the present application, the target motion speed includes a target linear speed, and the target motion speed is calculated according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current motion speed, including:
[0020] Calculating a target error increment coefficient according to the actual path offset, the predicted path offset and the error increment coefficient;
[0021] The target linear velocity is calculated according to the target error increment coefficient, the path category and the current motion velocity.
[0022] As an optional implementation of the embodiment of the present application, the target motion speed includes a target angular velocity, and the target motion speed is calculated according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current motion speed, and further includes:
[0023] Acquire the forward sight distance of the robot in the next motion cycle according to the path category;
[0024] Obtaining an offset distance of the robot from the target planned path;
[0025] Get the offset distance range;
[0026] When the offset distance is less than a minimum value within the offset distance range, the target angular velocity is calculated according to the foresight distance, the offset distance and the target linear velocity;
[0027] When the offset distance is within the offset distance range, a proportional increment is determined according to the offset distance, and a target angular velocity is determined according to the foresight distance, the offset distance, the target linear velocity, and the proportional increment.
[0028] As an optional implementation of the embodiment of the present application, the method further includes:
[0029] When the offset distance is greater than the offset distance range, constructing a first target planning path;
[0030] The target planning path is updated to the first target planning path, and the step of determining the path deviation model of the next motion cycle according to the target planning path is returned to be executed.
[0031] As an optional implementation of the embodiment of the present application, the method further includes:
[0032] Obtain all path points of the target planning path and the slopes between adjacent path points;
[0033] According to the change of the slope, the target planning path is divided into different target sub-paths, and the path categories corresponding to the target sub-paths are determined;
[0034] The path categories include straight path and curved path.
[0035] As an optional implementation of the embodiment of the present application, when the path category of the target sub-path is a curved path, obtaining the forward sight distance of the robot in the next motion cycle according to the path category includes:
[0036] Get the slope between adjacent path points in the curve path;
[0037] Performing linear fitting on the slopes between the adjacent path points to divide the curved path into curved sub-paths with different curvatures, wherein the connection points between the curved sub-paths are foresight distance points, and the foresight distance points are used to determine the end point position of the foresight distance;
[0038] Obtaining the foresight distance point of the next movement cycle from the foresight distance point;
[0039] The foresight distance is acquired according to the current position and the foresight distance point.
[0040] In a second aspect, an embodiment of the present application provides a path tracking device, including:
[0041] An acquisition module: used to acquire target planning path information and operation information of the current motion cycle of the robot, wherein the target planning path information includes the target planning path and the path category to which the target sub-path corresponding to the target planning path belongs, and the operation information includes the current motion speed of the robot;
[0042] A path deviation model determination module is used to determine the path deviation model of the next motion cycle according to the target planning path, wherein the path deviation model is used to calculate the deviation of the robot from the target planning path in the future;
[0043] Movement speed determination module: used to determine the movement speed of the robot in the next movement cycle according to the current movement speed, the path deviation model and the path category.
[0044] In a third aspect, an embodiment of the present application provides a path tracking device, including: a memory and a processor, the memory being used to store a computer program; the processor being used to execute the method described in the first aspect or any one of the embodiments of the first aspect when calling the computer program.
[0045] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method described in the first aspect or any one of the embodiments of the first aspect is implemented.
[0046] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on the path tracking device, the path tracking device executes the path tracking method described in any one of the first aspects above.
[0047] The path tracking method, device and path tracking device provided by the embodiment of the present application obtain the target planning path information and operation information of the current motion cycle of the robot, determine the path deviation model of the next motion cycle according to the target planning path, and determine the motion speed of the next motion cycle according to the current motion speed, the path deviation model and the path category. Wherein, the target planning path information includes the path category to which the target sub-path corresponding to the target planning path belongs, the operation information includes the current motion speed of the robot, and the path deviation model is used to calculate the deviation of the robot from the target planning path in the future. The path tracking method provided by the embodiment of the present application can adjust the motion speed of the robot in the next motion cycle according to the motion speed of the current motion cycle of the robot and the path deviation model when the robot is yawed, so that the actual movement trajectory of the robot is closer to the planned path, thereby reducing the path deviation between the actual movement trajectory and the planned path caused by the yaw of the robot, making the robot track the planned path more accurately, and improving the coverage rate of the robot to the operating area. At the same time, as the distance deviation between the actual movement path and the planned path is reduced, the robot can be quickly returned to the planned path by adjusting the motion speed, that is, the time of the return process is greatly reduced, thereby improving the operation efficiency of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 A schematic diagram of a flow chart of a path tracking method provided in an embodiment of the present application;
[0049] Figure 2 A schematic diagram of a method for calculating the slopes of adjacent points in a planned path provided in an embodiment of the present application;
[0050] Figure 3 A schematic diagram of a planning path provided in an embodiment of the present application;
[0051] Figure 4 A schematic diagram of a curved path provided in an embodiment of the present application;
[0052] Figure 5 A schematic diagram of a process for determining a path deviation model provided in an embodiment of the present application;
[0053] Figure 6 A schematic diagram of a process for determining target motion speed provided in an embodiment of the present application;
[0054] Figure 7 A schematic diagram of a target linear velocity calculation process provided in an embodiment of the present application;
[0055] Figure 8 A schematic diagram of a target angular velocity calculation process provided in an embodiment of the present application;
[0056] Fig. 9A schematic diagram of a flow chart of a forward sight distance calculation process under a curved path condition provided in an embodiment of the present application;
[0057] Fig.10 A schematic diagram of the structure of a path tracking device provided in an embodiment of the present application;
[0058] Fig.11 A schematic diagram of the structure of a path tracking device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0059] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation method section of the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0060] The path tracking method provided in the embodiment of the present application can be implemented by a path tracking device, which can be a robot, or a chip or circuit applied to a robot, or the path tracking device can also be an electronic device or a chip or circuit in an electronic device. For example, the path tracking method can be used on a computer to determine the motion speed of the robot in the next motion cycle, and the motion speed is transmitted to the robot so that the robot runs according to the received motion speed in the next motion cycle. This embodiment is described later by taking the application of the path tracking method to a robot as an example. When the path tracking device is an electronic device, the path can interact with the robot according to the device. For example, the electronic device sends the determined motion speed of the robot to the robot through an instruction to control the robot to move at a specified motion speed. For another example, the robot can report the robot's initial linear velocity and planned path information to the electronic device. Optionally, the path deviation model can also be sent to the robot after training by the electronic device, or it can be trained by the robot itself, and the embodiment of the present application does not limit this.
[0061] The robot may be a lawn mowing robot, a sweeping robot, a mine-clearing robot, a cruise robot, etc., and this embodiment does not specifically limit this.
[0062] Figure 1 The schematic diagram of the flow chart of the path tracking method provided in the embodiment of the present application is as follows: Figure 1 As shown, the method comprises the following steps:
[0063] S110, obtaining target planning path information and operation information of the current motion cycle of the robot.
[0064] The target planning path information may include the target planning path and the path category to which the target sub-path corresponding to the target planning path belongs.
[0065] The operation information may include but is not limited to the current movement speed of the robot, the yaw angle and pitch angle of the robot during movement, etc. The current movement speed of the robot may include the current linear velocity and angular velocity of the robot.
[0066] During the movement of the robot, in order to make the robot travel along the planned path as much as possible, the movement speed of the robot can be adjusted according to the yaw situation of the robot at fixed time intervals. Each fixed time interval can be regarded as a movement cycle of the robot, and the current movement cycle can be the current fixed time period of the robot.
[0067] The target planning path can be the complete planning path to be tracked by the robot this time, or it can be a sub-path in the planning path to be tracked by the robot this time. Due to the influence of the terrain and obstacles in the working area, the shape of the target planning path formed may be an irregular geometric shape. In order to enable the robot to quickly return to the target planning path, that is, to enable the robot to quickly execute the corresponding movement mode for different geometric shape paths, the path deviation of the actual moving path relative to the target planning path is reduced, such as driving at a certain speed in a straight path and a curved path, and rotating in place. The target planning path is divided into multiple target sub-paths, and the target sub-paths are classified to form path categories including but not limited to curves, straight lines, and relay points connecting different target sub-paths.
[0068] The planned path to be tracked by the robot may be a linear path composed of path points. In order to reduce the deviation of the robot from the planned path during movement, in this embodiment, the robot may divide the planned path according to the slope between adjacent path points in the planned path to generate at least one sub-path. The robot may track each sub-path in sequence according to the order of the generated sub-paths and the position of the robot.
[0069] The robot can determine the sub-path to be tracked according to the current position, and the sub-path currently tracked by the robot is the target planning path, that is, the target planning path can be any sub-path in at least one sub-path.
[0070] Commonly used path planning schemes for robots include global coverage and edge planning. The paths planned for these two common situations generally include three modes of movement: straight-line driving, curved driving, and rotation on the spot. Correspondingly, the planned path can be divided into two sub-paths: straight-line path and curved path.
[0071] Specifically, the robot can start from the starting point of the planned path, sequentially traverse the path points on the planned path until the end point of the planned path, and calculate the slope between any adjacent path points on the planned path. Figure 2A schematic diagram of a method for calculating the slopes of adjacent points in a planned path provided in an embodiment of the present application, such as Figure 2 As shown, points A, B, and C are adjacent path points in the planned path, the slope of vector AB is the slope between path point A and path point B, vector BC is the slope between path point B and path point C, and α is the angle between vector AB and vector BC, that is, α is the angle at which the slopes between adjacent paths AB and BC change.
[0072] Figure 3 The schematic diagram of the planning path provided in the embodiment of the present application is as follows: Figure 3 As shown, if the variation range of the slope between some adjacent points is less than or equal to the first preset angle, the path composed of these points can be segmented out, and the path composed of these points is a straight line path, such as Figure 3 In the straight line path 1, straight line path 2 and straight line path 3; if the variation range of the slope between some adjacent points is greater than the first preset angle and less than or equal to the second preset angle, the path composed of these points can also be segmented out, and the path composed of these points is a curved path, such as Figure 3 If the range of the slope between some adjacent path points is greater than the second preset angle, the middle point of these adjacent path points can be used as the rotation point in situ, that is, Figure 3 Relay point 2 and relay point 3 are shown.
[0073] The first preset angle and the second preset angle are fixed angles set in advance. For example, the first preset angle is 0.1 degrees and the second preset angle is 60 degrees. The first preset angle and the second preset angle may also be other fixed angles set in advance, which is not limited in this embodiment.
[0074] In the planned path after segmentation, the point connecting any two sub-paths is a relay point, for example Figure 3 Relay point 1, relay point 2 and relay point 3 in the figure, where the two sub-paths connected by the relay points can both be straight paths, can both be curved paths, or one path can be a straight path and the other can be a curved path. Each relay point is not only the end point of a corresponding sub-path, but also the end point of the forward path of the corresponding sub-path.
[0075] Since the robot has a better line-adherence effect when it moves in a curved path close to a standard arc, the curved path can be further segmented to obtain more sub-paths.
[0076] Figure 4 A schematic diagram of a curved path provided in an embodiment of the present application, such as Figure 4As shown, the curve path is divided into three local curve paths: local curve path 1, local curve path 2 and local curve path 3. The three local curve paths are each closer to a standard arc. The path points connecting each local curve path are used as relay points. For example Figure 4 In the figure, relay point 1 is the end point of local curve path 1, relay point 2 is the end point of local curve path 2, and relay point 3 is the end point of local curve path 3.
[0077] When the robot is tracking a certain local curved path (i.e., the target planned path), the farthest forward-looking path point can be the end point of the target planned path. When the robot detects that there is an obstacle at the forward-looking path point of the target planned path, the robot can adjust the forward-looking distance to avoid the obstacle.
[0078] When the robot is tracking the target planning path, it may deviate from the target planning path. In this embodiment, when the robot deviates from the target planning path, the robot can adjust its movement speed to reduce the offset of the robot relative to the target planning path.
[0079] The robot deviates from the target planned path by either the position of the robot deviates from the target planned path or the heading of the robot deviates from the direction of the target planned path.
[0080] When the target planning path is deviated, the initial linear velocity of the robot in the current motion cycle can be multiplied by the proportional parameter k to obtain the linear velocity of the robot in the next motion cycle, where 0 <k<1。
[0081] In order to more accurately control the movement speed of the robot when it is yawed, in this embodiment, a path deviation model for predicting the path offset may also be established, and the movement speed of the robot in the current movement cycle may be determined using the path deviation model.
[0082] S120: Determine a path deviation model for the next motion cycle according to the target planning path.
[0083] The path deviation model is used to calculate the deviation of the robot from the target planned path in the future. The path deviation model can predict the path deviation of the robot relative to the target planned path based on the actual path deviation and error increment coefficient of the robot in the current motion cycle. It can be expressed by the following formula (1):
[0084]
[0085] in, is the predicted path offset of the robot relative to the target planned path after t seconds from the start of the current motion cycle, is the error increment coefficient, is the actual path offset.
[0086] At the beginning of the current motion cycle, the robot can determine the actual path offset of the robot in the current motion cycle relative to the target planned path based on the current position, wherein the position of the robot can be obtained through real-time kinematic measurement (Real-time Kinematic, RTK), global positioning system (Global Positioning System, GPS) or other methods. This embodiment does not impose specific restrictions on this. The actual path offset can be the vertical distance of the robot's geometric center relative to the target planned path.
[0087] Figure 5 A schematic diagram of a process for determining a path deviation model provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the process may include the following steps:
[0088] S121. Obtain the target sub-path corresponding to the current position in the target planned path.
[0089] Specifically, a perpendicular line to the target planning path may be drawn through the current position, and the subpath where the intersection of the perpendicular line and the target planning path is located is the target subpath corresponding to the current position in the target planning path.
[0090] S122. Obtain the position information of the robot at each sampling time.
[0091] The sampling intervals corresponding to the N sampling moments may be equal, for example, the sampling intervals corresponding to the various sampling moments may be 1 second; the sampling intervals may also be unequal, for example, the various sampling intervals may gradually increase in sequence, and this embodiment does not specifically limit this. For example, the sampling interval corresponding to the N sampling moments may be expressed as T = [t 1 , t 2 , t 3 , ..., t N ], when the current speed of the robot is known to be v, the moving distance of the robot at N sampling moments can be obtained, for example, vT = D = [d 1 , d 2 , d 3 ,...d N ].
[0092] Specifically, when the robot is at the starting position of the target subpath, the current position information of the robot (x 0 ,y 0 ) and yaw angle θ, and according to Get the robot's position within N sampling moments: [(x 1 ,y 1 ), (x 2 ,y 2), (x 3 ,y 3 ),…,(x N-1 ,y N-1 ), (x N ,y N )], where N is a positive integer.
[0093] S123: Obtain an actual path offset of the position information from the target sub-path.
[0094] The distance from the position information at each sampling time to the target planned sub-path is calculated as the actual path offset. For example, the actual path offset of the robot relative to the target planned path at N sampling times can be expressed as [ε 1 , ε 2 …, ε N ].
[0095] S124. Determine a path deviation model for the next motion cycle according to the actual path offset.
[0096] Specifically, the predicted path offset and error increment coefficient in the path deviation model can be calculated according to the following formula (2):
[0097]
[0098] Among them, t i is the time between the i-th sampling moment and the start moment of the current motion cycle, ε i is the actual path offset of the robot corresponding to the i-th sampling moment.
[0099] By substituting the actual path offset and the error increment coefficient into formula (1), the specific path deviation model for the next motion cycle can be determined. Due to the influence of external factors and the continuous adjustment of the robot speed, the actual deviation of the robot will always be changing. Therefore, the path deviation model of the next motion cycle can be updated in each current motion cycle. In this way, the deviation of the robot predicted by the path deviation model can be closer to the actual situation.
[0100] S130, determining the movement speed of the robot in the next movement cycle according to the current movement speed, the path deviation model and the path category.
[0101] Figure 6 The flowchart of the target motion speed determination process provided in the embodiment of the present application is as follows: Figure 6 As shown, the process may include the following steps:
[0102] S131, obtaining the motion information of the robot in the next motion cycle and the error increment coefficient of the path deviation model.
[0103] The motion information of the robot in the next motion cycle may include the coordinates of the current position of the robot and the actual path offset of the current position relative to the target planned path.
[0104] The error increment coefficient can be obtained according to the above formula (2).
[0105] S132. Determine the predicted path offset of the robot in the next motion cycle according to the actual path offset and the path deviation model.
[0106] Specifically, the actual path offset corresponding to the current position of the robot can be substituted into formula (1) to calculate the predicted path offset corresponding to the position of the robot at the beginning of the next cycle.
[0107] S133, calculating the target movement speed according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current movement speed.
[0108] The target motion speed may include a target linear velocity and a target angular velocity.
[0109] Figure 7 A schematic diagram of the target linear velocity calculation process provided in the embodiment of the present application is shown in FIG. Figure 7 As shown, the process may include the following steps:
[0110] S13310. Calculate a target error increment coefficient based on the actual path offset, the predicted path offset and the error increment coefficient.
[0111] Specifically, the target error increment coefficient of the path deviation model can be calculated according to the following formula (3):
[0112]
[0113] Wherein, k is the target error increment coefficient of the path deviation model of the next cycle, and E(ε') is the expectation of the actual path deviation. The expectation of the actual path deviation can be determined according to the actual path deviation of each motion cycle.
[0114] S13311. Calculate the target linear velocity based on the target error increment coefficient, path category and current motion speed.
[0115] Specifically, the target linear velocity can be determined according to the following formula (4):
[0116]
[0117] Among them, v' is the target linear velocity, and v is the current linear velocity of the robot.
[0118] Figure 8The following is a flow chart of the target angular velocity calculation process provided in the embodiment of the present application. Figure 8 As shown, the process may include the following steps:
[0119] S13320. Obtain the forward sight distance of the robot in the next motion cycle according to the path category.
[0120] It should be noted that when the robot travels along a planned path, it is necessary to calculate the robot's travel speed based on the geometric information of the path, that is, the determined path category. The traditional approach is to find a lookahead pose on the path based on the set lookahead distance. Then, the path between the robot's current position and the found lookahead pose is geometrically solved, and the calculated speed information is sent to the robot so that it can travel at that speed. This process is carried out in a certain frequency cycle, that is, in each frequency cycle, the robot moves a short distance, and the lookahead pose will also change accordingly, but because the set lookahead distance is constant, the robot needs to continuously receive the sent speed and travel along the planned path. This method depends on the set foresight distance. If the foresight distance is too large, the robot will easily deviate from the path when walking in a straight line. When walking in an arc, due to the large path deviation, for example, when the robot deviates to an obstacle, it will bring the hidden danger of obstacle avoidance failure; if the foresight distance is too small, when the robot walks in an arc, it will greatly affect the smoothness of the robot's movement and obstacle avoidance performance; if the robot deviates from the planned path during driving due to positioning errors, terrain restrictions, mechanical structure or electrical control reasons, the fixed foresight distance will slow down the robot's return process during the return process.
[0121] It can be seen that the foresight distance will change according to the path type. When the path type is a straight path, the foresight distance at this time can be the set foresight distance. When the path type is a curved path, the curvature of the curve is first obtained and then the foresight distance of the curve is calculated, so that the robot's launch speed can be adjusted according to the foresight distance to achieve rapid return. Fig. 9 The flowchart of the foresight distance calculation process under the curved path condition provided by the embodiment of the present application is as follows: Fig. 9 As shown, the process may include the following steps:
[0122] S133201. Obtain the slope between adjacent path points in the curve path.
[0123] Specifically, when the subpath includes a curved path, the slope δ between adjacent path points in the curved path can be recorded, which is denoted as δ = [δ 1 , δ 2 , …, δn ], where δ 1 is the slope between the first and second path points in the curve path, δ 2 is the slope between the second and third path points in the curve path, δ n is the slope between the nth path point and the n+1th path point in the curved path, where n is greater than or equal to 1 and less than the total number of path points on the curved path.
[0124] S133202. Perform linear fitting on the slopes between adjacent path points to divide the curved path into curved sub-paths with different curvatures.
[0125] The connection points between the curve sub-paths are used as foresight distance points, and the foresight distance points are used to determine the end point position of the foresight distance.
[0126] When the number of path points n is an integer greater than 2, the robot can 1 , δ 2 ] to do a linear fit, record it as the first fitting model, and calculate δ 3 The error between the first fitting model and 1 , and then [δ 1 , δ 2 , δ 3 ] to do a linear fit, record it as the second fitting model, and calculate δ 4 The error between the second fitting model β 2 , and then [δ 1 , δ 2 , δ 3, δ 4 ] to do a linear fit, and so on, for [δ 1 , δ 2 …, δ n-1 ] to do a linear fit, record it as the n-2th fitting model, and calculate δ n The error β between the n-2th fitted model n-2 .
[0127] Among them, the fitting model in this embodiment can be constructed using the least squares curve fitting method, that is, based on the least squares principle, the functional relationship of the slope variable is obtained as the fitting model, so that the slope between the path points can best approximate or fit the curve through the fitting model.
[0128] The robot can 1 , β 2 , β 3 , …, β n-2] The curve path is divided into multiple curve sub-paths with different curvatures. The curvature ranges of adjacent curve sub-paths are different. The curvatures of each path point in each curve sub-path are close to the same. Each path point in each curve sub-path can form a standard arc.
[0129] The connection point between adjacent curved sub-paths is the foresight distance point of the robot in the previous curved sub-path in the adjacent curved sub-path, and the foresight distance point is used to determine the end point position of the robot's foresight distance.
[0130] In addition, if a certain curved sub-path is the last segment in the curved path, the end point of the curved sub-path is also a foresight distance point, and the number of foresight distance points is the same as the number of curved sub-paths in the curved path.
[0131] S133203. Obtain the foresight distance point of the next motion cycle from the foresight distance points.
[0132] Specifically, the robot can first determine the curve sub-path corresponding to the current position, and then determine the foresight distance point corresponding to the current cycle. Then, it can predict whether the current cycle will reach the foresight distance point based on the path deviation model of the current cycle. If not, the foresight distance point of the next movement cycle will be the foresight distance point; if reached, the foresight distance point of the next movement cycle will be the next foresight distance point of the foresight distance point.
[0133] S133204. Obtain the foresight distance according to the current position and the foresight distance point.
[0134] Specifically, the straight-line distance between the current position of the robot and the foresight distance point of the next motion cycle may be used as the foresight distance of the robot in the next motion cycle.
[0135] S13321. Obtain the offset distance of the robot from the target planned path.
[0136] The offset distance of the robot from the target planned path is the actual path offset of the robot. If the robot is currently on a straight path, the offset distance is the vertical distance of the robot's geometric center relative to the straight path. If the robot is currently on a curved sub-path in a curved path, the curved sub-path can be used as a standard arc, and then the center of the arc can be determined. The line connecting the robot's geometric center and the center of the circle has an intersection with the arc. The straight-line distance from the intersection to the robot's geometric center is the robot's offset distance.
[0137] S13322. Obtain the offset distance range.
[0138] The robot's offset distance range can be a set range, for example, de, where d can be the vertical distance from the robot's geometric center to the target planning path, e can be a set distance, such as 1 meter, or other set distances, d <e。
[0139] S13323. When the offset distance is less than the minimum value within the offset distance range, the target angular velocity is calculated based on the foresight distance, the offset distance, and the target linear velocity.
[0140] In order to enable the robot to quickly return to the center when it is yawed and to minimize the distance the robot needs to move to return to the center, when the current offset distance of the robot is less than d, the target angular velocity of the robot in the next motion cycle can be determined according to the following formula (5):
[0141]
[0142] Among them, ω is the target angular velocity, v' is the target linear velocity, and L is the robot's forward viewing distance.
[0143] S13324. When the offset distance is within the offset distance range, determine the proportional increment according to the offset distance, and determine the target angular velocity according to the foresight distance, the offset distance, the target linear velocity, and the proportional increment.
[0144] Specifically, when the robot is offset by a distance greater than or equal to d and less than or equal to e due to factors such as terrain, collision or structural defects, a proportional increment p can be introduced to increase the target angular velocity, so that the robot can quickly return to the center position and reduce the distance the robot needs to move to return to the center position. The proportional increment p can be determined according to the following formula (6):
[0145]
[0146] The target angular velocity of the robot in the current motion cycle can be determined according to the following formula (7):
[0147]
[0148] In the process of the robot tracking the target planning path, there may be a situation where it deviates far from the target planning path. In this case, in this embodiment, when the offset distance is greater than e, a first target planning path can be planned for the robot, the target planning path can be updated to the first target planning path, and then the path deviation model of the next motion cycle can be re-determined to enable the robot to quickly return to the center.
[0149] For example, the robot can be rotated a certain angle on the spot and return to the target planned path along a vertical path from the robot's position to the target planned path.
[0150] S134. Use the target motion speed as the motion speed of the robot in the next motion cycle.
[0151] When the target linear velocity and the target angular velocity are determined, the robot can adjust the linear velocity of the robot to the target linear velocity and the angular velocity of the robot to the target angular velocity in the next motion cycle.
[0152] The path tracking method, device and path tracking device provided by the embodiment of the present application obtain the target planning path information and operation information of the current motion cycle of the robot, determine the path deviation model of the next motion cycle according to the target planning path, and determine the motion speed of the next motion cycle according to the current motion speed, the path deviation model and the path category. Wherein, the target planning path information includes the path category to which the target sub-path corresponding to the target planning path belongs, the operation information includes the current motion speed of the robot, and the path deviation model is used to calculate the deviation of the robot from the target planning path in the future. The path tracking method provided by the embodiment of the present application can adjust the motion speed of the robot in the next motion cycle according to the motion speed of the current motion cycle of the robot and the path deviation model when the robot is yawed, so that the actual movement trajectory of the robot is closer to the planned path, thereby reducing the path deviation between the actual movement trajectory and the planned path caused by the yaw of the robot, making the robot track the planned path more accurately, thereby improving the coverage rate of the robot to the operating area, and at the same time, as the distance deviation between the actual movement path and the planned path is reduced, the robot can be quickly returned to the planned path by adjusting the motion speed of the robot, that is, the time of the return process is greatly reduced, thereby improving the operation efficiency of the robot.
[0153] Those skilled in the art will appreciate that the above embodiments are exemplary and are not intended to limit the present application. Where possible, the execution order of one or more of the above steps may be adjusted, or may be selectively combined to obtain one or more other embodiments. Those skilled in the art may select and combine any of the above steps as needed, and all those that do not depart from the essence of the present application fall within the scope of protection of the present application.
[0154] Based on the same inventive concept, as an implementation of the above method, an embodiment of the present application provides a path tracking device, and the device embodiment corresponds to the above method embodiment. For ease of reading, the present device embodiment will no longer repeat the details of the above method embodiment one by one, but it should be clear that the device in this embodiment can correspond to all the contents of the above method embodiment.
[0155] Fig.10 A schematic diagram of the structure of a path tracking device provided in an embodiment of the present application is shown in FIG. Fig.10 As shown, the device provided in this embodiment includes:
[0156] Acquisition module 101: used to acquire target planning path information and operation information of the current motion cycle of the robot, wherein the target planning path information includes the target planning path and the path category to which the target sub-path corresponding to the target planning path belongs, and the operation information includes the current motion speed of the robot;
[0157] A path deviation model determination module 102 is used to determine a path deviation model for the next motion cycle according to the target planning path, wherein the path deviation model is used to calculate the deviation of the robot from the target planning path in the future;
[0158] The motion speed determination module 103 is used to determine the motion speed of the robot in the next motion cycle according to the current motion speed, the path deviation model and the path category.
[0159] As an optional implementation manner, the path deviation model determination module 102 is specifically configured to:
[0160] Get the target subpath corresponding to the current position in the target planning path;
[0161] Obtaining the position information of the robot at each sampling moment;
[0162] Acquire an actual path offset of the position information from the target subpath;
[0163] A path deviation model for the next motion cycle is determined according to the actual path offset.
[0164] As an optional implementation manner, the motion speed determination module 103 is specifically configured to:
[0165] Obtaining the motion information of the robot in the next motion cycle and the error increment coefficient of the path deviation model; the motion information includes the current position and the actual path offset of the current position relative to the target planned path;
[0166] Determining a predicted path deviation of the robot in a next motion cycle according to the actual path deviation and the path deviation model;
[0167] Calculate the target movement speed according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current movement speed;
[0168] The target motion speed is used as the motion speed of the robot in the next motion cycle.
[0169] As an optional implementation manner, the target motion speed includes a target linear speed, and the motion speed determination module 103 is specifically used for:
[0170] Calculating a target error increment coefficient according to the actual path offset, the predicted path offset and the error increment coefficient;
[0171] The target linear velocity is calculated according to the target error increment coefficient, the path category and the current motion velocity.
[0172] As an optional implementation manner, the target motion speed includes a target angular velocity, and the motion speed determination module 103 is specifically configured to:
[0173] Acquire the forward sight distance of the robot in the next motion cycle according to the path category;
[0174] Obtaining an offset distance of the robot from the target planned path;
[0175] Get the offset distance range;
[0176] When the offset distance is less than a minimum value within the offset distance range, the target angular velocity is calculated according to the foresight distance, the offset distance and the target linear velocity;
[0177] When the offset distance is within the offset distance range, a proportional increment is determined according to the offset distance, and a target angular velocity is determined according to the foresight distance, the offset distance, the target linear velocity, and the proportional increment.
[0178] As an optional implementation, the method further includes:
[0179] When the offset distance is greater than the offset distance range, constructing a first target planning path;
[0180] The target planning path is updated to the first target planning path, and the step of determining the path deviation model of the next motion cycle according to the target planning path is returned to be executed.
[0181] As an optional implementation, the method further includes:
[0182] Obtain all path points of the target planning path and the slopes between adjacent path points;
[0183] According to the change of the slope, the target planning path is divided into different target sub-paths, and the path categories corresponding to the target sub-paths are determined;
[0184] The path categories include straight path and curved path.
[0185] As an optional implementation manner, when the path category of the target sub-path is a curved path, the motion speed determination module 103 is specifically configured to:
[0186] Get the slope between adjacent path points in the curve path;
[0187] Performing linear fitting on the slopes between the adjacent path points to divide the curved path into curved sub-paths with different curvatures, wherein the connection points between the curved sub-paths are foresight distance points, and the foresight distance points are used to determine the end point position of the foresight distance;
[0188] Obtaining the foresight distance point of the next movement cycle from the foresight distance point;
[0189] The foresight distance is acquired according to the current position and the foresight distance point.
[0190] The path tracking device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0191] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0192] Based on the same inventive concept, an embodiment of the present application also provides a path tracking device. Fig.11 A schematic diagram of the structure of a path tracking device provided in an embodiment of the present application is shown in FIG. Fig.11 As shown, the path tracking device provided in this embodiment includes: a memory 110 and a processor 120, the memory 110 is used to store a computer program; the processor 120 is used to execute the method described in the above method embodiment when calling the computer program.
[0193] The path tracking device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0194] The embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the method described in the above method embodiment is implemented.
[0195] The embodiment of the present application also provides a computer program product. When the computer program product is run on a path tracking device, the path tracking device implements the method described in the above method embodiment when executing.
[0196] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk or a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
[0197] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media can include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
[0198] The naming or numbering of the steps in this application does not mean that the steps in the method flow must be executed in the time / logical sequence indicated by the naming or numbering. The named or numbered process steps can change the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.
[0199] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0200] In the embodiments provided in the present application, it should be understood that the disclosed devices / equipment and methods can be implemented in other ways. For example, the device / equipment embodiments described above are merely schematic, for example, the division of the modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0201] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.
[0202] In the description of this application, unless otherwise specified, " / " indicates that the objects associated with each other are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship between associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.
[0203] Furthermore, in the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0204] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.
[0205] In addition, in the description of the present specification and the appended claims, the terms "first", "second", "third", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.
[0206] References described in the specification of the present application to "one embodiment" or "some embodiments" etc. mean that one or more embodiments of the present application include a specific feature, structure or characteristic described in conjunction with the embodiment. Therefore, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in the specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.
[0207] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A path tracking method, characterized in that: include: Acquire target planning path information and operation information of the current motion cycle of the robot, wherein the target planning path information includes the target planning path and the path category to which the target sub-path corresponding to the target planning path belongs, the operation information includes the current motion speed of the robot, and the path category includes a curve, a straight line, and a relay point connecting different target sub-paths; The path deviation model of the next motion cycle is determined according to the target planning path, wherein the path deviation model is used to calculate the deviation of the robot from the target planning path in the future; the path deviation model is expressed by the following formula: in, is the predicted path offset of the robot relative to the target planned path after t seconds from the start of the current motion cycle, is the error increment coefficient, is the actual path offset; The movement speed of the robot in the next movement cycle is determined according to the current movement speed, the path deviation model and the path category.
2. The method according to claim 1, characterized in that The path deviation model for determining the next motion cycle according to the target planning path includes: Get the target subpath corresponding to the current position in the target planning path; Obtaining the position information of the robot at each sampling moment; Acquire an actual path offset of the position information from the target subpath; A path deviation model for the next motion cycle is determined according to the actual path offset.
3. The method according to claim 1 or 2, characterized in that: The determining the movement speed of the robot in the next movement cycle according to the current movement speed, the path deviation model and the path category includes: Obtaining the motion information of the robot in the next motion cycle and the error increment coefficient of the path deviation model; the motion information includes the current position and the actual path offset of the current position relative to the target planned path; Determining a predicted path deviation of the robot in a next motion cycle according to the actual path deviation and the path deviation model; Calculate the target movement speed according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current movement speed; The target motion speed is used as the motion speed of the robot in the next motion cycle.
4. The method according to claim 3, characterized in that The target motion speed includes a target linear speed, and the target motion speed is calculated according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current motion speed, including: Calculating a target error increment coefficient according to the actual path offset, the predicted path offset and the error increment coefficient; The target linear velocity is calculated according to the target error increment coefficient, the path category and the current motion velocity.
5. The method according to claim 4, characterized in that The target motion speed includes a target angular velocity, and the target motion speed is calculated according to the actual path offset, the predicted path offset, the error increment coefficient, the path category and the current motion speed, and further includes: Acquire the forward sight distance of the robot in the next motion cycle according to the path category; Obtaining an offset distance of the robot from the target planned path; Get the offset distance range; When the offset distance is less than a minimum value within the offset distance range, the target angular velocity is calculated according to the foresight distance, the offset distance and the target linear velocity; When the offset distance is within the offset distance range, a proportional increment is determined according to the offset distance, and a target angular velocity is determined according to the foresight distance, the offset distance, the target linear velocity, and the proportional increment.
6. The method according to claim 5, characterized in that The method further comprises: When the offset distance is greater than the offset distance range, constructing a first target planning path; The target planning path is updated to the first target planning path, and the step of determining the path deviation model of the next motion cycle according to the target planning path is returned to be executed.
7. The method according to claim 5, characterized in that The method further comprises: Obtain all path points of the target planning path and the slopes between adjacent path points; According to the change of the slope, the target planning path is divided into different target sub-paths, and the path categories corresponding to the target sub-paths are determined; The path categories include straight path and curved path.
8. The method according to claim 7, characterized in that When the path category of the target sub-path is a curved path, acquiring the forward sight distance of the robot in the next motion cycle according to the path category includes: Get the slope between adjacent path points in the curve path; Performing linear fitting on the slopes between the adjacent path points to divide the curved path into curved sub-paths with different curvatures, wherein the connection points between the curved sub-paths are foresight distance points, and the foresight distance points are used to determine the end point position of the foresight distance; Obtaining the foresight distance point of the next movement cycle from the foresight distance point; The foresight distance is acquired according to the current position and the foresight distance point.
9. A path tracking device, characterized in that: include: A memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the method according to any one of claims 1 to 8 when calling the computer program.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Path tracking method and terminal equipment
CN111123904A
Route planning method and device for mobile robot and terminal equipment
CN111288995A