A method, apparatus, equipment and medium for generating insertion paths for forklift AGVs
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGDONG JATEN ROBOT & AUTOMATION
- Filing Date
- 2022-11-18
- Publication Date
- 2026-06-30
AI Technical Summary
In existing technologies, forklift-type AGVs cannot directly insert into the path segment when they deviate from the driving path, and the steering wheel rotation constraint is not considered, resulting in the insertion path being unsuitable, taking a long time, or deviating from the path.
An insertion point and path optimization strategy is formulated based on cubic B-spline curve fitting and nonlinear programming model. The optimal insertion path is generated by constraining the steering wheel angle and speed.
This enables forklift AGVs to return to their travel path stably and smoothly in the shortest possible time, improving path selectivity and insertion efficiency.
Smart Images

Figure CN115790628B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of AGV application technology, specifically to a method, apparatus, equipment, and medium for generating insertion paths for forklift AGVs. Background Technology
[0002] AGVs (Automated Guided Vehicles) typically operate automatically along pre-planned paths, which consist of multiple waypoints and path segments. When an AGV deviates from the path, it needs to be manually reinserted. To enable AGVs to automatically insert into the path, a Hermite curve-based insertion path generation method (patent number CN109596136B) has been published in the prior art. However, this method still has the following drawbacks: First, the AGV can only be inserted into a single waypoint on the path, not directly into a path segment. This results in a longer insertion time when nearby waypoints are relatively far away. Second, because this method does not consider the steering wheel rotation constraints of forklift AGVs, the resulting insertion path from the forklift AGV to a selected waypoint may not be suitable for forklift AGVs. Summary of the Invention
[0003] This invention provides a method, apparatus, device, and medium for generating insertion paths for forklift AGVs, in order to solve one or more technical problems existing in the prior art, and at least provide a beneficial option or create conditions.
[0004] Firstly, a method for generating insertion paths for forklift AGVs is provided, the method comprising:
[0005] When the forklift AGV deviates from the driving path, the driving path is traversed according to the preset search conditions to obtain a set of N candidate insertion points, where N is a positive integer and N>1;
[0006] Based on the constructed nonlinear programming model and the principle of cubic B-spline curve fitting, an insertion point optimization strategy and an insertion path optimization strategy are formulated. The nonlinear programming model includes steering wheel angle constraints, steering wheel angular velocity constraints, and an objective function that minimizes travel time.
[0007] The insertion point optimization strategy is used to select the N optimal candidate insertion points from the set of N candidate insertion points;
[0008] The insertion path optimization strategy is used to generate N optimal candidate paths corresponding to the N optimal candidate insertion points, and the travel time required for each optimal candidate path is recorded.
[0009] Select the optimal candidate path with the shortest travel time from the N optimal candidate paths and define it as the optimal insertion path when the forklift AGV enters the travel path.
[0010] Furthermore, the step of traversing the driving path according to preset search conditions to obtain a set of N candidate insertion points includes:
[0011] The driving path has several path points, and all path points that meet the preset search conditions are selected from the several path points.
[0012] All path segments associated with all path points are obtained from the driving path and recorded as N path segments. Then, points are taken at equal intervals for each path segment to form a corresponding set of candidate insertion points.
[0013] Delete all candidate insertion points that appear repeatedly in the N candidate insertion point set and all candidate insertion points that do not meet the preset search conditions to obtain an updated N candidate insertion point set.
[0014] Furthermore, the straight-line distance between each path point selected from the plurality of path points and the location of the forklift AGV does not exceed the set search radius.
[0015] Furthermore, the location of the forklift AGV is defined as the starting point, and the finally selected path point or candidate insertion point is defined as the ending point. The preset search conditions include: the absolute value of the difference between the direction angle of the starting point and the direction angle of the ending point does not exceed 90°, the starting point and the ending point form a vector, and the absolute value of the difference between the direction angle of the vector and the direction angle of the starting point does not exceed 90°.
[0016] Furthermore, the steering wheel angle constraint condition is as follows:
[0017]
[0018] The constraint condition for the steering wheel angular velocity is:
[0019]
[0020] The expression for the objective function is:
[0021]
[0022] Here, a candidate path is defined between the location of the forklift AGV and any candidate insertion point, k is the curvature of the candidate path, and x f and y f These represent the lateral and longitudinal distances of the steering wheel of the forklift AGV relative to the midpoint of the rear axle, respectively. For the maximum steering wheel angle, v r Let X(u) and Y(u) be the velocity components of the forklift AGV along the vehicle's central axis, respectively. These are collectively referred to as the representation functions of the candidate path in the global coordinate system. X′(u) is the first derivative of X(u), Y′(u) is the first derivative of Y(u), k′ is the curvature change, and ω is the velocity component of the forklift AGV along its central axis. max Let F be the maximum steering wheel angular velocity, F be the objective function, and n be the number of control points that the candidate path depends on when it is fitted and formed.
[0023] Furthermore, the insertion point optimization strategy is applied to the analysis of any set of candidate insertion points, which contains M candidate insertion points. The implementation process of the insertion point optimization strategy includes:
[0024] Any candidate insertion point and the location of the forklift AGV form two fixed first control points, and four first control points to be optimized are constructed based on the two fixed first control points.
[0025] A cubic B-spline curve is used to fit the six first control points. During the fitting process, the nonlinear programming model is used to iteratively optimize the four first control points to be optimized, so as to obtain the candidate path corresponding to the candidate insertion point and record the required travel time.
[0026] After performing the above procedure M times, M candidate paths corresponding to the M candidate insertion points are obtained. Then, the candidate path with the shortest travel time is selected from the M candidate paths, and the candidate insertion point corresponding to the selected candidate path is taken as the optimal candidate insertion point in the candidate insertion point set. M is a positive integer and M>1.
[0027] Furthermore, the insertion path optimization strategy is applied to the analysis of any optimal candidate insertion point, and the implementation process includes:
[0028] Step 1: Obtain the kth optimized path, which is the current candidate path between the location of the forklift AGV and the optimal candidate insertion point, where k is a positive integer and k≥1;
[0029] Step 2: Obtain the kth optimized time, which is the travel time required for the kth optimized path;
[0030] Step 3: Obtain the set of the kth optimized control points that the kth optimized path depends on when the fitting is formed. The set contains two fixed second control points consisting of the optimal candidate insertion point and the location of the forklift AGV, as well as m optimized second control points, where m is a positive integer and m≥4.
[0031] Step 4: Based on the set of the kth optimized control points, construct m+1 second control points to be optimized;
[0032] Step 5: Use cubic B-spline curves to fit the m+1 second control points to be optimized and the two fixed second control points. During the fitting process, use the nonlinear programming model to iteratively optimize the m+1 second control points to obtain the k+1th optimized path, and record the corresponding k+1th optimization time and the set of k+1th optimized control points.
[0033] Step 6: Determine whether the (k+1)th optimization time is less than the kth optimization time; if yes, proceed to step 7; if no, use the kth optimized path as the optimal candidate path corresponding to the optimal candidate insertion point.
[0034] Step 7: Determine whether m+3 has reached the preset total number of control points; if not, assign k+1 to k and m+1 to m, and return to step 1; if yes, use the k+1th optimized path as the optimal candidate path corresponding to the optimal candidate insertion point.
[0035] Secondly, a forklift AGV insertion path generation device is provided, the device comprising:
[0036] The traversal module is used to traverse the driving path according to preset search conditions when the forklift AGV deviates from the driving path, and obtain a set of N candidate insertion points, where N is a positive integer and N>1;
[0037] The module is used to formulate the insertion point optimization strategy and the insertion path optimization strategy based on the constructed nonlinear programming model and the cubic B-spline curve fitting principle. The nonlinear programming model includes steering wheel angle constraints, steering wheel angular velocity constraints, and an objective function that minimizes the travel time.
[0038] The first filtering module is used to filter out the corresponding N optimal candidate insertion points from the set of N candidate insertion points using the insertion point optimization strategy.
[0039] The generation module is used to generate N optimal candidate paths corresponding to the N optimal candidate insertion points using the insertion path optimization strategy, and to record the travel time required for each optimal candidate path.
[0040] The second filtering module is used to select the optimal candidate path with the shortest travel time from the N optimal candidate paths and define it as the optimal insertion path when the forklift AGV enters the travel path.
[0041] Thirdly, a computer device is provided, comprising:
[0042] At least one memory;
[0043] At least one processor;
[0044] The memory stores a computer program, and the processor executes the computer program as described in the first aspect: the method for generating insertion paths for forklift AGVs.
[0045] Fourthly, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the forklift AGV insertion path generation method as described in the first aspect.
[0046] The present invention has at least the following beneficial effects: it uses cubic B-spline curve fitting based on a variable number of control points to obtain the optimal insertion path from the location of the forklift AGV to the driving path, and uses a pre-constructed nonlinear programming model to perform optimization analysis during the fitting process of the optimal insertion path, so that the forklift AGV can return to the driving path through the optimal insertion path in the shortest time and can travel stably and smoothly on the optimal insertion path; in addition, it uses preset search conditions and a pre-defined insertion point optimization strategy to select the endpoint of the optimal insertion path on the driving path, without limiting it to a specific path point on the driving path, thus having high selectivity. Attached Figure Description
[0047] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation on the technical solutions of the present invention.
[0048] Figure 1 This is a flowchart illustrating a method for generating insertion paths for forklift AGVs according to an embodiment of the present invention.
[0049] Figure 2 This is a schematic diagram illustrating the process of setting preset search conditions in an embodiment of the present invention;
[0050] Figure 3 This is a schematic diagram of a forklift AGV moving along a candidate path in an embodiment of the present invention;
[0051] Figure 4 This is a schematic diagram of a candidate path obtained by fitting six second control points in an embodiment of the present invention.
[0052] Figure 5 This is a schematic diagram of a candidate path obtained by fitting seven second control points in an embodiment of the present invention.
[0053] Figure 6 This is a schematic diagram of the composition of a forklift AGV insertion path generation device in an embodiment of the present invention;
[0054] Figure 7 This is a schematic diagram of the hardware structure of the computer device in an embodiment of this disclosure. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0056] It should be noted that although functional modules are divided in the system diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the system or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0057] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a method for generating insertion paths for forklift AGVs according to an embodiment of the present invention. The method includes the following:
[0058] Step S110: When the forklift AGV deviates from the driving path, the driving path is traversed according to the preset search conditions to obtain a set of N candidate insertion points, where N is a positive integer and N>1;
[0059] Step S120: Based on the constructed nonlinear programming model and the principle of cubic B-spline curve fitting, formulate the insertion point optimization strategy and the insertion path optimization strategy.
[0060] Step S130: Use the insertion point optimization strategy to select the corresponding N optimal candidate insertion points from the set of N candidate insertion points;
[0061] Step S140: Use the insertion path optimization strategy to generate N optimal candidate paths corresponding to the N optimal candidate insertion points, and record the travel time required for each optimal candidate path.
[0062] Step S150: Select the optimal candidate path with the shortest travel time from the N optimal candidate paths and define it as the optimal insertion path when the forklift AGV enters the travel path.
[0063] It should be noted that the insertion path generation method provided by the present invention is not limited to the forklift AGV, but can also be applied to all single-steering wheel AGVs with the same structure as the forklift AGV.
[0064] In this embodiment of the invention, the specific implementation process of step S110 includes the following:
[0065] Step S111: The driving path has several path points, and every two adjacent path points form a path segment. The longest path segment is obtained from the driving path, and the set search radius of the forklift AGV is determined based on the length value of the longest path segment.
[0066] Step S112: Perform preliminary screening on the plurality of path points to obtain a set of candidate path points. At this time, the straight-line distance between each path point in the set of candidate path points and the location of the forklift AGV is less than or equal to the set search radius.
[0067] Step S113: Determine the preset search conditions for the forklift AGV, and then directly obtain all path points that meet the preset search conditions from the set of candidate path points;
[0068] Step S114: Search along the driving path to obtain all path segments associated with all the waypoints and record them as N path segments; it should be noted that there are no identical path segments among the N path segments, and any one of the N path segments must contain at least one of the waypoints.
[0069] Step S115: For any one of the N path segments, divide the path segment into equal parts according to a set interval to obtain all equal division points. Then, define all equal division points, along with the two path points at the beginning and end of the path segment, as candidate insertion points on the path segment, thereby forming a set of candidate insertion points corresponding to the path segment; wherein, the set interval can make each of the N path segments equally divided.
[0070] Step S116: Delete all candidate insertion points that appear repeatedly in the N candidate insertion point set obtained by performing the above step S115, so as to obtain the N candidate insertion point set after the first update.
[0071] Step S117: Delete all candidate insertion points in the initially updated set of N candidate insertion points that do not meet the preset search conditions to obtain the final updated set of N candidate insertion points.
[0072] In step S113 above, it is assumed that the location of the forklift AGV is... Figure 2 Point P in A The final selected candidate insertion points or path points are Figure 2 Point P in M Point P A As the starting point, obtain point P. A The coordinate information in the global coordinate system XOY is (x A ,y A And with a direction angle of α, point P M As the endpoint, obtain point P. M The coordinate information in the global coordinate system XOY is (x M ,y M And with a direction angle of β, obtain point P. A Point P M Vector of time Calculate vectors The corresponding direction angle is γ = atan2(y M -y A ,x M -x A The preset search conditions for the forklift AGV can be determined as follows: First, point P A Direction angle and point P M The absolute value of the difference between the direction angles must not exceed 90°, i.e., |α-β|≤90°; secondly, vectors Direction angle and point P A The absolute value of the difference between the direction angles is not allowed to exceed 90°, that is, |γ-α|≤90°.
[0073] It should be noted that setting the preset search conditions can ensure that each path point or each candidate insertion point selected is basically consistent with the orientation of the forklift AGV and located in front of the forklift AGV, thus avoiding the forklift AGV turning around when re-entering the driving path.
[0074] In this embodiment of the invention, the implementation process of step S116 is illustrated by example as follows: When there are two adjacent path segments among the N path segments, the two adjacent path segments must be connected by a path point (denoted as point P). BBy performing step S115, two candidate insertion point sets corresponding to the two adjacent path segments can be obtained and denoted as the first candidate insertion point set and the second candidate insertion point set, respectively. Then, for point P contained in either the first candidate insertion point set or the second candidate insertion point set... B Delete it.
[0075] It should be noted that after performing the above step S117, it should also be ensured that the straight-line distance between each candidate insertion point included in the final updated set of N candidate insertion points and the location of the forklift AGV is less than or equal to the set search radius.
[0076] In this embodiment of the invention, the nonlinear programming model mentioned in step S120 includes an objective function, a steering wheel angular velocity constraint, and a steering wheel angle constraint. A candidate path S is formed between the location of the forklift AGV and any candidate insertion point. Figure 3 The provided schematic diagram shows the forklift AGV moving along the candidate path S. The expansion and explanation of the nonlinear programming model are as follows:
[0077] (1) The objective function aims to minimize the travel time, that is, to minimize the time taken by the forklift AGV to complete the candidate path S. The corresponding expression is:
[0078]
[0079]
[0080]
[0081] (2) To ensure that the forklift AGV can travel more stably and safely on the candidate path S, the steering wheel angle constraint condition is constructed as follows:
[0082]
[0083] (3) Due to the performance limitations of the steering motor inside the forklift AGV, the angular velocity of the steering wheel of the forklift AGV cannot be infinitely large. If the curvature of the candidate path S changes too rapidly, causing the angular velocity of the steering wheel to exceed the limit, the forklift AGV will deviate from the path because its steering wheel cannot rotate to the required position within the control cycle. In order to ensure that the forklift AGV can always stay on the candidate path S, the constraint condition for the angular velocity of the steering wheel is constructed as follows:
[0084]
[0085] Where F represents the objective function, n is the number of control points used to fit and form the candidate path S, functions X(u) and Y(u) are actually the representation functions of the candidate path S in the global coordinate system XOY, X′(u) is the first derivative of function X(u), X″(u) is the second derivative of function X(u), Y′(u) is the first derivative of function Y(u), Y″(u) is the second derivative of function Y(u), and v r Let v be the velocity component of the forklift AGV along the vehicle's central axis. f Let x be the steering wheel speed of the forklift AGV, k be the curvature of the candidate path S, and x be the speed of the steering wheel. f The steering wheel of the forklift AGV is located at the midpoint p of the rear axle. o The lateral distance, k′ is the first derivative of curvature k, also known as the change in curvature. The maximum steering wheel angle allowed for the steering wheel to rotate is y f p is the midpoint of the steering wheel relative to the rear wheel axle. o The longitudinal distance, ω max The maximum angular velocity of the steering wheel when it is allowed to rotate; the function X(u) is mainly used to solve the x-coordinate information of any point in the candidate path S in the global coordinate system XOY, and the function Y(u) is mainly used to solve the y-coordinate information of any point in the candidate path S in the global coordinate system XOY; Figure 3 In ICR represents the steering wheel angle when the steering wheel rotates, ICR represents the instantaneous rotation center around which the forklift AGV revolves when it makes a circular motion on the candidate path S, and R represents the instantaneous rotation radius of the forklift AGV when it makes a circular motion on the candidate path S.
[0086] In this embodiment of the invention, the specific implementation process of step S130 includes the following:
[0087] Step S131: Record the location of the forklift AGV as point P. A and obtain point P A The coordinate information in the global coordinate system XOY is (x A ,y A And the direction angle is α;
[0088] Step S132: Obtain the j-th candidate insertion point set from the N candidate insertion point sets. The j-th candidate insertion point set contains M candidate insertion points, where M is a positive integer and M > 1.
[0089] Step S133: Obtain the i-th candidate insertion point from the M candidate insertion points and denote it as point P. i Because of point P iIn reality, it is a point on the driving path, and point P can be directly obtained. i The coordinate information in the global coordinate system XOY is (x i ,y i and direction angle β i ;
[0090] Step S134, move point P A As a fixed first control point CP2, a first control point CP1 to be optimized is added to one side of the first control point CP2, and a first control point CP3 to be optimized is added to the other side of the first control point CP2. The coordinate information of the first control point CP1 can then be defined as (-d1*cosα+x). A ,-d1*sinα+y A ), and the coordinate information of the first control point CP3 is (d1*cosα+x a ,d1*sinα+y A ); Point P i As another fixed first control point CP5, a first control point CP4 to be optimized is added to one side of the first control point CP5, and a first control point CP6 to be optimized is added to the other side of the first control point CP5. At this time, the coordinate information of the first control point CP4 can also be determined as (-d2*cosβ). i +x i ,-d2*sinβ i +y i ), and the coordinate information of the first control point CP6 is (d2*cosβ) i +x i ,d2*sinβ i +y i ), where d1 and d2 are parameters to be optimized;
[0091] Step S135: Perform a fitting operation on the six first control points mentioned in step S134 using a cubic B-spline curve. During the fitting process, perform iterative optimization on the four first control points to be optimized mentioned in step S134 using the nonlinear programming model. This allows fitting the i-th candidate path corresponding to the i-th candidate insertion point and recording the travel time required for the i-th candidate path (i.e., the objective function value obtained after iterative optimization). Also, record the optimal solutions for d1 and d2 obtained after iterative optimization. Update the four first control points to be optimized to the optimized four first control points by numerical substitution.
[0092] Step S136: Determine whether i < M is true; if yes, assign i+1 to i and return to execute the above step S133; if no, the M candidate paths corresponding to the M candidate insertion points can be obtained, and then execute the following step S137.
[0093] Step S137: Directly select the candidate path with the shortest travel time from the M candidate paths, and then take the candidate insertion point associated with the candidate path as the optimal candidate insertion point in the set of candidate insertion points.
[0094] Step S138: Determine whether j < N is true; if yes, assign j+1 to j and return to execute step S132 above; if no, the N optimal candidate insertion points contained in the set of N candidate insertion points can be obtained.
[0095] It should be noted that step S132 above is executed starting from j=1, and step S133 above is also executed starting from i=1.
[0096] In step S135 above, a candidate path can be obtained by performing a fitting operation on the six first control points mentioned in step S134 using a cubic B-spline curve, and this candidate path starts from point P. A Starting from point P i The starting direction of this candidate path is relative to point P, with the destination being the endpoint. a The direction is the same as that of point P, and the ending direction of this candidate path is the same as that of point P. i Since the directions are the same, the specific fitting process for this candidate path includes the following:
[0097] Step A1: The general formula for constructing a cubic B-spline curve is:
[0098]
[0099] Step A2: Substitute the four first control points (i.e., CP1 to CP4) mentioned in step S134 above into the formula of step A1 above. At the same time, take values for variable u from 0 to 1 according to a certain step size and then substitute them into the formula of step A1 above to complete the interpolation operation, which can generate the first fitted curve.
[0100] Step A3: Substitute the four first control points (i.e., CP2 to CP5) mentioned in step S134 above into the formula of step A1 above. At the same time, take values for variable u from 0 to 1 according to a certain step size and then substitute them into the formula of step A1 above to complete the interpolation operation, which can generate the second fitted curve.
[0101] Step A4: Substitute the four first control points (i.e., CP3 to CP6) mentioned in step S134 above into the formula of step A1 above. At the same time, take values for variable u from 0 to 1 according to a certain step size and then substitute them into the formula of step A1 above to complete the interpolation operation, which can generate the third fitting curve.
[0102] Step A5: Connect the first fitted curve segment, the second fitted curve segment, and the third fitted curve segment sequentially to form a curve starting from point P. A Point P i The candidate path is obtained, and its representation function in the global coordinate system XOY is as follows:
[0103]
[0104] Among them, a x b x c x d x a y b y c y d y These are all coefficients, and their values are actually related to the final values of the parameters d1 and d2 to be optimized. In addition, the step size mentioned in steps A2, A3 and A4 above can be set to Δu = 0.01 to make the curve fitting effect better.
[0105] In this embodiment of the invention, the specific implementation process of step S140 includes the following:
[0106] Step S141: Based on the iterative solution efficiency and system real-time requirements, the total number of preset control points that can be used when fitting the candidate path between the location of the forklift AGV and any optimal candidate insertion point is limited to N. max ;
[0107] Step S142: Obtain the p-th optimal candidate insertion point from the N optimal candidate insertion points;
[0108] Step S143: Obtain the k-th optimized path corresponding to the p-th optimal candidate insertion point, the k-th optimized control point set on which it depends during fitting, and the k-th optimized time, where k is a positive integer and k≥1; the k-th optimized path is actually represented as the current candidate path required for the forklift AGV to travel from its current location to the optimal candidate insertion point, and the k-th optimized time is actually the travel time required for the forklift AGV to complete the k-th optimized path. The k-th optimized control point set includes m optimized second control points and two fixed second control points formed by the location of the forklift AGV and the p-th optimal candidate insertion point, where m is a positive integer and m≥4;
[0109] Step S144: The k-th optimized control point set actually contains m+2 second control points. Connect every two adjacent second control points in the m+2 second control points to form m+1 edges. Then, select the longest edge from the m+1 edges and record the two second control points that constitute the longest edge. Finally, select the midpoint of the longest edge to add a second control point. At this time, prioritize restoring the optimized m second control points contained in the k-th optimized control point set to the m second control points to be optimized directly limited by the parameters d1 and d2. Then, determine the coordinate information of the added second control point based on the coordinate information of the two second control points that constitute the longest edge in the state to be optimized. Thus, the m+1 second control points to be optimized can be constructed.
[0110] Step S145: Perform a fitting operation on the two fixed second control points and the m+1 second control points to be optimized using a cubic B-spline curve. During the fitting process, perform iterative optimization on the m+1 second control points to be optimized using the nonlinear programming model. This allows fitting the k+1th optimized path corresponding to the p-th optimal candidate insertion point. Record the k+1th optimization time associated with the k+1th optimized path (i.e., the objective function value obtained after iterative optimization). Also, record the optimal solutions for d1 and d2 values obtained after iterative optimization. Update the m+1 second control points to be optimized to the optimized m+1 second control points using numerical substitution. Then, together with the two fixed second control points, form the set of the k+1th optimized control points that is relied upon when fitting the k+1th optimized path.
[0111] Step S146: Determine whether the (k+1)th optimization time is less than the kth optimization time. If yes, continue to execute the following step S147. If no, output the kth optimization path directly as the optimal candidate path corresponding to the pth optimal candidate insertion point, and output the kth optimization time in a bundled manner. Then continue to execute the following step S148.
[0112] Step S147: Determine m+3 <N max Is it true? If yes, assign k+1 to k and m+1 to m, and then return to execute the above step S143. If no, output the (k+1)th optimized path as the optimal candidate path corresponding to the pth optimal candidate insertion point, and output the (k+1)th optimized time in a bundled manner, and then continue to execute the following steps S148.
[0113] Step S148: Determine whether p < N is true; if yes, assign p+1 to p and return to execute step S142 above; if no, then the N optimal candidate paths corresponding to the N optimal candidate insertion points and the travel time required for each optimal candidate path can be obtained.
[0114] It should be noted that in the specific implementation process of obtaining the p-th optimal candidate insertion point by performing the above step S130, the candidate path corresponding to the p-th optimal candidate insertion point, the travel time required for the candidate path, and the four optimized first control points required to form the candidate path have been obtained; the above step S143 is executed from k=1 and m=4, that is, the candidate path is actually the first optimized path associated with the p-th optimal candidate insertion point, the travel time is actually the first optimized time, and the four optimized first control points are actually the four optimized second control points contained in the first optimized control point set. The location of the forklift AGV can be called a fixed first control point or a fixed second control point, and the p-th optimal candidate insertion point can be called a fixed first control point or a fixed second control point; in addition, the above step S142 is also executed from p=1.
[0115] It should be noted that the fitting principle for the (k+1)th optimized path in step S145 is basically the same as the fitting principle for the candidate path in step S135. The only difference is that the (k+1)th optimized path depends on m+3 second control points when it is fitted. It is necessary to solve for m fitting curves according to the implementation method of step A2, step A3, or step A4, and then connect the m fitting curves in sequence. The starting point of the first fitting curve in the m fitting curves is the location of the forklift AGV, and the ending point of the last fitting curve in the m fitting curves is the p-th optimal candidate insertion point.
[0116] In this embodiment of the invention, the reason for implementing step S140 is explained as follows: After executing step S130, the following is obtained: Figure 4The candidate paths shown are fitted based on six second control points (drawn as dashed lines, hereinafter referred to as dashed path). After performing step S144 above, a second control point CP is added. m After performing step S145 above, the result is as follows: Figure 5 The candidate paths (drawn as solid lines, hereinafter referred to as solid path paths) fitted based on seven second control points are shown. It can be seen that although the solid path is longer than the dashed path, the curvature change of the solid path is more uniform, and there are basically no sudden accelerations or decelerations. The average speed of the forklift AGV is faster when running on the solid path, so the travel time required for the forklift AGV to complete the solid path is shorter. In other words, when the forklift AGV deviates from the travel path, it can return to the travel path more quickly through the solid path to continue to complete the task assigned by the user.
[0117] In this embodiment of the invention, the optimal insertion path from the location of the forklift AGV to the driving path is obtained by fitting a cubic B-spline curve with a variable number of control points. At the same time, a pre-constructed nonlinear programming model is used to perform optimization analysis on the fitting process of the optimal insertion path, so that the forklift AGV can return to the driving path through the optimal insertion path in the shortest time and can travel stably and smoothly on the optimal insertion path. In addition, the endpoint of the optimal insertion path is selected on the driving path using preset search conditions and a pre-defined insertion point optimization strategy, without limiting the selection to a specific path point on the driving path, thus providing high selectivity.
[0118] Please refer to Figure 6 , Figure 6 This is a schematic diagram of the composition of a forklift AGV insertion path generation device provided in an embodiment of the present invention. The device includes:
[0119] The traversal module 210 is used to traverse the driving path according to preset search conditions to obtain a set of N candidate insertion points when the forklift AGV leaves the driving path, where N is a positive integer and N>1.
[0120] The formulation module 220 is used to formulate the insertion path optimization strategy and the insertion point optimization strategy based on the principle of cubic B-spline curve fitting and the pre-established nonlinear programming model; wherein, the nonlinear programming model includes an objective function, a steering wheel angular velocity constraint condition and a steering wheel angle constraint condition, and the objective function is to minimize the travel time;
[0121] The first filtering module 230 is used to filter the N candidate insertion points one by one in combination with the insertion point optimization strategy to obtain the corresponding N optimal candidate insertion points.
[0122] The generation module 240 is used to combine the insertion path optimization strategy to obtain N optimal candidate paths corresponding to the N optimal candidate insertion points, and at the same time record the travel time required for each optimal candidate path.
[0123] The second filtering module 250 is used to query and compare the N optimal candidate paths one by one to obtain the optimal candidate path with the shortest travel time, and then directly use the optimal candidate path as the optimal insertion path when the forklift AGV can re-enter the travel path.
[0124] The content of the above method embodiments is applicable to the device embodiments. The functions implemented by the device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are the same as those of the above method embodiments, so they will not be repeated here.
[0125] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the forklift AGV insertion path generation method described in the above embodiments. The computer-readable storage medium includes, but is not limited to, any type of disk (including floppy disks, hard disks, optical disks, CD-ROMs, and magneto-optical disks), ROM (Read-Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, magnetic cards, or optical cards. In other words, the storage device includes any medium on which a device (e.g., a computer, mobile phone, etc.) stores or transmits information in a readable form, and can be a read-only memory, a disk, or an optical disk, etc.
[0126] also, Figure 7 This is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present invention. The computer device includes components such as a processor 320, a memory 330, an input unit 340, and a display unit 350. Those skilled in the art will understand that... Figure 7The illustrated device structure is not intended to limit all devices and may include more or fewer components than shown, or combine certain components. The memory 330 can be used to store the computer program 310 and various functional modules. The processor 320 runs the computer program 310 stored in the memory 330, thereby performing various functional applications and data processing of the device. The memory can be internal memory or external memory, or include both internal and external memory. Internal memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or random access memory. External memory may include hard disks, floppy disks, ZIP disks, USB flash drives, magnetic tapes, etc. The memory 330 disclosed in the embodiments of this invention includes, but is not limited to, these types of memory. The memory 330 disclosed in the embodiments of this invention is only an example and not a limitation.
[0127] Input unit 340 is used to receive signal input and user-input keywords. Input unit 340 may include a touch panel and other input devices. The touch panel can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel) and drive the corresponding connection device according to a pre-set program; other input devices may include, but are not limited to, one or more of physical keyboards, function keys (such as play control buttons, power buttons, etc.), trackballs, mice, joysticks, etc. Display unit 350 can be used to display user-input information or information provided to the user, as well as various menus of the terminal device. Display unit 350 may be in the form of a liquid crystal display, organic light-emitting diode, etc. Processor 320 is the control center of the terminal device, connecting various parts of the entire device through various interfaces and lines, performing various functions and processing data by running or executing software programs and / or modules stored in memory 320, and calling data stored in memory.
[0128] As one embodiment, the computer device includes at least one processor 320, at least one memory 330, and at least one computer program 310, wherein the at least one computer program 310 is stored in the at least one memory 330 and configured to be executed by the at least one processor 320, and the at least one computer program 310 is configured to perform the forklift AGV insertion path generation method in the above embodiment.
[0129] Although the description of this application has been quite detailed and particularly focused on several of the described embodiments, it is not intended to limit itself to any of these details or embodiments or any particular embodiment. Rather, it should be considered as effectively covering the intended scope of this application by referring to the appended claims and taking into account the prior art, which provides for a broad possible interpretation of these claims. Furthermore, the foregoing description of this application with respect to embodiments foreseeable by the inventors is intended to provide a useful description, and non-substantial modifications to this application that have not yet been foreseen may still represent equivalent modifications.
Claims
1. A forklift-type AGV insertion path generation method characterized by comprising: The method includes: When the forklift AGV deviates from the driving path, the driving path is traversed according to the preset search conditions to obtain a set of N candidate insertion points, where N is a positive integer and N>1; Based on the constructed nonlinear programming model and the principle of cubic B-spline curve fitting, an insertion point optimization strategy and an insertion path optimization strategy are formulated. The nonlinear programming model includes steering wheel angle constraints, steering wheel angular velocity constraints, and an objective function that minimizes travel time. The insertion point optimization strategy is used to select the N optimal candidate insertion points from the set of N candidate insertion points; The insertion path optimization strategy is used to generate N optimal candidate paths corresponding to the N optimal candidate insertion points, and the travel time required for each optimal candidate path is recorded. Select the optimal candidate path with the shortest travel time from the N optimal candidate paths and define it as the optimal insertion path when the forklift AGV enters the travel path. The insertion point optimization strategy is applied to the analysis of any set of candidate insertion points, which contains M candidate insertion points. The implementation process of the insertion point optimization strategy includes: Any candidate insertion point and the location of the forklift AGV form two fixed first control points, and four first control points to be optimized are constructed based on the two fixed first control points. A cubic B-spline curve is used to fit the six first control points. During the fitting process, the nonlinear programming model is used to iteratively optimize the four first control points to be optimized, so as to obtain the candidate path corresponding to the candidate insertion point and record the required travel time. After performing the above procedure M times, M candidate paths corresponding to the M candidate insertion points are obtained. Then, the candidate path with the shortest travel time is selected from the M candidate paths, and the candidate insertion point corresponding to the selected candidate path is taken as the optimal candidate insertion point in the candidate insertion point set. M is a positive integer and M>1. The insertion path optimization strategy is applied to the analysis of any optimal candidate insertion point, and the implementation process includes: Step 1: Obtain the kth optimized path, which is the current candidate path between the location of the forklift AGV and the optimal candidate insertion point, where k is a positive integer and k≥1; Step 2: Obtain the kth optimized time, which is the travel time required for the kth optimized path; Step 3: Obtain the set of the kth optimized control points that the kth optimized path depends on when the fitting is formed. The set contains two fixed second control points consisting of the optimal candidate insertion point and the location of the forklift AGV, as well as m optimized second control points, where m is a positive integer and m≥4. Step 4: Based on the set of the kth optimized control points, construct m+1 second control points to be optimized; Step 5: Use cubic B-spline curves to fit the m+1 second control points to be optimized and the two fixed second control points. During the fitting process, use the nonlinear programming model to iteratively optimize the m+1 second control points to obtain the k+1th optimized path, and record the corresponding k+1th optimization time and the set of k+1th optimized control points. Step 6: Determine whether the (k+1)th optimization time is less than the kth optimization time; if yes, proceed to step 7; if no, use the kth optimized path as the optimal candidate path corresponding to the optimal candidate insertion point. Step 7: Determine whether m+3 has reached the preset total number of control points; if not, assign k+1 to k and m+1 to m, and return to step 1; if yes, use the k+1th optimized path as the optimal candidate path corresponding to the optimal candidate insertion point.
2. The method for generating insertion paths for forklift AGVs according to claim 1, characterized in that, The step of traversing the driving path according to preset search conditions to obtain a set of N candidate insertion points includes: The driving path has several path points, and all path points that meet the preset search conditions are selected from the several path points. All path segments associated with all path points are obtained from the driving path and recorded as N path segments. Then, points are taken at equal intervals for each path segment to form a corresponding set of candidate insertion points. Delete all candidate insertion points that appear repeatedly in the N candidate insertion point set and all candidate insertion points that do not meet the preset search conditions to obtain an updated N candidate insertion point set.
3. The method for generating insertion paths for forklift AGVs according to claim 2, characterized in that, The straight-line distance between each path point selected from the plurality of path points and the location of the forklift AGV does not exceed the set search radius.
4. The method for generating insertion paths for forklift AGVs according to claim 2, characterized in that, The location of the forklift AGV is defined as the starting point, and the finally selected path point or candidate insertion point is defined as the ending point. The preset search conditions include: the absolute value of the difference between the direction angle of the starting point and the direction angle of the ending point does not exceed 90°, the starting point and the ending point form a vector, and the absolute value of the difference between the direction angle of the vector and the direction angle of the starting point does not exceed 90°.
5. The method for generating insertion paths for forklift AGVs according to claim 1, characterized in that, The steering wheel angle constraint condition is as follows: The constraint condition for the steering wheel angular velocity is: The expression for the objective function is: Specifically, a candidate path is defined between the location of the forklift AGV and any candidate insertion point. Let be the curvature of the candidate path. and These represent the lateral and longitudinal distances of the steering wheel of the forklift AGV relative to the midpoint of the rear axle, respectively. For the maximum steering wheel angle, The velocity component of the forklift AGV along the centerline of the vehicle body is given. and These are collectively referred to as the representation functions of the candidate paths in the global coordinate system. for The first derivative, for The first derivative, The change in curvature The maximum angular velocity of the steering wheel, Let be the objective function. The number of control points that the candidate path depends on during fitting is denoted as ...
6. A forklift AGV insertion path generation device, characterized in that, The device includes: The traversal module is used to traverse the driving path according to preset search conditions when the forklift AGV deviates from the driving path, and obtain a set of N candidate insertion points, where N is a positive integer and N>1; The module is used to formulate the insertion point optimization strategy and the insertion path optimization strategy based on the constructed nonlinear programming model and the cubic B-spline curve fitting principle. The nonlinear programming model includes steering wheel angle constraints, steering wheel angular velocity constraints, and an objective function that minimizes the travel time. The first filtering module is used to filter out the corresponding N optimal candidate insertion points from the set of N candidate insertion points using the insertion point optimization strategy. The generation module is used to generate N optimal candidate paths corresponding to the N optimal candidate insertion points using the insertion path optimization strategy, and to record the travel time required for each optimal candidate path. The second filtering module is used to select the optimal candidate path with the shortest travel time from the N optimal candidate paths and define it as the optimal insertion path when the forklift AGV enters the travel path. The insertion point optimization strategy is applied to the analysis of any set of candidate insertion points, which contains M candidate insertion points. The implementation process of the insertion point optimization strategy includes: Any candidate insertion point and the location of the forklift AGV form two fixed first control points, and four first control points to be optimized are constructed based on the two fixed first control points. A cubic B-spline curve is used to fit the six first control points. During the fitting process, the nonlinear programming model is used to iteratively optimize the four first control points to be optimized, so as to obtain the candidate path corresponding to the candidate insertion point and record the required travel time. After performing the above procedure M times, M candidate paths corresponding to the M candidate insertion points are obtained. Then, the candidate path with the shortest travel time is selected from the M candidate paths, and the candidate insertion point corresponding to the selected candidate path is taken as the optimal candidate insertion point in the candidate insertion point set. M is a positive integer and M>1. The insertion path optimization strategy is applied to the analysis of any optimal candidate insertion point, and the implementation process includes: Step 1: Obtain the kth optimized path, which is the current candidate path between the location of the forklift AGV and the optimal candidate insertion point, where k is a positive integer and k≥1; Step 2: Obtain the kth optimized time, which is the travel time required for the kth optimized path; Step 3: Obtain the set of the kth optimized control points that the kth optimized path depends on when the fitting is formed. The set contains two fixed second control points consisting of the optimal candidate insertion point and the location of the forklift AGV, as well as m optimized second control points, where m is a positive integer and m≥4. Step 4: Based on the set of the kth optimized control points, construct m+1 second control points to be optimized; Step 5: Use cubic B-spline curves to fit the m+1 second control points to be optimized and the two fixed second control points. During the fitting process, use the nonlinear programming model to iteratively optimize the m+1 second control points to obtain the k+1th optimized path, and record the corresponding k+1th optimization time and the set of k+1th optimized control points. Step 6: Determine whether the (k+1)th optimization time is less than the kth optimization time; if yes, proceed to step 7; if no, use the kth optimized path as the optimal candidate path corresponding to the optimal candidate insertion point. Step 7: Determine whether m+3 has reached the preset total number of control points; if not, assign k+1 to k and m+1 to m, and return to step 1; if yes, use the k+1th optimized path as the optimal candidate path corresponding to the optimal candidate insertion point.
7. A computer device, characterized in that, include: At least one memory; At least one processor; The memory stores a computer program, and the processor executes the computer program to implement the forklift AGV insertion path generation method as described in any one of claims 1 to 5.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the forklift AGV insertion path generation method as described in any one of claims 1 to 5.