4,967
Views
21
CrossRef citations to date
0
Altmetric
Research Articles

Efficient path planning for automated guided vehicles using A* (Astar) algorithm incorporating turning costs in search heuristic

&
Pages 707-725 | Received 29 Jan 2021, Accepted 01 Dec 2021, Published online: 29 Dec 2021

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):

  1. Representation of the free configuration space.

  2. 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 G=(V,E) from one source vertex vs to a destination vertex vd. V denotes the set of vertices (i.e. V={v1,,vN} for N vertices) and E denotes the set of edges (i.e. EV×V). If (vi,vj)E, then ij. The algorithm uses a best-first search strategy (Lawler and Wood Citation1966), exploring the most likely candidate (as current vertex vc) while eliminating provably inferior solutions (Yap Citation2002). The most likely candidate is the vertex vc with the lowest sum of the actual costs from the source vertex vs, g(vs,vc), and the estimated costs h(vc,vd) to the destination vertex, i.e. with the lowest value for (1) f(vs,vc,vd)=g(vs,vc)+h(vc,vd).(1) The algorithm is admissible (i.e. is guaranteed to find the optimal (lowest-cost) path), if the heuristic h(ve,vd) from a vertex veV to destination vertex vd provides a lower bound estimate for the actual minimum costs h(ve,vd) to move from a vertex ve to the destination vertex vd (Hart, Nilsson, and Raphael Citation1968): (2) ve,vdV,h(ve,vd)h(ve,vd).(2) The closer the value of h(ve,vd) is to the actual minimum costs h(ve,vd), 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.

Table 1. 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 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 vc and destination vertex vd 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 h(ve,vd) from vertex ve to destination vertex vd (i.e. an admissible heuristic h(ve,vd) 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 cvivj of all edges in the graph (vi,vj)E 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 pturn 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 Φend at the destination vertex vd and the start orientation Φstart at the source vertex vs.

4.1.2. Actual costs

The shortest-time path Pvs,vd to be found by the algorithm is the path minimising the following cost function, for the whole path from vs to vd (i.e. v=vs and v=vd): (3) C(Pv,v)=(vi,vj)E(Pv,v)cvivj+pturnviV(Pv,v)|θvi|.(3) In this equation, E(Pv,v) is the set of edges in path Pv,v, V(Pv,v) is the set of vertices in path Pv,v, and |θvi| is the minimum turn that needs to be made at vertex vi in radians. The minimum turn |θvi| at vertex vi is computed as follows, as the absolute smallest difference (either clockwise or counterclockwise) between:

  • If vi=vs: start orientation Φstart, and orientation of the outgoing edge from source vertex vs.

  • If vi=vd: the orientation of the incoming edge to the destination vertex vd, and the desired end orientation Φend, if specified. Otherwise the difference is equal to zero.

  • If vi{vs,vd}: the orientation of the incoming edge at vi, and the orientation of the outgoing edge at vi. If vi=v, then the outgoing edge is unknown and the difference is equal to zero.

The actual costs to move from source vertex vs to vertex ve, g(vs,ve) are therefore equal to g(vs,ve)=C(Pvs,ve), with Pvs,ve the shortest-time path from source vertex vs to vertex ve found so far by the A algorithm.

The actual minimum costs from a vertex veV to destination vertex vd, h(ve,vd), of which the heuristic h(ve,vd) should provide an underestimation, are therefore equal to h(ve,vd)=C(Pve,vd).

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 h(ve,vd) from a vertex ve to destination vertex vd consists of a part related to translation, htrans(ve,vd), and a part related to rotation, hrot(ve,vd), i.e. (4) h(ve,vd)=htrans(ve,vd)+hrot(ve,vd).(4) The component htrans(ve,vd) is a lower bound estimate of the time needed by the AGV to translate from vertex ve to destination vertex vd over the edges in the graph. It is equal to the Euclidean distance |d(ve,vd)| (i.e. the magnitude of the Euclidean vector d(ve,vd)) between vertex ve and destination vertex vd, divided by the maximum AGV (translation) speed, smax, i.e. (5) htrans(ve,vd)=|d(ve,vd)|smax.(5) The Euclidean distance is a lower bound estimate of the distance over which the AGV needs to move from vertex ve to destination vertex vd (Sedgewick and Vitter Citation1986).

The component hrot(ve,vd) is equal to the turning costs per radian, pturn, times a lower bound estimate |θmin(ve,vd)| of the necessary angles of rotation needed to move from (specified orientation Φe at) vertex ve to (desired end orientation Φend at) destination vertex vd, i.e. (6) hrot(ve,vd)=pturn|θmin(ve,vd)|.(6) The turning costs per radian pturn 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 Φe is equal to Φstart if ve=vs, and otherwise equal to the orientation of an incoming edge to vertex ve. The computation of the lower bound estimate |θmin(ve,vd)| 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 hrot(ve,vd), as specified in Equation (Equation6), in the heuristic h(ve,vd). 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 vc 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 |θmin(ve,vd)| of the necessary angles of rotation the AGV needs to make in order to move from (specified orientation Φe at) vertex veV to (desired end orientation Φend at) destination vertex vd 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 ψ2π when turning in clockwise direction.

Figure 1. Angles of rotation from orientation A to orientation B.

Vertex with two orientations, denoted by A and B. The angle of rotation from A to B in counterclockwise direction is denoted by . The angle of rotation from A to B in clockwise direction is denoted by .
Figure 1. Angles of rotation from orientation A to orientation B.

The minimum absolute angle of rotation |θ| that needs to be made (either clockwise or counterclockwise) is equal to (7) |θ|=min(|ψ|,|ψ2π|).(7) The minimum angle of rotation θ is in counterclockwise direction if |θ|=|ψ|: then θ=ψ=|θ|. The minimum angle of rotation θ is in clockwise direction if |θ|=|ψ2π|, then θ=ψ2π=|θ|.

As mentioned before, the estimate |θmin(ve,vd)| is a lower bound for the angles of rotation needed to move from (specified orientation Φe at) vertex ve to (desired end orientation Φend at) destination vertex vd. Figure  shows three example situations, where vertex ve (with specified orientation Φe of the AGV) and destination vertex vd (with the desired end orientation Φend of the AGV) are shown as circles. The Euclidean vector (i.e. shortest possible connection regardless of the graph) directed from vertex ve to destination vertex vd is shown as the arrow connecting those vertices. Three minimum angles of rotation are shown in this figure as θ1, θ2, and θ3.

Figure 2. Graphic representation of the minimum absolute angles of rotation |θ1|, |θ2|, and |θ3| for vertex ve with specified orientation Φe and destination vertex vd with end orientation Φend. (a) One incoming edge at vd. The minimum angles of rotation at vd are equal to |θ2| and |θ3|. (b) One incoming edge at vd. The minimum angles of rotation at vd are equal to |θ2| and |θ3|, and (c) two incoming edges a and b at vd.

Figure 2. Graphic representation of the minimum absolute angles of rotation |θ1|, |θ2|, and |θ3| for vertex ve with specified orientation Φe and destination vertex vd with end orientation Φend. (a) One incoming edge at vd. The minimum angles of rotation at vd are equal to |θ2| and |θ3|. (b) One incoming edge at vd. The minimum angles of rotation at vd are equal to −|θ2| and |θ3|, and (c) two incoming edges a and b at vd.

The minimum angle of rotation θ1 represents the rotation from orientation Φe at vertex ve to the Euclidean vector d(ve,vd) directed from vertex ve to destination vertex vd with (8) |θ1|=|θΦeΦd(ve,vd)|.(8) The minimum angles of rotation θ2 and θ3 are dependent on the incoming edge(s) to the destination vertex vd. Those minimum angles of rotation represent, respectively, the rotation from Euclidean vector d(ve,vd) to the incoming edge at the destination vertex vd, and the rotation from that incoming edge to the desired end orientation Φend. As shown in Figure (c), different incoming edges (vi,vd)E can lead to different values for θ2 and θ3: (9) |θ2|(vi,vd)=|θΦd(ve,vd)Φ(vi,vd)|,(9) (10) |θ3|(vi,vd)=|θΦ(vi,vd)Φend|.(10) In these equations, Φ(vi,vd) represents the orientation of edge (vi,vd)E.

The lower bound estimate |θmin(ve,vd)| might be chosen equal to |θ1| only but is sharpened by also using |θ2| and |θ3|. It is equal to (11) |θmin(ve,vd)|=|θ1|+min(vi,vd)E(|θ2|(vi,vd)+|θ3|(vi,vd)).(11) The minimum sum of |θ2|(vi,vd) and |θ3|(vi,vd) over the incoming edges (vi,vd)E at the destination vertex vd is used to compute the lower bound estimate |θmin(ve,vd)|. If the desired end orientation Φend is unspecified, then the minimum angle of rotation θ3 is set to zero. Note that |θmin(vd,vd)| is equal to zero.

Figure (a) shows an example situation for one incoming edge at the destination vertex vd. In this case, the minimum angles of rotation are equal to θ1=|θ1|, θ2=|θ2|, and θ3=|θ3|, since they are measured in counterclockwise direction. The lower bound estimate |θmin(ve,vd)| equals |θ1|+|θ2|+|θ3| (see Equation (Equation11)).

Figure (b) shows minimum angles of rotation θ1, θ2, and θ3 for a different desired end orientation Φend at the destination vertex vd. In this case, the minimum angles of rotation at the destination vertex vd are equal to θ2=|θ2| and θ3=|θ3|, since they are measured in, respectively, clockwise and counterclockwise directions. Also for the situation shown in Figure (b), the lower bound estimate |θmin(ve,vd)| equals |θ1|+|θ2|+|θ3| (see Equation (Equation11)).

Figure (c) shows an example situation with two incoming edges at the destination vertex vd. The minimum angles of rotation |θ2|a and |θ3|a are related to the incoming edge a. The minimum angles of rotation |θ2|b and |θ3|b are related to the incoming edge b. The lower bound estimate |θmin(ve,vd)| equals |θ1|+mina,b(|θ2|a+|θ3|a,|θ2|b+|θ3|b) (see Equation (Equation11)).

As mentioned in Section 2, the A algorithm is admissible (i.e. is guaranteed to find the optimal (lowest-cost) path), if the heuristic h(ve,vd) provides a lower bound estimate of the actual minimum costs h(ve,vd) to move from vertex ve to destination vertex vd. To prove that with our heuristic, the A algorithm finds the optimal path, we have to prove that the minimum absolute angle of rotation |θmin(ve,vd)| is a lower bound estimate of the actual minimum absolute angle of rotation the AGV needs to make, to move from (specified orientation Φe at) vertex ve to (desired end orientation Φend at) destination vertex vd. 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 10×10, 20×20, 30×30, and 40×40 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) with v=vs and v=vd. In the study, the weight of each edge (vi,vj) is equal to (12) cvivj=lvivjsmax.(12) In this equation, lvivj is the distance from vertex vi to vertex vj, and smax is the maximum AGV (translation) speed. The turning costs per radian are equal to (13) pturn=1ωmax.(13) In this equation, ωmax 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). 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 π/2 radians) in the computations for f(vs,ve,vd) and g(vs,ve), 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). The component related to translation is equal to (14) htrans(ve,vd)=|xvexvd|+|yveyvd|smax.(14) In this equation, |xvexvd| is the absolute difference in x-coordinates between vertex ve and destination vertex vd, and |yveyvd| is the absolute difference in y-coordinates between vertex ve and destination vertex vd. The control strategy adds constant turning costs (the costs for turning over π/2 radians) to the heuristic if both the x- and y-coordinates of the vertex ve differ from, respectively, the x- and y-coordinates of the destination vertex vd. 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). 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 f(vs,ve,vd) and g(vs,ve). 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. |xvexvd|+|yveyvd|) is equal to or bigger than the Euclidean distance (the triangle inequality), i.e. (15) |xvexvd|+|yveyvd||d(ve,vd)|.(15) Therefore, using the Manhattan distance in the component related to translation htrans(ve,vd) results in a higher cost estimate compared to using the Euclidean distance. As explained in Section 2, the closer the value of h(ve,vd) is to the actual minimum costs h(ve,vd), 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).

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 Φend. 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 Φend.

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. h(ve,vd) gets closer to h(ve,vd)), 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 10×10, 20×20, 30×30, and 40×40 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.

Figure 3. Layout shapes used in the comparative study. (a) Rectangular layout. (b) Hexagonal layout. (c) Arbitrary layout.

Figure 3. Layout shapes used in the comparative study. (a) Rectangular layout. (b) Hexagonal layout. (c) Arbitrary layout.

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.

Figure 4. Example layouts with randomly 20% of the grid elements blocked. (a) Rectangular layout. (b) Hexagonal layout. (c) Arbitrary layout.

Figure 4. Example layouts with randomly 20% of the grid elements blocked. (a) Rectangular layout. (b) Hexagonal layout. (c) Arbitrary layout.

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 vs to the predecessor vertex of the destination vertex vd need to be expanded. Therefore, the number of iterations n(Pvs,vd) is at least equal to the number of grid elements (i.e. vertices) in the lowest-cost path |V(Pvs,vd)| minus one (since the destination vertex vd does not have to be expanded), i.e.  (16) n(Pvs,vd)|V(Pvs,vd)|11.(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 n(Pvs,vd)/(|V(Pvs,vd)|1) for different path lengths, for a 30×30 grid with rectangular elements, for 0% 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 Pvs,vd, the larger n(Pvs,vd)/(|V(Pvs,vd)|1). 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) vs,vdVn(Pvs,vd)vs,vdV(|V(Pvs,vd)|1).(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.

Figure 5. Average number of iterations needed to find one grid element of the lowest-cost path (i.e. path element), for different path lengths, for a 30×30 rectangular grid with 0% of the grid elements blocked.

2D plot showing the sample mean and 95% confidence interval for the number of iterations per path element, for different path lengths, for the control strategies of Bae and Chung (), modified Cui et al. (), and Heuristic This Paper. An S-curve in the results is visible for all control strategies, starting from bottom left to top right.
Figure 5. Average number of iterations needed to find one grid element of the lowest-cost path (i.e. path element), for different path lengths, for a 30×30 rectangular grid with 0% of the grid elements blocked.

Table 2. Parameter values used for the computations.

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 10×10, 20×20, 30×30, and 40×40 elements, for, respectively, 0% and 20% of the grid elements blocked.

Figure 6. Computed metrics for grids with different element shapes, for different percentages of grid elements blocked, and for different grid sizes. (a) Grid with rectangular elements, with 0% of the grid elements blocked. (b) Grid with rectangular elements, with 20% of the grid elements blocked. (c) Grid with hexagonal elements, with 0% of the grid elements blocked. (d) Grid with hexagonal elements, with 20% of the grid elements blocked. (e) Grid with arbitrary-shaped elements, with 0% of the grid elements blocked. (f) Grid with arbitrary-shaped elements, with 20% of the grid elements blocked.

Figure 6. Computed metrics for grids with different element shapes, for different percentages of grid elements blocked, and for different grid sizes. (a) Grid with rectangular elements, with 0% of the grid elements blocked. (b) Grid with rectangular elements, with 20% of the grid elements blocked. (c) Grid with hexagonal elements, with 0% of the grid elements blocked. (d) Grid with hexagonal elements, with 20% of the grid elements blocked. (e) Grid with arbitrary-shaped elements, with 0% of the grid elements blocked. (f) Grid with arbitrary-shaped elements, with 20% 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 vs and destination vertex vd (for example, when the Euclidean vector d(vs,vd) directed from source vertex vs to destination vertex vd is almost (but not exactly) parallel to an axis, with incoming edges at source vertex vs and destination vertex vd 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 ωmax and maximum (translation) speed smax may influence the ratio between the values of the components in the heuristic related to rotation and translation. For ωmax or smax0, 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 ωmax0 or smax, 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 30×30 rectangular grid with 0% of the grid elements blocked, for different parameter combinations: for ωmax{1/4π,1/2π,3/4π,π} rad/s, and for smax{0.5,2,3.5,5} m/s. The results are visible in Figure .

Figure 7. Average number of iterations needed to find one element of the lowest-cost path for different combinations of maximum (translation) speed and maximum rotation speed, for a 30×30 rectangular grid with 0% of the grid elements blocked.

3D plot showing the metric (i.e. the weighted average number of iterations per path element) for different speeds and rotation speeds and for (in descending order of the sample mean for each combination of speeds) control strategies of Bae and Chung (), modified Cui et al. (), and Heuristic This Paper. There is no overlap in 3D plots between different control strategies.
Figure 7. Average number of iterations needed to find one element of the lowest-cost path for different combinations of maximum (translation) speed and maximum rotation speed, for a 30×30 rectangular grid with 0% of the grid elements blocked.

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 68% 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 Pvs,vd from source vertex vs to destination vertex vd on a graph G=(V,E) with costs related to translation and rotation. We assume that vertex vdV is reachable from vertex vsV. We developed a new heuristic h(ve,vd) (see Equation (Equation4)) that can be used to find the path minimising the cost function in Equation (Equation3). The term related to our contribution is the term containing pturn in line 4 of Algorithm 3. The symbols used in the algorithms (and their meaning) are provided in Table .

Table B1. Symbols and their meaning in Algorithms 1–3.

Appendix 2.

Monotonicity proof

In this appendix, we provide the proof that our heuristic is monotone.

Theorem A.1

Our heuristic h(ve,vd)=(|d(ve,vd)|/smax)+pturn|θmin(ve,vd)| with |θmin(ve,vd)| specified in Equation (Equation11) is monotone.

Proof.

A heuristic is monotone (also called consistent) if it satisfies the following (in)equality (Hart, Nilsson, and Raphael Citation1968): (A1) h(ve,vd)C(Pve,vf)+h(vf,vd)(A1) for each vertex veV and each edge (ve,vf)E. Furthermore, h(vd,vd)=0 should be true.

In our case, h(vd,vd)=(|d(vd,vd)|/smax)+pturn|θmin(vd,vd)|. Since |d(vd,vd)|=0 and |θmin(vd,vd)|=0, h(vd,vd)=0 is true. To prove that Equation (EquationA1) is satisfied, we rewrite it using Equations (Equation3)–(Equation6): (A2) |d(ve,vd)|smax+pturn|θmin(ve,vd)|cvevf+pturn(|θve|+|θvf|)+|d(vf,vd)|smax+pturn|θmin(vf,vd)|,(A2) with cvevf|d(ve,vf)|/smax (due to assumptions stated in Section 4.1). Using the triangle inequality, we know (A3) |d(ve,vd)|smax|d(ve,vf)|smax+|d(vf,vd)|smax.(A3) Therefore, in order to prove monotonicity, it suffices to prove (A4) pturn|θmin(ve,vd)|pturn(|θve|+|θvf|)+pturn|θmin(vf,vd)|(A4) or (A5) |θmin(ve,vd)||θve|+|θvf|+|θmin(vf,vd)|(A5) with |θmin(ve,vd)| specified in Equation (Equation11). The right-hand side of Equation (EquationA5) is as small as possible if an edge (vi,vd)E exists that is oriented in parallel with d(vf,vd), and if also Φend is located in parallel with d(vf,vd). In that case (A6) |θmin(vf,vd)|=|θΦ(ve,vf)Φd(vf,vd)|.(A6) This implies it suffices to prove (A7) |θmin(ve,vd)||θve|+|θvf|+|θΦ(ve,vf)Φd(vf,vd)|.(A7) It is sufficient to prove that this (in)equality holds for the incoming edge (vi,vd)E and for end orientation Φend located in parallel with d(vf,vd), since either (vi,vd) is the incoming edge to destination vertex vd that minimises the expression for |θmin(ve,vd)| or it is one of other incoming edges to the destination vertex vd (that does not minimise |θmin(ve,vd)|) that provides a higher lower bound. So, for incoming edge (vi,vd)E to destination vertex vd, we have to prove (A8) |θΦeΦd(ve,vd)|+|θΦd(ve,vd)Φd(vf,vd)||θve|+|θvf|+|θΦ(ve,vf)Φd(vf,vd)|,(A8) with the specified orientation Φe at vertex ve equal to Φstart if ve=vs or otherwise Φe=Φ(vh,ve) with vh the predecessor vertex of vertex ve.

First we assume vfvd such that |θve|+|θvf|=|θΦeΦ(ve,vf)| (see Section 4.1.2). Given ve, vf, and vd, we can always construct a triangle with end points ve, vf, and vd (see, for example, Figure ).

Figure A1. Minimum absolute angles of rotation |θ1|, |θ2|, |θ4|, |θ5|, and |θ6|. (a) |θ1|>|θ5| and (b) |θ1|<|θ5|.

(a) Vertices (with, respectively, orientations and ), , and are drawn in such a way that the minimum angles of rotation , and are all in counterclockwise direction, and such that . (b) Vertices (with, respectively, orientations and ), , and are drawn in such a way that the minimum angles of rotation and are in counterclockwise direction, and and are in clockwise direction, and such that .
Figure A1. Minimum absolute angles of rotation |θ1|, |θ2|, |θ4|, |θ5|, and |θ6|. (a) |θ1|>|θ5| and (b) |θ1|<|θ5|.

From now on, we use |θ1|=|θΦeΦd(ve,vd)|, |θ2|=|θΦd(ve,vd)Φd(vf,vd)|, |θ4|=|θΦ(ve,vf)Φd(vf,vd)|, and |θ5|=|θΦeΦ(ve,vf)|. Note that |θ3| is not defined here to avoid confusion with the main text of this paper. The minimum angles of rotation θ1, θ2, θ4, and θ5 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 |θ1||θ5| (see, for example, Figure (a)), then, irrespective of the types of angles θ2 and θ4, the following equations hold (respectively, straight angle property and triangle property): (A9) |θ6|=π|θ4|,(A9) (A10) |θ6|=π|θ2|(|θ1||θ5|),(A10) so |θ4|=|θ2|+|θ1||θ5| and |θ1|+|θ2|=|θ4|+|θ5|. We have proven Equation (EquationA8) to hold in this case.

In case |θ1||θ5| (see, for example, Figure (b)), we prove Equation (EquationA8) holds based on Euclid's exterior angle theorem, stating |θ4|>max(|θ2|,|θ5||θ1|), so |θ4|>|θ2|. Since |θ1||θ5|, |θ1|+|θ2||θ4|+|θ5|. So we have proven our heuristic to be monotone for vfvd.

For vf=vd, h(vf,vd)=h(vd,vd)=0, so h(ve,vd)C(Pve,vd)=h(ve,vd) should hold. Since our heuristic is admissible (see proof in Appendix 3), this (in)equality is satisfied and our heuristic is also monotone for vf=vd.

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 ve to destination vertex vd, in the plane of the graph, such that vertex ve is left and destination vertex vd is entered with minimum absolute angle of rotation with respect to the Euclidean vector d(ve,vd) (directed from vertex ve to destination vertex vd) equal to, respectively, |θ1| and |θ2|, then the minimum absolute angle of rotation made while moving along the curve is equal to |θ1|+|θ2|.

Proof.

Without loss of generality, the graph can be moved such that vertex ve is located in the origin of the Cartesian plane, and such that the Euclidean vector d(ve,vd) is aligned with the x-axis. Furthermore, without loss of generality, the graph can be scaled such that destination vertex vd is located in (1,0). The Euclidean vector d(ve,vd) is then directed from (0,0) to (1,0).

Now assume the curve leaves the origin with minimum absolute angle of rotation with respect to the Euclidean vector d(ve,vd) equal to |θ1|, and enters (1,0) with minimum absolute angle of rotation with respect to the Euclidean vector d(ve,vd) equal to |θ2|.

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 θ1=|θ1|). If this does not hold, the graph can be mirrored around the Euclidean vector d(ve,vd).

The destination vertex vd can be entered with a positive or negative minimum angle of rotation (equal to |θ2| in absolute value) in counterclockwise direction. We now prove the theorem for both cases.

When the destination vertex vd is entered with a negative minimum angle of rotation in counterclockwise direction (i.e. θ2=|θ2|), then the difference between minimum angle of rotation from leaving the vertex ve to entering the destination vertex vd is equal to |θ1|+|θ2|. 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 |θ1|+|θ2|.

When the destination vertex vd is entered with a positive minimum angle of rotation in counterclockwise direction (i.e. θ2=|θ2|), then according to the mean value theorem of Cauchy, an orientation in parallel to the Euclidean vector d(ve,vd) should be attained along the curve in order to move from vertex ve to destination vertex vd. So, the orientation of a movement along the curve starts with |θ1|, then attains zero, and eventually becomes |θ2|. The minimum absolute angle of rotation that should therefore at least be made while moving along the curve is equal to |θ1| (from |θ1| to 0) plus |θ2| (from 0 to |θ2|).

Theorem A.3

The sum of minimum absolute angles of rotation |θmin(ve,vd)| as computed in Equation (Equation11) is a lower bound estimate of the actual minimum absolute angle of rotation the AGV needs to make, to move from (specified orientation Φe at) vertex ve to (desired end orientation Φend at) destination vertex vd.

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 ve to destination vertex vd, such that vertex ve is left and destination vertex vd is entered with minimum absolute angle of rotation with respect to the Euclidean vector d(ve,vd) (directed from vertex ve to destination vertex vd) equal to, respectively, |θ1| and |θ2|, is equal to |θ1|+|θ2|. In order to reach the desired end orientation Φend at the destination vertex vd, an extra minimum absolute angle of rotation needs to be made of at least |θ3|. For one incoming edge (i.e. for one possibility of entering the destination vertex vd), the minimum absolute angle of rotation the AGV needs to make is therefore at least equal to |θ1|+|θ2|+|θ3|.

For multiple incoming edges at the destination vertex vd, considering the incoming edge (vi,vd)E that minimises |θ2|(vi,vd)+|θ3|(vi,vd) ensures that Equation (Equation11) provides a lower bound estimate of the actual minimum absolute angle of rotation needed.