Detailed Description
Fig. 1 is a flowchart illustrating steps of a path planning method according to an embodiment of the invention. Fig. 2 is a schematic diagram illustrating a moving path of the vehicle and the rotation in a predetermined rotation area. Referring to fig. 1 and 2, the path planning method of the present invention is suitable for a vehicle AMV (e.g., an unmanned vehicle such as an autonomous mobile vehicle, an autonomous mobile robot, or an autonomous guided vehicle). The vehicle AMV refers to an unmanned vehicle, such as a forklift or other similar vehicle. The vehicle AMV can move forward or backward, but cannot be swiveled in place due to the limitations of the steering angle and the radius of gyration r. In step S110, a computing device (not shown) generates a first route P1 according to the information of the starting position x3 of the vehicle AMV, the information of the target position x4 of the vehicle AMV, and the map information. In particular, since the first path P1 is a path along which the vehicle AMV travels, no obstacle is present in a range extending to both sides with the first path P1 as a center at least greater than the vehicle body width of the vehicle AMV.
More specifically, the computing device may be disposed on the vehicle AMV or in an external device (not shown) and exchange information with the vehicle AMV through, for example, a wireless manner. The computing device receives the motion-related parameters of the vehicle AMV itself, the information of the starting position x3, the information of the target position x4 and the map information to perform the computation to generate the first path P1. The motion-related parameters include, but are not limited to, information on the radius of gyration r of the vehicle AMV, dimensional information such as vehicle width and vehicle length, linear velocity limit information, angular velocity limit information, vehicle weight information, position information of a mechanism or a part of the vehicle AMV, and positioning tolerance accuracy information. The starting position x3 generally refers to the current position of the vehicle. The information of the start position x3 includes, but is not limited to, coordinate information of a Global Positioning System (GPS) and information indicating a position relative to the map. The map information includes, but is not limited to, map files in digital form, information of walkable spaces, information of no-walk spaces, expansion region map files (e.g., a range formed by 2 times the width of the vehicle body in the traveling direction), and collision region map files.
The computing Device is, for example, a Central Processing Unit (CPU), or other Programmable general purpose or special purpose Microprocessor (Microprocessor), Digital Signal Processor (DSP), Programmable controller, Application Specific Integrated Circuit (ASIC), Programmable Logic Device (PLD), or the like, or a combination thereof. In this embodiment, the computing device may determine the first path by using a time elastic band method. In another embodiment, the computing device may determine the first path using a dynamic window method. The dataform of the first path includes, but is not limited to, Cartesian coordinates (Cartesian coordinates), Euler angles (Euler angles), and quaternions (quaternions).
In step S120, the computing device searches for at least one candidate rotation region R on the first path P1, and determines one of the at least one candidate rotation region R as the predetermined rotation region RR according to the information of the target position x 4. The distance between the intermediate point C of each candidate turning region R and the target position x4 is greater than or equal to the turning radius R of the vehicle AMV. Here, the "middle point" may be regarded as a middle position of the candidate turning region R on the first path P1. That is, the distance between the midpoint of the predetermined swing region RR and the target position x4 is also greater than or equal to the swing radius r of the vehicle AMV. Step S130 is to move the vehicle AMV along the first path P1, and to make the vehicle AMV perform a turning operation in the predetermined turning region RR (in the predetermined turning region R, the vehicle AMV performs a turning operation and does not move along the first path P1), so as to turn the first end AMV1 of the vehicle AMV from the first direction a1 to the second direction a2 opposite to the first direction a 1. In particular, the turning operation according to the present invention is performed by a combination of forward steering and reverse steering of the vehicle AMV. The relationship between the predetermined revolution region RR and the radius of revolution r will be described with reference to the drawings.
Referring to fig. 2, the vehicle AMV moves along the first path P1, and when entering the predetermined swing region RR (i.e., the vehicle AMV travels to the swing start point x1), leaves the first path P1 and travels toward the left side of the first path P1 (forward steering). However, due to the limitation of the steering angle of the vehicle AMV, the actual traveling path of the vehicle AMV proceeds to the left-oblique front curve as shown in fig. 2 until the traveling direction of the vehicle AMV is perpendicular to the first path P1 or the forks of the vehicle AMV are perpendicular to the first path P1. Then, the vehicle AMV returns to the first path P1 through the return end point x2 in such a manner that the forks are directed forward (backward steering). Referring back to fig. 1, in step S140, after the rotation operation is finished, the vehicle AMV reaches the target position x4 or moves from the predetermined rotation region RR to the target position x 4. In detail, if the target position x4 is still a distance from the predetermined revolution region RR, that is, the distance between the midpoint of the predetermined revolution region RR and the target position x4 is greater than the revolution radius r of the vehicle AMV (the revolution end point x2 is not the target position x4), the vehicle AMV then moves from the predetermined revolution region RR (for example, the revolution end point x2) to the target position x 4. However, in the case of the revolution end point x2, i.e. the target position x4, i.e. the distance between the middle point of the predetermined revolution region RR and the target position x4 is equal to the revolution radius r of the vehicle AMV, the vehicle AMV reaches the target position x4, in which case the step S140 is directly completed. Fig. 3A to 3E are combined to describe how to search for at least one candidate turning region R located on the first path P1.
Fig. 3A to 3E are schematic diagrams illustrating a process of generating a candidate turn around region according to an embodiment of the invention. Referring to fig. 2 and fig. 3A, first, amap file 300 is obtained from map information and a first path P1 is generated according to related information, wherein x3 represents a start position and x4 represents a target position. Referring to fig. 3B, a blank file with the same size as themap file 300 is created by the computing device, and a range extending to both sides with the first path P1 as the center is generated therein to obtain arotation space file 310 containing rotation space requirement information. The width L is a required distance on the first path P1 perpendicular to the rotation of the vehicle AMV, for example, the width L may be equal to or greater than the vehicle length of the vehicle AMV (e.g., 1 time or 1.5 times), or the width L may be equal to or greater than the rotation radius r of the vehicle AMV (e.g., 1 time or 1.5 times). In this embodiment, the arithmetic device may set the pixel values of the range to 1, and the remaining pixel values to 0. In fig. 3C, the arithmetic device obtains theobstacle map file 320 having the same size as themap file 300 from themap file 300, wherein theobstacle map file 320 includes static obstacle information, and the pixel value of the dark region D of theobstacle map file 320 is set to 1 (the remaining pixel values are set to 0). The dark areas D are represented as obstacle areas, i.e. areas where the vehicle cannot travel, such as fixed buildings, shelves, etc.
Referring to fig. 3D, amap file 300 obtained from map information is further computed by a computing device according to arotation space file 310 and anobstacle map file 320 to generate amap file 330 containing vehicle movement space information of a vehicle AMV movable space. In detail, in the present embodiment, the computing device may perform an AND (AND) operation on the rotationspace map file 310 AND theobstacle map file 320. For example, the and operation is performed on the pixel values of the corresponding positions in the rotationspace map file 310 and theobstacle map file 320, if both are 1, the output pixel value is 1 (shown in gray in fig. 3D), and the other output pixel values are 0, so as to obtain themap file 330 containing the vehicle movement space information of the vehicle AMV movement space. That is, in the drawing 330, the gray area is an area that cannot pass through within a range extending to both sides by the width L around the first path P1.
Referring to fig. 3A and 3E, the computing device divides themap file 330 containing the vehicle movement space information into a plurality of segments S along the traveling direction a of the first path P1 to obtain the width information of each segment S in the third direction A3. Wherein the third direction a3 is perpendicular to the direction of travel a, each segment S has a first length L1 along the first path P1. Specifically, the arithmetic device may determine, for each of the sections S, pixel values in a left-side (upper-side) range and a right-side (lower-side) range extending to both sides of the width L around the first path P1, and when all the pixel values in the range extending to the left side or the right side of each of the sections S by the width L are 0, the arithmetic device increments the section S by a new flag. For example, if all the pixel values in the left range of the respective section S are 0, the computing device increments the section S by "1" mark, and if all the pixel values in the right range of the respective section S are 0, the computing device increments the section S by "-1" mark. On the contrary, if any one of the left and right ranges of the respective section S is 1 (for example, the arithmetic device does not have a "1" or "-1" flag after completing the determination of the section S), the arithmetic device increments the section S by a "0" flag. Specifically, the label of each segment S represents the width information of each segment S, thelabel 1 represents that the segment S has no obstacle in the range of the left width L of the first path P1, and the width information is that the left area is greater than or equal to the width L; the mark is-1, which represents that the segment S has no obstacle in the range of the width L on the right side of the first path P1, and the width information is that the right side area is greater than or equal to the width L; themark 0 represents that the segment S has obstacles in the range of the left width L and the right width L of the first path P1, and the width information is smaller than the width L. However, the present invention is not limited to this, and in other embodiments, the width of each segment S perpendicular to the first path P1 may be set to 2L (the width L extends to both sides with the first path P1 as the center), so that it is only necessary to check whether the pixel value is 1 in the left area and the right area of each segment S during the marking operation.
Further, taking fig. 3E as an example, it can be clearly seen that only some of the sectors S (denoted as S1-S5) are marked as 1, and the rest of the sectors S are all marked as 0. That is, only the sections S1 to S5 in fig. 3E satisfy the condition that all pixel values within the range extending leftward by the width L with the first path P1 as the center are 0. The computing device can sequentially check the marking result of each sector S from the target position x4 to the start position x 3. If there are a plurality of consecutive sections S marked as 1 and the number thereof is equal to the first number, the computing device may list the areas corresponding to the consecutive sections S as candidate turning areas R, thereby obtaining at least one candidate turning area R; alternatively, if there are a plurality of consecutive segments S marked as-1 and the number of the consecutive segments S is equal to the first number, the computing device may list the regions corresponding to the consecutive segments S as the candidate rotation regions R, thereby obtaining at least one candidate rotation region R. The first number is equal to a threshold value, and the threshold value is associated with the radius of gyration r of the vehicle AMV and the first length L1 of the segment S. Specifically, the threshold may be set to a value that is 2 times the radius of gyration r of the vehicle AMV divided by the first length L1. That is, the length of each of the candidate turning areas R on the first path P1 is equal to 2 times the turning radius R of the vehicle AMV, as shown in fig. 3E, in this embodiment, the threshold is 5, that is, 5 consecutive segments S marked as "1" are required to be listed as the candidate turning areas R, but the invention is not limited thereto. In other embodiments, the threshold may be set to a value of 2.5 times the turning radius r of the vehicle divided by the first length L1, or may be a value of 3 times the turning radius r of the vehicle divided by the first length L1. In the example of fig. 3E, only the regions corresponding to the sections S1 to S5 satisfy the above conditions. Therefore, the arithmetic device sets the regions corresponding to the segments S1 to S5 as the rotation region candidates R. In addition, if the computing device cannot search any of the candidate turn areas R, it will generate warning information and report the related message of "" path error "" to the user.
It should be noted that, for convenience of description, the first path P1 in fig. 3A to 3E is shown as a straight line, but this does not mean that the present invention can be applied to only a straight line path. In other embodiments, the first path P1 may also be a combination of multiple line segments or a curve. In addition, the first length L1 of the segment S in the present embodiment is set to 1 cm, for example. In other embodiments, the first length L1 can be designed to be other lengths according to the actual requirement of the designer, such as one of 2-10 cm, and the threshold value is changed accordingly.
Since only one rotation region candidate R exists in fig. 3E, the arithmetic device determines the rotation region candidate R as the predetermined rotation region RR, and lists the start point and the end point of the predetermined rotation region RR as the rotation start point x1 and the rotation end point x2, respectively. The computing device divides the task by the predetermined revolution region RR. Specifically, the arithmetic device may define one task to move the vehicle AMV from the start position x3 to the swing start point x1 and another task to move the vehicle AMV from the swing end point x2 to the target position x 4.
In the embodiments of fig. 3A to 3E, the arithmetic device finally lists only one rotation region candidate R. However, in other embodiments not shown, there may be a plurality of candidate turnaround regions R with a portion of the candidate turnaround regions R located to the left of the first path P1 and another portion of the candidate turnaround regions R located to the right of the first path P1. In the embodiment having a plurality of candidate turning regions R, the arithmetic device calculates the distances between the plurality of candidate turning regions R and the target position x4, respectively, and the arithmetic device may select one candidate turning region R closest to the target position x4 as the predetermined turning region RR, wherein the distance between the predetermined turning region RR and the target position x4 is smaller than the distance between the unselected plurality of candidate turning regions R and the target position x 4. Alternatively, the arithmetic device may select one of the candidate revolution regions R farthest from the target position x4 as the predetermined revolution region RR. Further, the rotation region candidates R may be separated from each other, or may partially overlap. For example, fig. 4 is a schematic diagram illustrating a plurality of candidate turn around regions according to an embodiment of the invention. Referring to fig. 4, since the number of the consecutive segments S marked as 1 is much larger than the threshold (for example, 5, in the embodiment, 10 consecutive segments S are marked as "1"), the computing device can determine that the one segment can list 7 candidate turning regions R1-R7, and two adjacent candidate turning regions can partially overlap.
In another embodiment, the vehicle AMV may be equipped with at least one detection device (not shown) for detecting the distance. The detecting device can be installed on the side of the truck head or the side of the fork, or both the detecting devices can be installed on the truck head or the fork. The detection device can detect whether the vehicle AMV has a dynamic obstacle (not appearing in an obstacle map, such as other vehicles or people moving around) in the traveling direction, so that the vehicle AMV can perform obstacle avoidance action in real time.
Fig. 5 is a schematic view illustrating an obstacle avoidance operation of a vehicle according to an embodiment of the present invention. Referring to fig. 5, H denotes a dynamic obstacle, and S denotes a static obstacle that has been recorded in the map information. As can be seen in fig. 5, the first path P1 bypasses the static obstacle S. However, in the case that the dynamic obstacle H is detected while the vehicle AMV moves along the first path P1, the computing device may mark the position of the dynamic obstacle H in the map information according to the distance between the vehicle AMV and the dynamic obstacle H. The computing device can integrate the current position information of the vehicle AMV, the position information of the dynamic obstacle H and the map information to generate the integrated map information, so that the vehicle AMV can perform obstacle avoidance. The computing device can re-plan the path according to the integrated map information to generate an obstacle avoidance path P1 ', and perform an obstacle avoidance operation on the vehicle according to the obstacle avoidance path P1', so that the vehicle AMV can return to the path of the first path P1 after completing the obstacle avoidance operation. Specifically, after the obstacle avoidance operation is completed, the computing device obtains information of the current position of the vehicle AMV and deviation information of the first path P1, and moves the vehicle to the first path P1 according to the deviation information, for example, the computing device returns to the first path P1 again in a manner that the computing device calculates the shortest distance between the current position of the vehicle AMV and the first path P1 at intervals. The computing device can simultaneously detect whether the current position of the vehicle AMV is close to the rotation starting point or not, and if so, the rotation operation is started. After finishing the swing motion, the computing device controls the vehicle AMV to return to the first path P1 to reach the target position, but the invention is not limited thereto. In other embodiments, in the moving process of the vehicle AMV, if the dynamic obstacle H is detected, the computing device may add a new position of the dynamic obstacle H in the map information according to the distance between the vehicle AMV and the dynamic obstacle H, and re-plan the path to generate the obstacle avoidance path P1' to replace the first path P1, so that the vehicle AMV reaches the target position. In addition, when the vehicle AMV detects that there is a dynamic obstacle H in the predetermined rotation region RR, the computing device controls the vehicle AMV to wait in place and perform a rotation operation after detecting that the dynamic obstacle H is eliminated.
In summary, the operation flow of the computing device can be as shown in fig. 6. Fig. 6 is a flowchart illustrating a path planning method according to an embodiment of the invention. Referring to fig. 2 and 6, in step 610, a first path P1 is generated according to the information of the start position x3, the information of the target position x4 and the map information. In step S620, the candidate turning region R on the first path P1 is searched from the target position x4 to the start position x 3. Step S630 is to determine whether there is at least one candidate turning region R. If the determination result is negative, the relevant information of the path error is reported back (step S640). If the determination result is yes, the process proceeds to step S650. In step S650, it is determined whether the number of the at least one revolution region candidate R is 1. If the determination result is negative (step S660, indicating that there are multiple rotation region candidates R), one rotation region candidate R is selected as the predetermined rotation region RR. If the determination result is yes (step S670, indicating that there is only one rotation region candidate R), the rotation region candidate R is set as the predetermined rotation region RR. In step S680, it is determined whether the distance between the middle point of the predetermined swing region RR and the target position x4 is equal to twice the swing radius r of the vehicle AMV. If the result is negative (step 690), two movement tasks are defined according to the predetermined rotation region RR (one movement task is that the starting position x3 moves to the predetermined rotation region RR, and the other movement task is that the predetermined rotation region RR moves to the target position x 4). If the determination result is yes (step 700), only one mobile task is defined. In particular, the movement task is a task in which the vehicle AMV moves along the first path P1, and does not include a swing motion.
In summary, the present invention can preset the optimal rotation position and ensure the sufficient rotation space for the carrier. Since the unmanned vehicle does not need to adjust the head direction until the turning start point is reached, unnecessary lateral movement does not occur, and the actual traveling path of the vehicle coincides with the expected first path. Furthermore, the computing device can control the vehicle to maintain on the first path or return to the first path after the obstacle avoidance operation is finished by periodically confirming the difference value between the current position of the vehicle and the first path. Therefore, the invention can also ensure that the vehicle does not have an unexpected walking path.
The above description is only a preferred embodiment of the present invention, and should not be taken as limiting the scope of the invention, which is defined by the appended claims and their equivalents. It is not necessary for any embodiment or claim of the invention to achieve all of the objects or advantages or features disclosed herein. Furthermore, the abstract and the title of the specification are provided only for assisting the retrieval of patent documents and are not intended to limit the scope of the present invention. Furthermore, the terms "first", "second", and the like in the description or the claims are used only for naming elements (elements) or distinguishing different embodiments or ranges, and are not used for limiting the upper limit or the lower limit on the number of elements.
Description of reference numerals:
a: direction of travel
A1: a first direction
A2: second direction
A3: third direction
AMV: carrier tool
AMV 1: first end
C: intermediate point
D: dark regions
H: dynamic barrier
L1: first length
P1: first path
P1': obstacle avoidance path
RR: predetermined region of revolution
R, R1-R7: candidate turn around region
r: radius of gyration
SD: static obstacle
S, S1-S5: segment of
S110 to S140, S610 to S690, S700: step (ii) of
x 1: slewing starting point
x 2: end point of revolution
x 3: starting position
x 4: target position
300: map file
310: rotary space figure file
320: obstacle figure barrier
330: and (6) drawing files.