ABSTRACT
The path planned for an automated guided vehicle in, for example, a production facility is often the lowest-cost path in a (weighted) geometric graph. The weights in the graph may represent a distance or travel time. Sometimes turning costs are taken into account; turns (and decelerations before and accelerations after turning) take time, so it is desirable to minimise turns in the path. Several well-known algorithms can be used to find the lowest-cost path in a geometric graph. In this paper, we focus on the A algorithm, which uses an (internal) search heuristic to find the lowest-cost path. In the current literature, generally, either turning costs are not taken into account in the heuristic or the heuristic can only be used for specific graph structures. We propose an improved heuristic for the A algorithm that can be used to find the lowest-cost path in a geometric graph with turning costs. Our heuristic is proven to be monotone and admissible. Moreover, our heuristic provides a higher lower bound estimate for the actual costs compared to other heuristics found in the literature, causing the lowest-cost path to be found faster (i.e. with less iterations). We validate this through an extensive comparative study.
1. Introduction
Automated guided vehicles (AGVs) are mobile robots that are widely used in flexible manufacturing systems, logistic systems, and other industrial environments. AGV systems are scalable, flexible, and robust and therefore a promising alternative to fixed infrastructure systems used for example for transporting, sorting or order picking. The performance (in terms of, for example, throughput, robustness, and energy consumption) of an AGV system depends on the system layout used and the strategies used for controlling the AGVs. AGVs can move over a predefined topology that can be represented by a graph, or they can move around freely. Control strategies should at least perform the following three functions: dispatching, path planning, and traffic control (Vis Citation2006). Dispatching means determining which AGV transports which job, and from which pick-up location to which drop-off location the job needs to be transported. Path planning consists of selecting the path (i.e. a trajectory in space) an AGV should follow in order to transport a job from its pick-up location to its drop-off location. Traffic control manages the execution of the path by the AGV. All movements are to be executed in a collision-free, deadlock-free, and livelock-free manner. Dispatching, path planning, and traffic control can be performed by separate control strategies, or a strategy can perform multiple functions. A routing strategy combines path planning and traffic control; it (pre-)determines the path of an AGV in both space and time.
Several survey studies exist on the control strategies described for performing the aforementioned functions, see, e.g. the surveys of De Ryck, Versteyhe, and Debrouwere (Citation2019) and Fragapane et al. (Citation2021). In this paper, we focus on (global) path planning for AGVs. Path planning consists of two steps (De Ryck, Versteyhe, and Debrouwere Citation2019):
Representation of the free configuration space.
Using a graph search algorithm to search for the lowest-cost path using this representation.
In currently deployed industrial AGV systems, the paths on which AGVs can move are predetermined (De Ryck, Versteyhe, and Debrouwere Citation2019); a layout consisting of nodes (physical locations in a 2D plane such as intersections, diverts, and merges) and segments (paths between the nodes) is defined and designed. This network of nodes and segments can be represented by a (weighted) geometric graph, where vertices represent nodes and edges represent straight line segments connecting these nodes (Tóth Citation2000). If a predefined layout is not available, an algorithm is needed which generates a representation of the free configuration space such that possible paths can be generated. Cell decomposition methods, trajectory maps (also called roadmaps), artificial potential fields, and intelligent algorithms such as neural networks can be used for this (Anavatti, Francis, and Garratt Citation2016; Campbell et al. Citation2020; De Ryck, Versteyhe, and Debrouwere Citation2019; Injarapu and Gawre Citation2018; Mac et al. Citation2016). The representation of the free configuration space can also be translated into a (weighted) geometric graph that can be used to find the lowest-cost path.
In AGV systems, it is often desirable to maximise throughput and to minimise lead time. Especially for large AGV systems with hundreds or thousands of AGVs, using shortest-distance paths may lead to congestion and therefore long lead times. Approaches have therefore been proposed (e.g. Bartlett et al. Citation2014; Fransen et al. Citation2020; Lian and Xie Citation2019) aiming to find shortest-time paths for AGVs in the system. For these approaches, the layout over which AGVs are allowed to move is represented by a geometric graph with costs (or weights) related to time. To find the shortest-time path for an AGV in the system, the lowest-cost path in the geometric graph is determined.
Among a variety of wheel configurations that can be used for AGVs (Shabalina, Sagitov, and Magid Citation2018), in industry often AGVs are used that have the ability to pivot (i.e. turn on the spot), such as differential drive AGVs. Pivoting takes time; when a turn needs to be made at a node, the AGV needs to decelerate to standstill, make the turn, and accelerate again. Therefore sometimes costs associated with turning are also taken into account in the geometric graph. Here we assume costs for pivoting are included in the geometric graph; the costs for turning at a vertex are computed using 2D information of the corresponding node.
Different graph search algorithms can be used to find the lowest-cost path. Algorithms such as Dijkstra (Citation1959) and Floyd (Citation1962) are guaranteed to find the lowest-cost path; therefore we call them optimisation algorithms. Also the A algorithm (Hart, Nilsson, and Raphael Citation1968) is an optimisation algorithm, provided that the (internal) heuristic used in the algorithm is admissible (Hart, Nilsson, and Raphael Citation1968). The algorithm combines the advantages of both Dijkstra's algorithm (Dijkstra Citation1959) and best-first search (Lawler and Wood Citation1966). If the (internal) heuristic used in the A algorithm is not admissible, then the algorithm is not guaranteed to find the lowest-cost path. We call algorithms that are not guaranteed to find the lowest-cost path heuristic algorithms. Other examples of heuristic algorithms are genetic algorithms (Krukhmalev and Pshikhopov Citation2017) and simulated annealing algorithms (e.g. Ganeshmurthy and Suresh Citation2015). This paper focuses on the A algorithm, which is described in more detail in Section 2.
In this paper, we propose a new heuristic for the A algorithm to find the lowest-cost path on a geometric graph. Our heuristic is admissible, monotone, and takes costs for pivoting into account. The developed heuristic provides a higher lower bound estimate for the actual costs compared to other heuristics found in the literature, thereby causing the lowest-cost path to be found faster. In this case, faster means with less iterations; the number of iterations is also used in other literature as a measure for the efficiency of the A algorithm (e.g. in Mathew Citation2015; Song and Yuan Citation2019; Whangbo Citation2007; Yao et al. Citation2010). We validate the decrease in number of iterations by means of an extensive comparative study.
The remainder of this paper is organised as follows. In Section 2, the A algorithm is described in more detail. Section 3 provides a literature overview of existing work that (implicitly) takes into account turning costs when using the A algorithm on a geometric graph. It appears that in most papers, turning costs are not taken into account in the heuristic, or the heuristic can only be used for specific graph structures. Section 4 describes the developed heuristic, Section 5 describes the comparative study executed to validate the developed heuristic and compare it to other heuristics, and Section 6 concludes the paper.
2. A algorithm
The A algorithm (Hart, Nilsson, and Raphael Citation1968) is an efficient algorithm that can be used for finding the lowest-cost path in a (weighted) graph from one source vertex to a destination vertex . V denotes the set of vertices (i.e. for N vertices) and E denotes the set of edges (i.e. ). If , then . The algorithm uses a best-first search strategy (Lawler and Wood Citation1966), exploring the most likely candidate (as current vertex ) while eliminating provably inferior solutions (Yap Citation2002). The most likely candidate is the vertex with the lowest sum of the actual costs from the source vertex , , and the estimated costs to the destination vertex, i.e. with the lowest value for (1) (1) The algorithm is admissible (i.e. is guaranteed to find the optimal (lowest-cost) path), if the heuristic from a vertex to destination vertex provides a lower bound estimate for the actual minimum costs to move from a vertex to the destination vertex (Hart, Nilsson, and Raphael Citation1968): (2) (2) The closer the value of is to the actual minimum costs , the lower the number of iterations needed to find the lowest-cost path (Mathew Citation2015). Furthermore, the number of iterations can also be kept low by ensuring each vertex only needs to be explored once. In the A algorithm, this can be realised by selecting a monotone heuristic (Hart, Nilsson, and Raphael Citation1968).
3. Literature overview
Table provides an overview of control strategies described in the literature that (implicitly) take into account turning costs when using the A algorithm on a geometric graph. The table specifies to what extent turning is taken into account in different parts of the A algorithm. Moreover, it shows whether the A algorithm is used for path planning or routing, and whether the objective is to find the shortest-distance or shortest-time path, or route. Our control strategy, which is described in Section 4, is shown in the table as Heuristic This Paper.
The objective of using the A algorithm is to find the lowest-cost path, which on a geometric graph usually is the shortest-distance or shortest-time path. Since turning increases the time it takes for an AGV to drive from a source to a destination, turning costs are often taken into account when the objective is to find the shortest-time path on a graph.
Turning on the spot takes time, and also the deceleration to and acceleration from standstill, respectively, before and after turning take time. Some routing strategies (e.g. Cui et al. Citation2018; Jia et al. Citation2017) take the time needed for deceleration and acceleration into account, but often it is neglected. When separate control strategies for path planning and traffic control are used within an AGV system, it is unknown how long it is going to take for an AGV to execute a planned path; often the weights in the graph cannot effectively reflect the real-time execution time of the path (Lian, Xie, and Zhang Citation2020). It is therefore not known from what speed deceleration should take place or to what speed acceleration should take place, and thus how long, respectively, the deceleration and acceleration processes take. Therefore, the path planning strategies described in the literature that use the A algorithm do not take into account separate costs associated with the deceleration before and acceleration after turning. However, an estimation could be included in the turning costs, for example, by increasing the costs per turn.
Instead of incorporating turning costs in the heuristic in order to guide a search towards the destination, it is also possible to select only a subset of successor vertices to evaluate in each step. Mu et al. (Citation2020) describe a control strategy, suitable for orthogonal layouts, where the successor vertices to evaluate in each step are based on the differences between the current vertex and destination vertex in x- and y-coordinates. An admissibility proof of the adapted A algorithm is missing; none of the references shown in Table contains (a reference to) an admissibility proof for their control strategy. Furthermore, the strategy of Mu et al. (Citation2020) is not the only control strategy that can be applied to specific layouts only; most of the control strategies mentioned in Table can only be applied to orthogonal grids.
4. Heuristic
In this section, we introduce the developed heuristic. First, we describe the problem for which the heuristic was developed in Section 4.1. Then we describe the heuristic and its components in more detail in Section 4.2.
4.1. Problem statement
In this paper, we propose a new heuristic for the A algorithm. With this heuristic, we aim to efficiently (i.e. with a low number of iterations) find the lowest-cost path on a geometric graph, taking into account costs for pivoting. To guarantee that the lowest-cost path is found, we need an underestimation of the actual costs from vertex to destination vertex (i.e. an admissible heuristic needs to be defined). The closer the value of the heuristic to the actual costs, the more efficient the heuristic is (i.e. the lower the number of iterations needed to find the lowest-cost path). The heuristic should be used when the objective of the A algorithm is to find the shortest-time path on a geometric graph. The assumptions that should hold for the geometric graph are described in Section 4.1.1. Under these assumptions, the actual costs of which the heuristic should provide an underestimation are given in Section 4.1.2.
4.1.1. Assumptions
The assumptions that should hold for the geometric graph are as follows:
The graph contains unidirectional edges or bidirectional edges whereby turning is only allowed on the spot at a vertex (i.e. not halfway an edge).
The orientation of the AGV while driving is constant with respect to the path it is following (i.e. when there is an orientation change between two consecutive edges, a turn needs to be made at the vertex connecting those edges). The AGV will make the smallest possible turn (either clockwise or counterclockwise) to realise the orientation change.
Driving in reverse is not possible for the AGV; a turn of π radians should be made to start driving in the opposite direction. Since AGVs are often equipped with one safety scanner at the front of the vehicle, only allowing driving in reverse at very low speeds, this assumption usually holds.
Weights of all edges in the graph should have non-negative values and represent notions of time. The minimum weight of an edge should be equal to the minimum translation time of an AGV over the corresponding path segment in the geometric graph. The set of all weights is denoted by c.
The turning costs per radian should be non-negative. The turning costs per radian should at least be equal to the minimum time it takes for an AGV to rotate over one radian.
There are no restrictions on the structure or topology of the geometric graph. It should be possible to specify a desired end orientation at the destination vertex and the start orientation at the source vertex .
4.1.2. Actual costs
The shortest-time path to be found by the algorithm is the path minimising the following cost function, for the whole path from to (i.e. and ): (3) (3) In this equation, is the set of edges in path , is the set of vertices in path , and is the minimum turn that needs to be made at vertex in radians. The minimum turn at vertex is computed as follows, as the absolute smallest difference (either clockwise or counterclockwise) between:
If : start orientation , and orientation of the outgoing edge from source vertex .
If : the orientation of the incoming edge to the destination vertex , and the desired end orientation , if specified. Otherwise the difference is equal to zero.
If : the orientation of the incoming edge at , and the orientation of the outgoing edge at . If , then the outgoing edge is unknown and the difference is equal to zero.
The actual costs to move from source vertex to vertex , are therefore equal to , with the shortest-time path from source vertex to vertex found so far by the A algorithm.
The actual minimum costs from a vertex to destination vertex , , of which the heuristic should provide an underestimation, are therefore equal to .
Decelerations before and accelerations after turning are not explicitly taken into account; these can be incorporated implicitly (e.g. by varying weights over time, based on realised AGV travel times, as in Fransen Citation2019 and Fransen et al. Citation2020).
4.2. Our heuristic
Our heuristic from a vertex to destination vertex consists of a part related to translation, , and a part related to rotation, , i.e. (4) (4) The component is a lower bound estimate of the time needed by the AGV to translate from vertex to destination vertex over the edges in the graph. It is equal to the Euclidean distance (i.e. the magnitude of the Euclidean vector ) between vertex and destination vertex , divided by the maximum AGV (translation) speed, , i.e. (5) (5) The Euclidean distance is a lower bound estimate of the distance over which the AGV needs to move from vertex to destination vertex (Sedgewick and Vitter Citation1986).
The component is equal to the turning costs per radian, , times a lower bound estimate of the necessary angles of rotation needed to move from (specified orientation at) vertex to (desired end orientation at) destination vertex , i.e. (6) (6) The turning costs per radian represent the minimum time it takes for an AGV to rotate over one radian (e.g. the inverse of the maximum rotation speed). The specified orientation is equal to if , and otherwise equal to the orientation of an incoming edge to vertex . The computation of the lower bound estimate is provided in Section 4.2.1.
The pseudocode of the A algorithm with our heuristic is provided in Appendix 1. Our contribution is including the term , as specified in Equation (Equation6(6) (6) ), in the heuristic . Note that the developed heuristic is monotone (see Appendix 2 for the proof), causing each vertex in the graph to be expanded as current vertex at most once during execution of the A algorithm (Hart, Nilsson, and Raphael Citation1968).
4.2.1. Lower bound estimate necessary rotations
The lower bound estimate of the necessary angles of rotation the AGV needs to make in order to move from (specified orientation at) vertex to (desired end orientation at) destination vertex is equal to the sum of three minimum absolute angles of rotation.
Note that we use ψ to denote an angle of rotation, Φ to denote a specific orientation (e.g. orientation of an edge or a desired end orientation), and θ to denote a minimum angle of rotation that needs to be made by an AGV.
A minimum absolute angle of rotation is defined as follows. An angle of rotation can be measured either in clockwise or counterclockwise direction. We define the counterclockwise direction to be positive, such that the angle of rotation from orientation A to orientation B for the example situation in Figure is equal to ψ when turning in counterclockwise direction and equal to when turning in clockwise direction.
The minimum absolute angle of rotation that needs to be made (either clockwise or counterclockwise) is equal to (7) (7) The minimum angle of rotation θ is in counterclockwise direction if : then . The minimum angle of rotation θ is in clockwise direction if , then .
As mentioned before, the estimate is a lower bound for the angles of rotation needed to move from (specified orientation at) vertex to (desired end orientation at) destination vertex . Figure shows three example situations, where vertex (with specified orientation of the AGV) and destination vertex (with the desired end orientation of the AGV) are shown as circles. The Euclidean vector (i.e. shortest possible connection regardless of the graph) directed from vertex to destination vertex is shown as the arrow connecting those vertices. Three minimum angles of rotation are shown in this figure as , , and .
The minimum angle of rotation represents the rotation from orientation at vertex to the Euclidean vector directed from vertex to destination vertex with (8) (8) The minimum angles of rotation and are dependent on the incoming edge(s) to the destination vertex . Those minimum angles of rotation represent, respectively, the rotation from Euclidean vector to the incoming edge at the destination vertex , and the rotation from that incoming edge to the desired end orientation . As shown in Figure (c), different incoming edges can lead to different values for and : (9) (9) (10) (10) In these equations, represents the orientation of edge .
The lower bound estimate might be chosen equal to only but is sharpened by also using and . It is equal to (11) (11) The minimum sum of and over the incoming edges at the destination vertex is used to compute the lower bound estimate . If the desired end orientation is unspecified, then the minimum angle of rotation is set to zero. Note that is equal to zero.
Figure (a) shows an example situation for one incoming edge at the destination vertex . In this case, the minimum angles of rotation are equal to , , and , since they are measured in counterclockwise direction. The lower bound estimate equals (see Equation (Equation11(11) (11) )).
Figure (b) shows minimum angles of rotation , , and for a different desired end orientation at the destination vertex . In this case, the minimum angles of rotation at the destination vertex are equal to and , since they are measured in, respectively, clockwise and counterclockwise directions. Also for the situation shown in Figure (b), the lower bound estimate equals (see Equation (Equation11(11) (11) )).
Figure (c) shows an example situation with two incoming edges at the destination vertex . The minimum angles of rotation and are related to the incoming edge a. The minimum angles of rotation and are related to the incoming edge b. The lower bound estimate equals (see Equation (Equation11(11) (11) )).
As mentioned in Section 2, the A algorithm is admissible (i.e. is guaranteed to find the optimal (lowest-cost) path), if the heuristic provides a lower bound estimate of the actual minimum costs to move from vertex to destination vertex . To prove that with our heuristic, the A algorithm finds the optimal path, we have to prove that the minimum absolute angle of rotation is a lower bound estimate of the actual minimum absolute angle of rotation the AGV needs to make, to move from (specified orientation at) vertex to (desired end orientation at) destination vertex . The proof is provided in Appendix 3.
5. Comparative study
To validate the efficiency of our heuristic, we executed a comparative study. We determined the number of iterations needed by the A algorithm to find the lowest-cost path from each vertex to each other vertex in the layout, for different heuristics, for different types of grid layouts. The grid layouts studied have sizes of approximately , , , and elements, with either rectangular, hexagonal, or arbitrary-shaped grid elements. Furthermore, we verified the effect of changing the values of some input parameters that affect the mutual differences between the evaluated heuristics.
In this section, we first provide the cost function used in our study in Section 5.1, which is the same for all heuristics included in the comparison. Then we describe the other heuristics included in our comparative study in Section 5.2 and the layouts used in Section 5.3. We introduce a metric that is used for comparison of the results in Section 5.4, and finally provide the results and a discussion of these results in Section 5.5.
5.1. Cost function lowest-cost path
To fairly compare the performance of our heuristic to other heuristics found in the literature, it is important that the A algorithm finds the same optimal (i.e. lowest-cost) path for all heuristics included in the comparison. The goal of the algorithm, for every heuristic, is to find the path minimising the cost function given in Equation (Equation3(3) (3) ) with and . In the study, the weight of each edge is equal to (12) (12) In this equation, is the distance from vertex to vertex , and is the maximum AGV (translation) speed. The turning costs per radian are equal to (13) (13) In this equation, is the maximum rotation speed of the AGV.
5.2. Other heuristics
The control strategies of Bae and Chung (Citation2018), Bae and Chung (Citation2019), Cui et al. (Citation2018), and Lian and Xie (Citation2019) show resemblance with our control strategy (see Table ); therefore the performance of these strategies (in a modified version to allow for a fair comparison) are compared to the performance of our strategy. Bae and Chung (Citation2018), Bae and Chung (Citation2019), and Lian and Xie (Citation2019) do not incorporate turning in the heuristic; the heuristic only consists of a term related to translation, described in Equation (Equation5(5) (5) ). For simplicity, we will only refer to Bae and Chung (Citation2018). The control strategy is suitable for orthogonal grids only. However, by using rotation-dependent turning costs instead of constant turning costs (the costs for turning over radians) in the computations for and , the control strategy can be applied to non-orthogonal grids as well.
Also the control strategy described by Cui et al. (Citation2018) shows resemblance with our control strategy, assuming that decelerations before and accelerations after turning are infinitely large. The heuristic consists of a component related to translation and a component related to rotation, see Equation (Equation4(4) (4) ). The component related to translation is equal to (14) (14) In this equation, is the absolute difference in x-coordinates between vertex and destination vertex , and is the absolute difference in y-coordinates between vertex and destination vertex . The control strategy adds constant turning costs (the costs for turning over radians) to the heuristic if both the x- and y-coordinates of the vertex differ from, respectively, the x- and y-coordinates of the destination vertex . The control strategy is only suitable for orthogonal and axis-aligned grids. Changing the control strategy such that it becomes suitable for other grids as well requires major changes. The component in the heuristic related to translation should be changed to the term described in Equation (Equation5(5) (5) ). Furthermore, the component in the heuristic related to rotation should be removed, and rotation-dependent turning costs should be used instead of constant turning costs for the computations for and . The control strategy then becomes similar to the control strategy developed by Bae and Chung (Citation2018). The control strategy developed by Cui et al. (Citation2018) will therefore only be used in the comparative study for rectangular grids.
The Manhattan distance (i.e. ) is equal to or bigger than the Euclidean distance (the triangle inequality), i.e. (15) (15) Therefore, using the Manhattan distance in the component related to translation results in a higher cost estimate compared to using the Euclidean distance. As explained in Section 2, the closer the value of is to the actual minimum costs , the lower the number of iterations needed to find the lowest-cost path. Using the Manhattan distance in the heuristic will therefore cause less (or an equal number of) iterations to be needed to find the lowest-cost path, compared to using the Euclidean distance.
The added value of our heuristic is the component related to rotation; using the Euclidean distance in the component related to translation has been done before, and the effect of using the Euclidean distance instead of the Manhattan distance has been studied before by, for example, Kusuma, Riyanto, and Machbub (Citation2019) and MacGregor and Leung (Citation2009). Therefore, to fairly compare the performance of the component related to rotation in our heuristic to components related to rotation in other heuristics, a modified version of the control strategy described by Cui et al. (Citation2018) is used in the comparative study, where the component related to translation in the heuristic is as in Equation (Equation5(5) (5) ).
The control strategies developed by Cui et al. (Citation2018) and Bae and Chung (Citation2018) are not able to take into account a specified desired end orientation . For a fair comparison, it is necessary that all control strategies studied find the same lowest-cost path. Therefore, the comparative study is executed without specifying desired end orientation .
Our control strategy, as well as the modified control strategy of Cui et al. (Citation2018), always needs less or an equal number of iterations to find the lowest-cost path, compared to the control strategy of Bae and Chung (Citation2018). This can be explained as follows: a non-negative term is added to the heuristic of Bae and Chung (Citation2018) in order to get our heuristic, or the modified heuristic of Cui et al. (Citation2018). If a positive term is added, the value for the heuristic estimate increases (i.e. gets closer to ), resulting in a (possible) decrease in the number of iterations needed to find the lowest-cost path, as explained in Section 2. Addition of a zero term results in the same number of iterations to be needed for our heuristic, or the modified heuristic of Cui et al. (Citation2018), compared to the heuristic of Bae and Chung (Citation2018).
5.3. Layouts for comparative study
The layouts for the comparative study are constructed as follows:
Rectangular layouts: Square grid elements are placed in , , , and arrangements. Horizontal and vertical driving directions are alternated over the rows and columns in such a way that strongly connected graphs (i.e. directed graphs with a path from each vertex to every other vertex) are obtained, see Figure (a), with vertices at the centre of each reachable grid element. Our layouts show resemblance with parcel sorting grids with alternating unidirectional lanes.
Hexagonal layouts: Hexagonal grid elements are placed in arrangements with similar size as the rectangular layouts. However, to ensure that alternating driving directions in all three hexagonal directions (i.e. vertical and two diagonal directions) always yield a strongly connected graph, the number of columns is odd (i.e. decreased by one), and odd columns have one grid element less than even columns, see Figure (b).
Arbitrary layouts: In a square enclosed space with similar dimensions as the rectangular layout, vertices are placed randomly and one by one, under the constraint that they are placed at least d metres apart (with d equal to the size of a grid element in a rectangular layout), and d/2 metre from the border of the space. The vertex generator tries to fit in as many vertices as possible, but once placed the position of a vertex is not changed anymore. A constrained Voronoi diagram is constructed to visualise the grid elements, see Figure (c). The unidirectional graph between the grid elements is constructed arbitrarily, nevertheless ensuring that the graph is strongly connected.
For all layout shapes and sizes, multiple instances are generated (see also Section 5.4) in which 20% of the grid elements are blocked. Figure shows three example layouts with 20% of the grid elements blocked. The blocked grid elements can be regarded as obstacles where AGVs cannot drive. The grid elements that are blocked are chosen randomly, one by one, in a greedy manner: a random grid element is selected and blocked if the resulting graph remains strongly connected, otherwise the grid element is skipped. This process continues until 20% of all grid elements have been blocked or all grid elements have been evaluated.
5.4. Metric
For each grid layout considered, the number of iterations needed to travel from one to another vertex in the grid is determined for all possible source-destination combinations, for each heuristic. Results are generated for 0% and 20% of the grid elements blocked. For 20% of the grid elements blocked, 40 random combinations of blocked grid elements are generated in order to establish the 95% confidence interval of the mean number of iterations needed. Furthermore, for arbitrary layouts for 0% of the grid elements blocked, also 40 random arbitrary layouts are created.
We have chosen to study the difference in the number of iterations between the different heuristics and to not focus on computation time, since the measured computation time depends on the implementation of the heuristics and the computer used, while the number of iterations is independent of these variables. The number of iterations is also used in other literature as a measure for the efficiency of the A algorithm (e.g. in Mathew Citation2015; Song and Yuan Citation2019; Whangbo Citation2007; Yao et al. Citation2010).
The number of iterations needed to find the lowest-cost path using the A algorithm is the number of vertices being expanded during execution of the algorithm (Róka Citation2018). At least all vertices in the lowest-cost path from the source vertex to the predecessor vertex of the destination vertex need to be expanded. Therefore, the number of iterations is at least equal to the number of grid elements (i.e. vertices) in the lowest-cost path minus one (since the destination vertex does not have to be expanded), i.e. (16) (16) Ideally, the number of iterations is as low as possible and thus equal to the number of grid elements in the lowest-cost path (i.e. path elements) minus one.
Figure shows the sample mean and 95 confidence interval of for different path lengths, for a grid with rectangular elements, for of the grid elements blocked. Only the path lengths with at least 40 samples are shown to allow for the computation of confidence intervals. The parameter values used for the computations are provided in Table . As shown in Figure , for longer paths, the average number of iterations needed to find one element of the lowest-cost path is relatively large; the longer the path , the larger . Due to an upper bound on the number of iterations (since the number of vertices in the graph is finite and the heuristic is monotone), an S-curve is visible in the figure. Since the number of grid elements in the path is also larger for longer paths, efficiency gains for longer paths are thought to have a significant influence on the performance of a heuristic. To properly take this into account, the following performance metric is defined to measure the performance of a heuristic for a specific layout: (17) (17) This metric can be interpreted as the weighted average number of iterations needed to find one grid element of the lowest-cost path (i.e. path element). It is at least equal to one; the better the heuristic, the closer the value is to one.
5.5. Results and discussion
The resulting performance metrics of the computations executed for the control strategy with our heuristic, the modified heuristic of Cui et al. (Citation2018), and the heuristic defined by Bae and Chung (Citation2018) equal to the heuristics defined by Bae and Chung (Citation2019) and Lian and Xie (Citation2019) and are visible in Figure . The figure shows the sample mean and 95 confidence interval of the metric for different grid sizes. The parameter values used for the computations are provided in Table . Results are shown for grids with, respectively, rectangular, hexagonal, and arbitrary-shaped grid elements, for approximately , , , and elements, for, respectively, and of the grid elements blocked.
Figure shows that the mutual differences between the evaluated heuristics remain approximately constant for different grid sizes. Our control strategy needs on average the lowest number of iterations to find the lowest-cost path, followed by the modified control strategy of Cui et al. (Citation2018) for rectangular grids, and, as expected, the control strategy of Bae and Chung (Citation2018).
For rectangular grids, our control strategy does not always outperform the modified control strategy of Cui et al. (Citation2018); for specific combinations of source vertex and destination vertex (for example, when the Euclidean vector directed from source vertex to destination vertex is almost (but not exactly) parallel to an axis, with incoming edges at source vertex and destination vertex aligned with the axis), the number of iterations needed by the modified control strategy of Cui et al. (Citation2018) may be less than the number of iterations needed by our control strategy. However, on average our control strategy outperforms the modified control strategy of Cui et al. (Citation2018). Furthermore, the modified control strategy of Cui et al. (Citation2018) cannot be used for grids with hexagonal or arbitrary-shaped elements.
The mutual differences between control strategies are influenced by the parameter values used for the computations: the values selected for maximum rotation speed and maximum (translation) speed may influence the ratio between the values of the components in the heuristic related to rotation and translation. For or , the component in the heuristic related to translation will dominate the component related to rotation; the performance of all control strategies will be similar. For or , the component in the heuristic related to rotation will dominate the component related to translation, increasing the mutual differences between control strategies. This behaviour is also visible in the computations executed for a rectangular grid with of the grid elements blocked, for different parameter combinations: for rad/s, and for m/s. The results are visible in Figure .
The figure shows that our heuristic outperforms the other heuristics for all parameter values; the differences become larger for smaller maximum rotation speeds and larger maximum (translation) speeds.
6. Conclusion
In this paper, we have provided a literature overview of existing work on path planning using the A algorithm on a geometric graph with turning costs. In general, in the current literature either turning costs are not taken into account in the heuristic or the heuristic can only be used for specific graph structures. We have not found any proofs of heuristics' admissibility.
We developed a monotone and admissible A heuristic incorporating turning costs that can be used for any geometric graph structure. We validated that our heuristic decreases the number of iterations needed to find the lowest-cost path, compared to other heuristics found in the literature. A decrease of up to for the weighted average number of iterations needed to find one vertex in the lowest-cost path was achieved, depending on the selected input parameters. Using information about the graph structure in the heuristic can further decrease the number of iterations needed. For example, for rectangular grids, the Manhattan distance can be used instead of the Euclidean distance. For some rectangular grids, it may be beneficial to take the maximum of our heuristic and the heuristic developed by Cui et al. (Citation2018). However, the heuristic can then no longer be used for any graph structure.
Furthermore, for any graph structure, the directions of outgoing edges at the current vertex (besides the currently used directions of incoming edges at the destination vertex) can be included to further improve the heuristic.
Although the component related to rotation in our heuristic decreases the number of iterations needed to find the lowest-cost path in the A algorithm, we have increased the number of operations needed to compute the heuristic. Pre-computation of heuristic values is possible to decrease the number of extra operations needed. Depending on the selected input parameter values and weights in the graph, the extra complexity in the heuristic may not be beneficial (e.g. if the turning costs are zero). A recommendation for improvement is to study if our heuristic of the A algorithm could be made self-configuring based on the graph and parameters such as turning costs.
Acknowledgments
We would like to thank Erjen Lefeber for his help in proving the admissibility of the component related to rotation in our heuristic.
Disclosure statement
No potential conflict of interest was reported by the authors.
Data availability statement
The data that support the findings of this study are available from the corresponding author upon reasonable request.
Additional information
Notes on contributors
Karlijn Fransen
Karlijn Fransen is a Ph.D. candidate at the Control Systems Technology Group, Department of Mechanical Engineering, Eindhoven University of Technology, The Netherlands, as well as System Architect at Vanderlande, supplier of logistic process automation solutions. She received her M.S. degree in both Mechanical Engineering and Industrial and Applied Mathematics, and her B.S. degree in Mechanical Engineering from Eindhoven University of Technology, The Netherlands. Her research interests include algorithm development for system-level controls of AGV systems.
Joost van Eekelen
Joost van Eekelen is currently an Assistant Professor with the Eindhoven University of Technology (The Netherlands), in the Control Systems Technology Group of the Mechanical Engineering Department, as well as a System Architect with Vanderlande, supplier of automated logistic solutions. Joost received both his M.S. and Ph.D. degrees from the aforementioned university, with the Systems Engineering Group, in 2003 and 2008, respectively. His research interests include modelling, control, analysis, and optimisation of AGVs, flexible manufacturing system topology synthesis, and model-based systems engineering.
References
- Anavatti, S. G., S. L. Francis, and M. Garratt. 2016. “Path-Planning Modules for Autonomous Vehicles: Current Status and Challenges.” 2015 International Conference on Advanced Mechatronics, Intelligent Manufacture, and Industrial Automation (ICAMIMIA), Surabaya, Indonesia, October 15-17, 205–214.
- Bae, J., and W. Chung. 2018. “A Heuristic for Path Planning of Multiple Heterogeneous Automated Guided Vehicles.” International Journal of Precision Engineering and Manufacturing 19 (12): 1765–1771.
- Bae, J., and W. Chung. 2019. “Efficient Path Planning for Multiple Transportation Robots Under Various Loading Conditions.” International Journal of Advanced Robotic Systems 16 (2): 1–9.
- Ballamajalu, R., M. Li, F. Sahin, C. Hochgraf, R. Ptucha, and M. E. Kuhl. 2020, August 20-21. “Turn and Orientation Sensitive A ∗ for Autonomous Vehicles in Intelligent Material Handling Systems.” IEEE International Conference on Automation Science and Engineering, 606–611.
- Bartlett, K., J. Lee, S. Ahmed, G. Nemhauser, J. Sokol, and B. Na. 2014. “Congestion-Aware Dynamic Routing in Automated Material Handling Systems.” Computers and Industrial Engineering 70 (1): 176–182.
- Campbell, S., N. O'Mahony, A. Carvalho, L. Krpalkova, D. Riordan, and J. Walsh. 2020. “Path Planning Techniques for Mobile Robots A Review.” 2020 6th International Conference on Mechatronics and Robotics Engineering (ICMRE), Barcelona, Spain, February 12-15, 12–16.
- Chaudhari, A. M., M. R. Apsangi, and A. B. Kudale. 2017, March 24-25. “Improved A-Star Algorithm with Least Turn for Robotic Rescue Operations.” Communications in Computer and Information Science 776: 614–627.
- Cui, Y., D. P. Ma, Y. Fang, and Z. Lei. 2018. “Conflict-Free Path Planning of AGV Based on Improved A-star Algorithm.” 2nd International Conference on Information, Communication and Engineering (ICICE 2018), Hangzhou, Zhejiang Province, P.R. China, November 9-13, 31–34.
- De Ryck, M., M. Versteyhe, and F. Debrouwere. 2019. “Automated Guided Vehicle Systems, State-of-the-Art Control Algorithms and Techniques.” Journal of Manufacturing Systems 54: 152–173.
- Dijkstra, E. W. 1959. “A Note on Two Problems in Connexion with Graphs.” Numerische Mathematik 1 (1): 269–271.
- Floyd, R. W. 1962. “Algorithm 97: Shortest Path.” Communications of the ACM 5 (6): 345.
- Fragapane, G., R. de Koster, F. Sgarbossa, and J. O. Strandhagen. 2021. “Planning and Control of Autonomous Mobile Robots for Intralogistics: Literature Review and Research Agenda.” European Journal of Operational Research 294 (2): 405–426.
- Fransen, K. J. C. 2019. “A Path Planning Approach for AGVs in the Dense Grid-Based AgvSorter.” Master's thesis, Eindhoven University of Technology. https://research.tue.nl/en/studentTheses/a-path-planning-approach-for-agvs-in-the-dense-grid-based-agvsort
- Fransen, K. J. C., J. A. W. M. Van Eekelen, A. Pogromsky, M. A. A. Boon, and I. J. B. F. Adan. 2020. “A Dynamic Path Planning Approach for Dense, Large, Grid-Based Automated Guided Vehicle Systems.” Computers and Operations Research 123: 1–10.
- Ganeshmurthy, M. S., and G. R. Suresh. 2015. “Path Planning Algorithm for Autonomous Mobile Robot in Dynamic Environment.” 2015 3rd International Conference on Signal Processing, Communication and Networking (ICSCN), Chennai, India, March 26-28.
- Hart, P. E., N. J. Nilsson, and B. Raphael. 1968. “A Formal Basis for the Heuristic Determination of Minimum Cost Paths.” IEEE Transactions on Systems Science and Cybernetics 4 (2): 100–107.
- Injarapu, A. S. H. H. V., and S. K. Gawre. 2018. “A Survey of Autonomous Mobile Robot Path Planning Approaches.” International Conference on Recent Innovations in Signal Processing and Embedded Systems, RISE 2017, Bhubaneswar, India, July 27, 624–628.
- Jia, F., C. Ren, Y. Chen, and Z. Xu. 2017. “A System Control Strategy of a Conflict-Free Multi-AGV Routing on Improved A ∗ Algorithm.” 2017 24th International Conference on Mechatronics and Machine Vision in Practice (M2VIP), Auckland, New Zealand, November 21–23, 1–6.
- Krukhmalev, V., and V. Pshikhopov. 2017. “Chapter Four - Genetic Algorithms Path Planning.” In Path Planning for Vehicles Operating in Uncertain 2D Environments, edited by V. Pshikhopov, 137–184. Oxford: Butterworth-Heinemann.
- Kusuma, M., Riyanto, and C. Machbub. 2019. “Humanoid Robot Path Planning and Rerouting Using A-Star Search Algorithm.” 2019 IEEE International Conference on Signals and Systems (ICSigSys), Bandung, Indonesia, July 16-18, 110–115.
- Lawler, E. L., and D. E. Wood. 1966. “Branch-and-Bound Methods: A Survey.” Operations Research 14 (4): 699–719.
- Lian, Y., and W. Xie. 2019. “Improved A ∗ Multi-AGV Path Planning Algorithm Based on Grid-Shaped Network.” 2019 Chinese Control Conference (CCC), Guangzhou, China, July 27–30, 2088–2092.
- Lian, Y., W. Xie, and L. Zhang. 2020, July 11-17. “A Probabilistic Time-Constrained Based Heuristic Path Planning Algorithm in Warehouse Multi-AGV Systems.” IFAC-PapersOnLine, Vol. 53, 2538–2543.
- Lin, M., K. Yuan, C. Shi, and Y. Wang. 2017. “Path Planning of Mobile Robot Based on Improved A ∗ Algorithm.” 2017 29th Chinese Control and Decision Conference (CCDC), Chongqing, China, May 28–30, 3570–3576.
- Liu, Y., M. Chen, and H. Huang. 2019. “Multi-Agent Pathfinding Based on Improved Cooperative A ∗ in Kiva System.” 2019 5th International Conference on Control, Automation and Robotics (ICCAR), Beijing, China, April 19–22 633–638.
- Liu, X., and D. Gong. 2011. “A Comparative Study of A-Star Algorithms for Search and Rescue in Perfect Maze.” 2011 International Conference on Electric Information and Control Engineering, Wuhan, China, March 25-27, 24–27.
- Mac, T. T., C. Copot, D. T. Tran, and R. De Keyser. 2016. “Heuristic Approaches in Robot Path Planning: A Survey.” Robotics and Autonomous Systems 86: 13–28.
- MacGregor, J., and S. Leung. 2009. “Pathfinding Strategy for Multiple Non-Playing Characters in 2.5 D Game Worlds.” In Learning by Playing. Game-based Education System Design and Development. Edutainment 2009. Lecture Notes in Computer Science. Vol. 5670, edited by M. Chang, R. Kuo, Kinshuk, G.-D. Cheng, and M. Hirose, 351–362. Berlin: Springer.
- Mathew, G. E. 2015. “Direction Based Heuristic for Pathfinding in Video Games.” Procedia Computer Science 47C: 262–271.
- Mu, T., J. Zhu, X. Li, and J. Li. 2020, November 22-25. “Research on Two-Stage Path Planning Algorithms for Storage Multi-AGV.” Communications in Computer and Information Science 1160: 418–430.
- Róka, R., ed. 2018. Advanced Path Planning for Mobile Entities. London: IntechOpen.
- Sedgewick, R., and J. S. Vitter. 1986. “Shortest Paths in Euclidean Graphs.” Algorithmica1 (1): 31–48.
- Shabalina, K., A. Sagitov, and E. Magid. 2018. “Comparative Analysis of Mobile Robot Wheels Design.” Proceedings -- International Conference on Developments in eSystems Engineering, DeSE, Cambridge, September 2-5, 175–179.
- Shi, J., Y. Su, C. Bu, and X. Fan. 2020. “A Mobile Robot Path Planning Algorithm Based on Improved A*.” Journal of Physics: Conference Series 1486: 032018.
- Song, Z., and L. Yuan. 2019. “Application of Improved A ∗ Algorithm in Mobile Robot Path Planning.” 2019 3rd International Symposium on Autonomous Systems (ISAS), Shanghai, China, May 29–31, 534–537.
- Tóth, G. 2000. “Note on Geometric Graphs.” Journal of Combinatorial Theory. Series A 89 (1): 126–132.
- Vis, I. F. A. 2006. “Survey of Research in the Design and Control of Automated Guided Vehicle Systems.” European Journal of Operational Research 170 (3): 677–709.
- Wang, C., L. Wang, J. Qin, Z. Wu, L. Duan, Z. Li, M. Cao, et al. 2015. “Path Planning of Automated Guided Vehicles Based on Improved A-Star Algorithm.” 2015 IEEE International Conference on Information and Automation, Lijiang, Yunnan, China, August 8-10, 2071–2076.
- Wang, Z., and X. Xiang. 2018. “Improved Astar Algorithm for Path Planning of Marine Robot.” 2018 37th Chinese Control Conference (CCC), Wuhan, China, July 25-27, 5410–5414.
- Whangbo, T. K. 2007. “Efficient Modified Bidirectional A ∗ Algorithm for Optimal Route-Finding.” In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), edited by H. G. Okuno and M. Ali, 344–353. Berlin: Springer.
- Yao, J., C. Lin, X. Xie, A. J. Wang, and C. C. Hung. 2010. “Path Planning for Virtual Human Motion Using Improved A ∗ Algorithm.” 2010 Seventh International Conference on Information Technology: New Generations, Las Vegas, Nevada, USA, April 12–14, 1154–1158.
- Yap, P. 2002. “Grid-Based Path-Finding.” In Advances in Artificial Intelligence. Canadian AI 2002. Lecture Notes in Computer Science. Vol. 2338, edited by R. Cohen and B. Spencer, 44–55. Berlin: Springer.
- Zheng, T., Y. Xu, and D. Zheng. 2019. “AGV Path Planning Based on Improved A-Star Algorithm.” 2019 IEEE 3rd Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC), Chongqing, China, October 11-13, 1534–1538.
Appendices
Appendix 1.
Pseudocode A algorithm
In this appendix, the pseudocode of the A algorithm, adapted from Yao et al. (Citation2010), is provided in Algorithm 1. This algorithm makes use of Algorithms 2 and 3. The A algorithm is used to find the lowest-cost path from source vertex to destination vertex on a graph with costs related to translation and rotation. We assume that vertex is reachable from vertex . We developed a new heuristic (see Equation (Equation4(4) (4) )) that can be used to find the path minimising the cost function in Equation (Equation3(3) (3) ). The term related to our contribution is the term containing in line 4 of Algorithm 3. The symbols used in the algorithms (and their meaning) are provided in Table .
Appendix 2.
Monotonicity proof
In this appendix, we provide the proof that our heuristic is monotone.
Theorem A.1
Our heuristic with specified in Equation (Equation11(11) (11) ) is monotone.
Proof.
A heuristic is monotone (also called consistent) if it satisfies the following (in)equality (Hart, Nilsson, and Raphael Citation1968): (A1) (A1) for each vertex and each edge . Furthermore, should be true.
In our case, . Since and , is true. To prove that Equation (EquationA1(A1) (A1) ) is satisfied, we rewrite it using Equations (Equation3(3) (3) )–(Equation6(6) (6) ): (A2) (A2) with (due to assumptions stated in Section 4.1). Using the triangle inequality, we know (A3) (A3) Therefore, in order to prove monotonicity, it suffices to prove (A4) (A4) or (A5) (A5) with specified in Equation (Equation11(11) (11) ). The right-hand side of Equation (EquationA5(A5) (A5) ) is as small as possible if an edge exists that is oriented in parallel with , and if also is located in parallel with . In that case (A6) (A6) This implies it suffices to prove (A7) (A7) It is sufficient to prove that this (in)equality holds for the incoming edge and for end orientation located in parallel with , since either is the incoming edge to destination vertex that minimises the expression for or it is one of other incoming edges to the destination vertex (that does not minimise ) that provides a higher lower bound. So, for incoming edge to destination vertex , we have to prove (A8) (A8) with the specified orientation at vertex equal to if or otherwise with the predecessor vertex of vertex .
First we assume such that (see Section 4.1.2). Given , , and , we can always construct a triangle with end points , , and (see, for example, Figure ).
From now on, we use , , , and . Note that is not defined here to avoid confusion with the main text of this paper. The minimum angles of rotation , , , and can either be acute, right, obtuse, or straight. Note that, by definition, none of the absolute minimum angles of rotation will be larger than π radians.
In case (see, for example, Figure (a)), then, irrespective of the types of angles and , the following equations hold (respectively, straight angle property and triangle property): (A9) (A9) (A10) (A10) so and . We have proven Equation (EquationA8(A8) (A8) ) to hold in this case.
In case (see, for example, Figure (b)), we prove Equation (EquationA8(A8) (A8) ) holds based on Euclid's exterior angle theorem, stating , so . Since , . So we have proven our heuristic to be monotone for .
For , , so should hold. Since our heuristic is admissible (see proof in Appendix 3), this (in)equality is satisfied and our heuristic is also monotone for .
Appendix 3.
Admissibility proof
In this appendix, we provide the proof that our heuristic is admissible.
Theorem A.2
If an arbitrary continuous curve (i.e. path) is considered from vertex to destination vertex , in the plane of the graph, such that vertex is left and destination vertex is entered with minimum absolute angle of rotation with respect to the Euclidean vector (directed from vertex to destination vertex ) equal to, respectively, and , then the minimum absolute angle of rotation made while moving along the curve is equal to .
Proof.
Without loss of generality, the graph can be moved such that vertex is located in the origin of the Cartesian plane, and such that the Euclidean vector is aligned with the x-axis. Furthermore, without loss of generality, the graph can be scaled such that destination vertex is located in . The Euclidean vector is then directed from to .
Now assume the curve leaves the origin with minimum absolute angle of rotation with respect to the Euclidean vector equal to , and enters with minimum absolute angle of rotation with respect to the Euclidean vector equal to .
Without loss of generality, we can assume that the origin is left with a positive minimum angle of rotation in counterclockwise direction (i.e. with minimum angle of rotation equal to ). If this does not hold, the graph can be mirrored around the Euclidean vector .
The destination vertex can be entered with a positive or negative minimum angle of rotation (equal to in absolute value) in counterclockwise direction. We now prove the theorem for both cases.
When the destination vertex is entered with a negative minimum angle of rotation in counterclockwise direction (i.e. ), then the difference between minimum angle of rotation from leaving the vertex to entering the destination vertex is equal to . Since the curve is continuous, all values in between are assumed, so the minimum absolute angle of rotation made while moving along the curve is at least equal to .
When the destination vertex is entered with a positive minimum angle of rotation in counterclockwise direction (i.e. ), then according to the mean value theorem of Cauchy, an orientation in parallel to the Euclidean vector should be attained along the curve in order to move from vertex to destination vertex . So, the orientation of a movement along the curve starts with , then attains zero, and eventually becomes . The minimum absolute angle of rotation that should therefore at least be made while moving along the curve is equal to (from to 0) plus (from 0 to ).
Theorem A.3
The sum of minimum absolute angles of rotation as computed in Equation (Equation11(11) (11) ) is a lower bound estimate of the actual minimum absolute angle of rotation the AGV needs to make, to move from (specified orientation at) vertex to (desired end orientation at) destination vertex .
Proof.
Theorem A.2 states that the minimum absolute angle of rotation the AGV needs to make, to move along an arbitrary path from vertex to destination vertex , such that vertex is left and destination vertex is entered with minimum absolute angle of rotation with respect to the Euclidean vector (directed from vertex to destination vertex ) equal to, respectively, and , is equal to . In order to reach the desired end orientation at the destination vertex , an extra minimum absolute angle of rotation needs to be made of at least . For one incoming edge (i.e. for one possibility of entering the destination vertex ), the minimum absolute angle of rotation the AGV needs to make is therefore at least equal to .
For multiple incoming edges at the destination vertex , considering the incoming edge that minimises ensures that Equation (Equation11(11) (11) ) provides a lower bound estimate of the actual minimum absolute angle of rotation needed.