A method for navigating an automated guided vehicle is provided. The method includes: generating an environment map for an automated guided vehicle and setting a target position, wherein the environment map at least includes an open region and a barrier region; generating a first navigation path on the environment map according to the target position; optimizing the first navigation path by using a dichotomy method to generate a second navigation path; orthogonalizing the second navigation path to generate a third navigation path, wherein every two adjacent line segments in the third navigation path are orthogonal to each other; and navigating the automated guided vehicle to the target position using the third navigation path. The method for navigating the automated guided vehicle according to the invention optimizes navigation paths.
|
1. A method for navigating an automated guided vehicle, comprising:
generating an environment map for the automated guided vehicle and setting a target position, wherein the environment map at least comprises an open region and a barrier region;
generating a first navigation path on the environment map according to the target position;
optimizing the first navigation path by using a dichotomy method to generate a second navigation path;
orthogonalizing the second navigation path to generate a third navigation path, wherein every two adjacent line segments in the third navigation path are orthogonal to each other; and
navigating the automated guided vehicle to the target position by using the third navigation path,
wherein the second navigation path comprises a plurality of second navigation nodes, and the step of orthogonalizing the second navigation path to generate a third navigation path comprises:
forming an additional node with respect to every two adjacent second navigation nodes, wherein connection lines connecting the additional node and the two adjacent second navigation nodes are parallel to the first direction or the second direction, and the first direction is perpendicular to the second direction; and
using the additional node and the two adjacent second navigation nodes as third navigation nodes, wherein a plurality of the third navigation nodes form the third navigation path.
2. The method according to
selecting two first navigation nodes by using the dichotomy method, and determining whether a connection line connecting the two first navigation nodes passes through the barrier region, and further selecting a plurality of second navigation nodes from a plurality of the first navigation nodes to form the second navigation path,
wherein a quantity of the second navigation nodes is smaller than or equal to a quantity of the first navigation nodes.
3. The method according to
i. setting k1=0, k2=n−1;
ii. setting A=ak1, B=ak2, wherein nodes A and B are two nodes selected from the first navigation node set, and k1 and k2 respectively indicate the two first navigation nodes in the first navigation node set that correspond to the nodes A and B;
iii. determining whether the line segment formed by the nodes A and B passes through the barrier region;
if the line segment formed by the nodes A and B passes through the barrier region, setting k2=(k1+k2)/2 and rounding k2, and returning to step ii;
if the line segment formed by the nodes A and B does not pass through the barrier region, and k2≠n−1, taking the node A as a second navigation node and adding the node A to a second navigation node set S2, setting k1=k2, k2=n−1, and returning to step ii; and
if the line segment formed by the nodes A and B does not pass through the barrier region, and k2=n−1, taking the nodes A and B as second navigation nodes and adding the nodes A and B to the second navigation node set S2; and
iv. obtaining the second navigation node set S2, wherein a plurality of the second navigation nodes in the second navigation node set S2 form the second navigation path.
4. The method according to
wherein the step of orthogonalizing the second navigation path to generate the third navigation path comprises:
i′. setting j1=0, j2=1, wherein a variable p=0 is designated, and quantity of the second navigation nodes in the second navigation node set S2 is denoted by q;
ii′. setting C=bj1, D=bj2, wherein nodes C and D are two nodes selected from the second navigation node set, and j1 and j2 respectively indicate the two second navigation nodes in the second navigation node set that correspond to the nodes C and D;
iii′. setting a first coordinate of the additional node be a first coordinate of the node C, and a second coordinate of the additional node add be a second coordinate of the node D;
iv′. respectively determining whether the line segments formed by the nodes C and D and the additional node pass through the barrier region;
if the line segments formed by the nodes C and D and the additional node both do not pass through the barrier region, and j2≠m−1, taking the node C and the additional node as the third navigation nodes for being added to a third navigation node set S3, setting j1=j1+1, j2≤j2+1, and the method returning to step ii′;
if j2=m−1, taking the nodes C and D and the additional node as the third navigation nodes for being added to the third navigation node set S3;
if at least one of the line segments formed by the nodes C and D and the additional node passes through the barrier region, setting p=p+1,
when p=1, setting the first coordinate of the additional node being a first coordinate of the node D, and the second coordinate of the additional node being a second coordinate of the node C, and returning to step iv′; and
when p=2, setting bq=bq−1, bq−1=bq−2 . . . bj2+1=bj2, bj2.x=(C.x+D.x)/2, bj2.y=(C.y+D.y)/2, q=q+1, p=0, and returning to step iii′, wherein bj2.x is a first coordinate of bj2; bj2.y is a second coordinate of bj2; C.x is the first coordinate of the node C; C.y is the second coordinate of the node C; D.x is the first coordinate of the node D; and D.y is the second coordinate of the node D; and
v′. obtaining the third navigation node set S3, wherein a plurality of the third navigation nodes in the third navigation node set S3 form the third navigation path.
5. The method according to
optimizing the environment map by changing the color displayed by some of the pixel points according to each pixel point and its surrounding pixel points of the environment map.
6. The method according to
for any of the pixel points of the environment map, enabling the any pixel point to display in the first color if the any pixel point originally displays the second color but a plurality of the pixel points adjacent to the pixel point display the first color.
7. The method according to
for any of the pixel points of the environment map, enabling the any pixel point to display same color with at least five consecutive pixel points of eight pixel points surrounding the any pixel point if the at least five consecutive pixel points display a color different from that displayed by the any pixel point.
8. The method according to
for any of the barrier region of the environment map, filling up a serrated region with the second color if the any of the barrier region has an edge being serrated.
9. The method according to
for any of the barrier region of the environment map, if the edge of the barrier region has two and more than two of the pixel points displaying the first color, filling up a connection line connecting the two and more than two pixel points with the second color.
10. The method according to
if a corner area of the barrier region of the environment map has two and more than two pixel points displaying the first color, and an edge of the barrier region has two and more than two pixel points displaying the first color and located in the same column or the same row with the two and more than two pixel points displaying the first color in the corner area, filling up a connection line connecting the pixel points originally displaying the first color with the second color.
11. The method according to
for any of the barrier region of the environment map, enabling the pixel point originally displaying the first color to change to display the second color if three of eight pixel points adjacent to the pixel point displaying the first color are displaying the second color on an edge of the barrier region.
|
This application claims the benefit of People's Republic of China application Serial No. 201611089135.5, filed Nov. 30, 2016, the subject matter of which is incorporated herein by reference.
The invention relates in general to a field of automatic control, and more particularly to a method for navigating an automated guided vehicle.
AGV, which stands for “Automated guided vehicle”, refers to a vehicle equipped with an electromagnetic automatic guiding device or an optical automatic guiding device. The AGV can drive along a planned guiding path and provide safety protection and various transfer functions.
Currently, the path planning of an AGV is mainly based on safety and distance. However, since the environment map obtained using simultaneous localization and mapping (SLAM) technology has serrations, at which the planned path needs to change direction frequently, the AGV also needs to change direction frequently when following the planned path.
Due to technological limitations and the influence of scanning frequency, when a radar scanner used in an AGV scans the surrounding environment, the generated environment map will contain noises and have uneven edges. If path planning and navigation is based on such a crude map, the AGV will not be stable safety concern will arise when the AGV travels on the road.
To resolve the defects of the prior art, the invention provides a method for navigating an automated guided vehicle, capable of optimizing navigation paths of the automated guided vehicle.
According to one embodiment of the present invention, a method for navigating an automated guided vehicle is provided. The method includes: generating an environment map for the automated guided vehicle and setting a target position, wherein the environment map at least includes an open region and a barrier region; optimizing the first navigation path by using a dichotomy method to generate a first navigation path on the environment map according to the target position; generating a second navigation path; orthogonalizing the second navigation path to generate a third navigation path, wherein every two adjacent line segments in the third navigation path are orthogonal to each other; and navigating the AGV to the target position using the third navigation path. The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiment(s). The following description is made with reference to the accompanying drawings.
Detailed descriptions of exemplary embodiments of the invention are disclosed below with accompanying drawings. However, exemplary embodiments can be implemented in many different ways, and should be understood as being limited to the embodiments disclosed below. On the contrary, the descriptions of the exemplary embodiments are for completely transferring the concepts of the exemplary embodiments to technical personnel of the technology field of the invention. Designations common to the accompanying drawings are used to indicate identical or similar elements, and repetitions in the descriptions of identical or similar elements are omitted.
Accompanying drawings of the invention are merely used to illustrate relative positions of the components, and the sizes of the components illustrated in the accompanying drawings are not based on actual scales. Detailed descriptions of the method for navigating the AGV according to the invention are disclosed below with reference to accompanying drawings.
Referring to
Referring to
Optionally, in step S110, the environment map 201 is optimized. Referring to
In step S120: a first navigation path 210 is generated on the environment map 201 according to the target position. Optionally, the first navigation path 210 can be generated using the Dijkstra's algorithm. Details of the Dijkstra's algorithm can be obtained with reference to
Referring to
In step S130: the first navigation path 210 is optimized by using a dichotomy method to generate a second navigation path 220. Specifically, in step S130, two first navigation nodes are selected using a dichotomy method, and whether the connection line connecting the two first navigation nodes passes through the barrier region, such as the barrier region 212 and the buffer region 214, is determined, and a plurality of second navigation nodes and a plurality of second navigation nodes are selected from a plurality of first navigation nodes to form the second navigation path, wherein the quantity of second navigation nodes is smaller than or equal to the quantity of first navigation nodes.
In a specific embodiment, step S130 can be implemented using following algorithm: (1) Set k1=0, k2=n−1. (2) Set A=ak1, B=ak2, wherein nodes A and B are two nodes selected from the first navigation node set, and k1 and k2 respectively indicate the two first navigation nodes in the first navigation node set that correspond to the nodes A and B. (3) Determine whether the line segment formed by the nodes A and B passes through the barrier region, such as the barrier region 212 and the buffer region 214. If the line segment formed by the nodes A and B passes through the barrier region, such as the barrier region 212 and the buffer region 214, set k2=(k1+k2)/2 and round k2, and the method returns to step (2). If the line segment formed by the nodes A and does not pass through the barrier region, such as the barrier region 212 and the buffer region 214, and k2≠n−1, the node A is used as a second navigation node and is added to the second navigation node set S2, set k1=k2, k2=n−1, and the method returns to step (2). If the line segment formed by the nodes A and B does not pass through the barrier region, such as the barrier region 212 and the buffer region 214, and k2=n−1, the nodes A and B are used as second navigation nodes and are added to the second navigation node set S2. (4) Obtain the second navigation node set S2, wherein a plurality of second navigation nodes in the second navigation node set S2 form the second navigation path.
The algorithm is described below using
Referring to
In step S140: The second navigation path 220 is orthogonalized to generate a third navigation path 230. Referring to
In a specific embodiment, each of the second and third navigation nodes has a horizontal coordinate along the X direction, that is, the first coordinate, and a vertical coordinate along the Y direction, that is, the second coordinate, and step S140 can be implemented using following algorithm: (1′) Set j1=0, j2=1, designation variable p=0, and the quantity of second navigation nodes in the second navigation node set S2 be denoted by q. (2′) Set C=bj1, D=bj2, wherein nodes C and D are two nodes selected from the second navigation node set, and j1 and j2 respectively indicate the two second navigation nodes in the second navigation node set that correspond to the nodes C and D. (3′) Set the first coordinate of the additional node be the first coordinate of the node C, and the second coordinate of the additional node be the second coordinate of the node D. (4′) Respectively determine whether the line segments formed by the nodes C and D and the additional node pass through the barrier region.
If the line segments formed by the nodes C and D and the additional node both do not pass through the barrier region, and j2≠m−1, the node C and the additional node are used as third navigation nodes and are added to the third navigation node set S3, set j1=j1+1, j2=j2+1, and the method returns to step (2′). If j2=m−1, the nodes C and D and the additional node add are used as third navigation nodes and are added to the third navigation node set S3; If at least one of the line segment formed by the nodes C and D and the additional node passes through the barrier region, set p=p+1.
When p=1, set the first coordinate add.x of the additional node add is the first coordinate D.x of the node D, the second coordinate add.y of the additional node add is the second coordinate C.y of the node C, and the method returns to step (4′). When p=2, set bq=bq−1, bq−1=bq−2 . . . bj2+1=bj2, bj2.x=(C.x+D.x)/2, bj2.y=(C.y+D.y)/2, q=q+1, p=0, and the method returns to step (3′). (5′) Obtain the third navigation node set S3, wherein the third navigation nodes in S3 form the third navigation path.
The algorithm is described below using
In some variations of the embodiments of the invention, set j1=0, j2=1, designation variable p=0, the quantity of second navigation nodes in the second navigation node set S2 be denoted by q (q=7 in the present embodiment), C=b0, D=b1, the X coordinate add.x of the additional node add be the X coordinate D.x of the node D, and the Y coordinate add.y of the additional node add be the Y coordinate C.y of the node C. Thus, the additional node add2 is obtained. If at least one of the line segments formed by the nodes C and D and the additional node add2 passes through the barrier region, such as the barrier region 212 and the buffer region 214, set designation variable p=p+1, meanwhile p=1, set the first coordinate add.x of the additional node add be the first coordinate C.x of the node C, and the second coordinate add.y of the additional node add be the second coordinate D.y of the node D to obtain the additional node add1, and the method returns to step (4′), whether the line segment formed by the add1 and the nodes C and D passes through the barrier region 212 and the buffer region 214 is determined. If at least one of the line segments formed by the nodes C and D and the additional node add1 passes through the barrier region, such as the barrier region 212 and the buffer region 214, set designation variable p=p+1, meanwhile, p=2, and the quantity of second navigation nodes in S2 set as q=q+1. That is, set the quantity of second navigation nodes in S2 be 8, and the coordinate of b4 is assigned to b5, the coordinate of b3 is assigned to b4, until the coordinate of b1 is assigned to b2 by the same analogy. Then, set the coordinate of b1 be the middle point between b0 (the node C) and b1 (the node D). That is, the middle point between b0 and b1 is also used as a second navigation node and is added to the second navigation node set, and set p=0, and whether the connection line connecting the middle point and b0 and the connection line connecting the additional node add and the middle point and b0 pass through the barrier region is determined by using the above steps.
Thus, a plurality of third navigation nodes can be obtained using the algorithm to form the third navigation path 230 as indicated in
Some optimization methods of the environment map provided in the invention are described below with reference to
Specifically, the environment map 301, which can be realized by a dot matrix map, is composed of a plurality of pixel points. The environment map 301 includes an open region 311 composed of a plurality of pixel points displaying white color, that is, the first color, and a barrier region 312 composed of a plurality of pixel points displaying black color, that is, the second color. In some embodiments, for any pixel point of the environment map, the pixel point displays the first color if the pixel point displays black color, and the eight pixel points adjacent to the pixel point, such as four pixel points located on the top, the bottom, the left and the right of the pixel point, and four pixel points located on the two diagonal lines, display white color.
In some embodiments, for any pixel point of the environment map, a pixel point displays the same color with at least five consecutive pixel points of the eight pixel points surrounding the pixel point if the at least five consecutive pixel points display a color different from that displayed by the pixel point. For example, if the pixel point displays white color, and five of the eight pixel points surrounding the pixel point display black color, the pixel point displays black color. The five pixel points refer to the pixel points at the top, the top left, the left, the bottom left and the bottom of the pixel point.
Referring to
In some embodiments, a barrier region 312 of the environment map 301 has a corner area. If the corner area of the barrier region 312 has two and more than two pixel points displaying white color, and the edge of the barrier region 312 has two and more than two pixel points displaying white color and located in the same column or the same row with the two and more than two pixel points displaying white color, the connection line connecting the pixel points displaying white color is filled with black color. As indicated in
Referring to
Referring to
In comparison to the prior art, the invention has following advantages:
1) By performing optimization to the navigation path twice, every two adjacent line segments in the third navigation path are orthogonal to each other, and the quantity of turns in the navigation path of the automated guided vehicle is reduced;
2) By optimizing the first navigation path with the dichotomy method and orthogonalizing the second navigation path, the quantity of nodes in the navigation path is reduced;
3) By performing optimization to the environment map, the noises contained in the environment map are reduced, the edges of the barrier region are modified, and the influence on the planning of navigation path caused by the noises is reduced.
While the invention has been described by way of example and in terms of the preferred embodiment(s), it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5483355, | Mar 11 1994 | Hewlett-Packard Company | Pixel correctional and smoothing method |
5748109, | Dec 27 1993 | NISSAN MOTOR CO , LTD | Apparatus and method for navigating vehicle to destination using display unit |
6321158, | Jun 24 1994 | Garmin Switzerland GmbH | Integrated routing/mapping information |
7386163, | Mar 13 2003 | Sony Corporation | Obstacle recognition apparatus and method, obstacle recognition program, and mobile robot apparatus |
7660441, | Jul 09 2004 | Southern California, University | System and method for fusing geospatial data |
8391647, | Feb 17 2010 | Hewlett-Packard Development Company, L.P. | Pixel replacement |
20030174247, | |||
20080123998, | |||
20090043504, | |||
20100020093, | |||
20100023249, | |||
20100023252, | |||
20100299065, | |||
20110106339, | |||
20150287230, | |||
20180075608, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 09 2017 | GUO, HOU-JIN | INVENTEC APPLIANCES PUDONG CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042729 | /0886 | |
May 09 2017 | YE, ZHI-PENG | INVENTEC APPLIANCES PUDONG CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042729 | /0886 | |
May 09 2017 | GUO, HOU-JIN | Inventec Appliances Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042729 | /0886 | |
May 09 2017 | YE, ZHI-PENG | Inventec Appliances Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042729 | /0886 | |
May 09 2017 | GUO, HOU-JIN | INVENTEC APPLIANCES NANCHANG CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042729 | /0886 | |
May 09 2017 | YE, ZHI-PENG | INVENTEC APPLIANCES NANCHANG CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 042729 | /0886 | |
Jun 16 2017 | Inventec Appliances (Pudong) Corporation | (assignment on the face of the patent) | / | |||
Jun 16 2017 | Inventec Appliances Corp. | (assignment on the face of the patent) | / | |||
Jun 16 2017 | Inventec Appliances (Nanchang) Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Nov 29 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 09 2023 | 4 years fee payment window open |
Dec 09 2023 | 6 months grace period start (w surcharge) |
Jun 09 2024 | patent expiry (for year 4) |
Jun 09 2026 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 09 2027 | 8 years fee payment window open |
Dec 09 2027 | 6 months grace period start (w surcharge) |
Jun 09 2028 | patent expiry (for year 8) |
Jun 09 2030 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 09 2031 | 12 years fee payment window open |
Dec 09 2031 | 6 months grace period start (w surcharge) |
Jun 09 2032 | patent expiry (for year 12) |
Jun 09 2034 | 2 years to revive unintentionally abandoned end. (for year 12) |