You are on page 1of 17

algorithms

Article
A Dynamic Route-Planning System Based on Industry
4.0 Technology
Duy Nguyen Duc , Thong Tran Huu and Narameth Nananukul *
School of Management Technology, Sirindhorn International Institute of Technology, Thammasat University,
Pathum Thani 12120, Thailand; D6122300020@g.siit.tu.ac.th (D.N.D.); m6122040667@g.siit.tu.ac.th (T.T.H.)
* Correspondence: narameth@siit.tu.ac.th

Received: 28 October 2020; Accepted: 23 November 2020; Published: 25 November 2020 

Abstract: Due to the availability of Industry 4.0 technology, the application of big data analytics
to automated systems is possible. The distribution of products between warehouses or within a
warehouse is an area that can benefit from automation based on Industry 4.0 technology. In this
paper, the focus was on developing a dynamic route-planning system for automated guided vehicles
within a warehouse. A dynamic routing problem with real-time obstacles was considered in this
research. A key problem in this research area is the lack of a real-time route-planning algorithm that
is suitable for the implementation on automated guided vehicles with limited computing resources.
An optimization model, as well as machine learning methodologies for determining an operational
route for the problem, is proposed. An internal layout of the warehouse of a large consumer product
distributor was used to test the performance of the methodologies. A simulation environment based
on Gazebo was developed and used for testing the implementation of the route-planning system.
Computational results show that the proposed machine learning methodologies were able to generate
routes with testing accuracy of up to 98% for a practical internal layout of a warehouse with 18 storage
racks and 67 path segments. Managerial insights into how the machine learning configuration affects
the prediction accuracy are also provided.

Keywords: artificial neural network; route-planning system; machine learning; A-star;


shortest-path model

1. Introduction
Currently, Industry 4.0 technology has the potential to impact the operations of many industries.
As shown in Figure 1, big data and analytics and autonomous robots are the two main components
of Industry 4.0 technology [1]. Autonomous robots are increasingly used to automate routine tasks
in many industrial applications and tasks in special areas that are harmful to operators. Artificial
intelligence (AI)-based automation is adaptive and has many practical applications in different
industries. The transportation industry is one of the areas that has potential for the application of
AI-based automation, especially in supply chains, where there are large amounts of transactional
data at every stage. As such, the processes involved can receive benefit from AI and robotics
automation. The advancement of AI and robotics technologies brings about new opportunities for
improving the operations across a supply chain. With AI and robotics automation, organizations
can collect and perform data analysis autonomously, which improves supply chain responsiveness.
New breakthroughs in AI, robotics, and automation can accelerate material development, the flow of
products, material handling, and quality control in an integrated environment [2]. The efficiency of
operations within a warehouse can be improved with the application of AI-based automation due to
the high rates of movement of products. One of the famous warehouse robot systems is the Kiva system
implemented at Amazon. The system was used to improve the efficiency of warehouse operations [3].

Algorithms 2020, 13, 308; doi:10.3390/a13120308 www.mdpi.com/journal/algorithms


Algorithms 2020, 13, x FOR PEER REVIEW 2 of 17

system
Algorithmsimplemented
2020, 13, 308 at Amazon. The system was used to improve the efficiency of warehouse
2 of 17
operations [3].

Figure1.
Figure Industry4.0
1. Industry 4.0technology
technology[1].
[1].

The focus
The focusofofthis research
this waswas
research on developing an AI-based
on developing automation
an AI-based methodology
automation for controlling
methodology for
the movement of automated vehicles within a warehouse. In a typical operation
controlling the movement of automated vehicles within a warehouse. In a typical operation within a warehouse,
within a
the amount ofthe
warehouse, daily product
amount ofmovement is huge,movement
daily product and, in general, the routes
is huge, and, are
in determined
general, the onroutes
the basis of
are
the experience of drivers. Dynamic obstacles can obstruct the movement through
determined on the basis of the experience of drivers. Dynamic obstacles can obstruct the movementsome path segments
within asome
through warehouse and could
path segments affecta warehouse
within the routes that
and can
couldbeaffect
used the
by the drivers.
routes A route-planning
that can be used by the
process with the consideration of dynamic obstacles is complex and cannot
drivers. A route-planning process with the consideration of dynamic obstacles is complex and rely only on cannot
human
experience. In this research, methodologies for determining routes that consider real-time
rely only on human experience. In this research, methodologies for determining routes that consider obstacles are
presented. The methodologies include an optimization model for routing decision,
real-time obstacles are presented. The methodologies include an optimization model for routing an A-star heuristic
method, and
decision, machine
an A-star learning
heuristic modelsand
method, based on an artificial
machine learningneural
models network
based on(ANN). The novelty
an artificial neuralof
this research can be summarized as follows:
network (ANN). The novelty of this research can be summarized as follows:
•• This research
This research presents
presents aa route-planning
route-planning methodology
methodology based based on on an
an ANN.
ANN. The The ANN
ANN cancan bebe
implemented on automated guided vehicles (AGVs) with limited computing
implemented on automated guided vehicles (AGVs) with limited computing resources. Once an resources. Once an
ANN is
ANN is trained,
trained, ititcan
cangenerate
generatea aroute
route with minimal
with minimal computational
computational effort andand
effort runtime (less(less
runtime than
a second).
than a second).
•• The considered route-planning problem
The considered route-planning problem isis based
based on on aa practical
practical warehouse
warehouse environment
environment thatthat
considers real-time
considers real-time obstacles.
obstacles.
•• AA route-planning
route-planning system
system that
that collects
collects the
the data
data for
for training
training anan ANN
ANNand andgenerates
generatesroutes
routesononthe
the
basis
basis of
of real-time
real-time positions
positions of
of obstacles
obstacles is introduced.
•• The
Theproposed
proposedmethodology
methodology is adaptive
is adaptiveandand
scalable. It can be
scalable. It applied
can be to other routing
applied problems
to other routing
with different
problems withrequirements. Heuristic methods
different requirements. Heuristic can be usedcan
methods for be
generating
used for routes for large-scale
generating routes for
problems.
large-scale problems.
•• This
This research
research presents
presents managerial
managerial insights
insights into
into how
how the the configuration
configuration of of an
an ANN
ANN affects
affects the
the
accuracy,
accuracy, and
and how
how thethe best
best configuration
configuration can can be
be chosen.
chosen.
The
The organization ofthis
organization of thispaper
paper is as
is as follows:
follows: Section
Section 2 presents
2 presents a literature
a literature reviewreview
relatedrelated to
to motion
motion planning and route planning. A mathematical model for routing decisions
planning and route planning. A mathematical model for routing decisions and an A-star heuristic and an A-star
heuristic are described
are described in Sectionin3.Section
An ANN3. An ANNformodel
model for dynamic
dynamic route planning
route planning is presentedis presented
in Sectionin4.
Section 4. The transportation
The transportation environment environment used
used in this in this research
research is presented
is presented in Section in 5.
Section 5. A dynamic
A dynamic routing
routing system and computational results with managerial insights are presented in Section
system and computational results with managerial insights are presented in Section 6. The conclusions 6. The
conclusions and possible future research are discussed
and possible future research are discussed in Section 7. in Section 7.

2. Literature Review
The planning of autonomous movement of a robot is related to two main areas, motion planning
and route (or path) planning. A literature review of key articles and the research gap are provided in
this section.
Algorithms 2020, 13, 308 3 of 17

2.1. Motion Planning


When applying motion planning to the autonomous movement of a robot, the goal is to determine
a sequence of motion that moves the robot from an origin to a destination. In general, a motion planning
has obstacle collision avoidance capability, using available data from different equipped sensors to
navigate the robot by controlling the speed and direction of movement. an A-star algorithm has been
applied to many motion planning problems and is considered one of the most popular algorithms.
Liu and Gong [4] applied many variations of the A-star algorithm for path planning for a
rescue robot operation. They presented many variations of the A-star algorithm according to the
complexity of the rescue environment, as well as the precision of the sensors. Because of the noise
from the signals detected by the robot, approximated information of the robot’s orientation is required.
El Halawany et al. [5] stated that A-star is the best general algorithm for searching for the optimal path.
Path planning is used in many types of applications, especially in artificial intelligence-related areas.
Contreras-González et al. [6] developed an ANN to predict the location of an AGV by using operational
data containing the accuracy from the model and the actual location of the AGV. The proposed ANN
model could generate a smooth and accurate point-to-point travel plan in field testing without a
controlled environment. Zhang et al. [7] proposed an enhanced A-star algorithm for guiding an
automated guided vehicle (AGV). The proposed method could generate efficient paths that reduce
superfluous inflection points and redundant nodes. Gochev et al. [8] proposed an integration of a
collision avoidance method and the A-star algorithm in an environment with different agents for an
AGV system. In the experiment, the AGVs had to follow different assigned paths without colliding
with the obstacles. Mohan and Ignatious [9] studied an application of a mobile robot in a warehouse
environment with the monitoring of battery health. An enhanced A-star algorithm was used to
generate the paths for robots. Kurdi et al. [10] developed an intelligent controller for path planning
using an ANN. The authors constructed collision-free paths for moving robots among obstacles on
the basis of multiple inputs from different resources. Zhang et al. [11] proposed an ANN model
for path control of an AGV that considers the line-of-sight during movement in adverse conditions.
The ANN model was created for learning the proposed guidance law in order to control the effects
of wind-induced sideslips. Flórez et al. [12] developed a control methodology for an AGV. A hybrid
kinematic controller was developed on the basis of a combination of an evolved ANN and a genetic
algorithm. The controller was used to control car kinematics to avoid obstacles. From the test results,
the vehicle reached a certain level of autonomy, according to a controller that took into account the
kinematics and dynamics of the system. A new suggested method that combined A-star algorithm and
motion planning, and that could find a global path, track the path, and avoid collisions in a dynamic
environment, as well as in a static one, was introduced by Zhong et al. [13]. For real-time obstacles,
path planning with A-star generated a global path that kept distance from the obstacles; the path was
tracked with a window adaptive approach that helped the robot track the entire path smoothly and
reach the final goal without collisions.

2.2. Route Planning


Bhadoria and Singh [14] showed that algorithms such as Dijkstra and A-star can be applied
for both path planning and routing decisions. Many scenarios were created on the basis of an
unstructured and unpredictable environment, where the robots were forced to face new situations in
which decision-making was quite difficult. Zhang and Zhao [15] considered an integrated framework
for combining A-star and a Dijkstra algorithm. The proposed algorithm was used to guide a mobile
robot along the path between an origin and a provided destination with the ability to avoid collisions
with obstacles. Kusuma and Machbub [16] implemented an A-star algorithm for planning the
movement of a humanoid robot. The proposed algorithm had the ability to find a new route if the
destination was modified or if the robot failed to follow the assigned path. Ruiz et al. [17] considered
an open vehicle routing problem with the capacity limitation and distance constraints. A biased
random-key genetic algorithm designed to solve the problem was benchmarked with three datasets to
Algorithms 2020, 13, 308 4 of 17

demonstrate the efficiency of the proposed algorithm. Salavati-Khoshghalb et al. [18] investigated
a vehicle routing problem (VRP) that considered uncertainty in demand under a restocking policy.
An integer L-shaped algorithm and various lower bound schemes were developed to determine the
solutions for problems with up to 60 customers and four vehicles. Zhang et al. [19] studied an ant colony
optimization algorithm for a multi-objective vehicle routing problem with flexible time windows.
The model aimed to simultaneously minimize the total distribution costs and maximize the overall
customer satisfaction. Sung et al. [20] developed a neural network that could be used to determine a
collision-free path in a large-scale dynamic environment generated from a dataset that was extracted
from a Bellman–Ford algorithm and a quadratic program. The dataset from the Bellman–Ford algorithm
showed better reliability for training the neural network due to the appropriateness of this algorithm in
a discretized space. Pasha et al. [21] formulated a mixed-integer linear programming model for an open
capacitated VRP with soft time windows. An optimization model and four metaheuristic algorithms
were developed to solve the problem. The results showed that the evolutionary algorithm provided
good-quality solutions for both the small-scale and the large-scale problems with practical runtime.
Trachanatzi et al. [22] addressed an environmental prize-collecting vehicle routing problem. A firefly
algorithm based on coordinates (FAC) was designed to solve the model. The proposed algorithm
was performed and tested with many instances from previous studies to demonstrate the promising
performance of the FAC. A summary of the methods used in key related articles is shown in Table 1.
According to the literature review, route-planning and path problems for AGV are active research areas
related to Industry 4.0 technology. None of the research addressed an adaptive solution methodology
for a route-planning problem within a warehouse that considers real-time obstacles. The present
research focused on developing a solution methodology using ANN for a route-planning problem
with real-time obstacles. A dynamic route-planning system is also proposed. The main contribution of
this research is the development of an efficient route-planning methodology using a machine learning
model that can be implemented on AGVs with limited computing resources. An ANN model that can
be used to determine the parameters that specify the relationship between the input and output of a
dynamic route-planning problem is introduced. This can then be applied to predict the route on the
basis of different scenarios of input data.
Algorithms 2020, 13, 308 5 of 17

Table 1. A summary of the methods used in key related articles. ANN, artificial neural network.

No. Authors Year Route Planning Motion Planning Automated Robot Warehouse Application Use of ANN Realtime Obstacle
1 Liu and Gong [4] 2011 x x x
2 ElHalawany et al. [5] 2013 x x
3 Bhadoria and Singh [14] 2014 x x x
4 Zhang and Zhao [15] 2014 x x x
5 Contreras-González et al. [6] 2016 x x x
6 Zhang et al. [7] 2017 x x
7 Gochev et al. [8] 2017 x x x
8 Mohan and Ignatious [9] 2018 x x x
9 Kurdi et al. [10] 2018 x x x x
10 Zhang et al. [11] 2018 x x x
11 Flórez et al. [12] 2018 x x x x
12 Kusuma and Machbub [16] 2019 x x x
13 Ruiz et al. [17] 2019 x x
14 Salavati-Khoshghalb et al. [18] 2019 x x
15 Zhang et al. [19] 2019 x x
16 Zhong et al. [13] 2020 x x x
17 Sung et al. [20] 2020 x x x
18 Pasha et al. [21] 2020 x x
19 Trachanatzi et al. [22] 2020 x x
20 This research 2020 x x x x x
Algorithms 2020, 13, 308 6 of 17

3. Models and Algorithms for Route Planning


To determine a solution for a route-planning problem, both an optimization model and a heuristic
algorithm were used. In this section, a shortest-path model is introduced and used as a benchmark for
testing the quality of solutions from other methods. A heuristic method based on an A-star algorithm
is presented next.

3.1. An Optimization Model for Route Planning


A shortest-path model is used for comparing the results from other methods. The model is
summarized as follows [23]: given a directed graph G = (V, A), where V and A represent a set of nodes
and a set of arcs of the graph. The shortest-path problem determines a path with the minimum distance
between two nodes, s (source or starting) and t (target or destination). The cardinality of V and A are
represented by parameters n and m, respectively. A path is a sequence of nodes v1 , . . . , vk , and it is
considered to be elementary if no node is visited more than once.
Let δ+ (i) and δ− (i) represent sets of arcs leaving and entering node i ∈ V, and let A(S) be a set of
arcs with both ends in S ⊆ V.
Indices, parameters, and decision variables are presented as follows:

Indices
i, j, and k: indices representing nodes in G
A: a set of arcs from G
Parameters
cij : distance from node i to j, (i, j) ∈ A
Z: the total distance
Decision variables
xij is equals to 1 if (i,j) is chosen and 0 otherwise.

The objective function and constraints for the shortest-path problem are presented next.
X
Z = min cij xij . (1)
(i,j)∈A
X X
xik − xki = 1, i = s . (2)
k∈δ+ (i) k∈δ− (i)
X X
xik − xki = 0, i ∈ V\{s, t} . (3)
k∈δ+ (i) k∈δ− (i)
X X
xik − xki = −1, i = t, (4)
k∈δ+ (i) k∈δ− (i)

xij ≥ 0 for (i,j) ∈ A, x ∈ Z|A| .

The objective function is represented by Equation (1), where the total distance is minimized.
Equations (2) and (4) represent the net flow at nodes s and t, where the net flow at node s is 1,
and the net flow at node t is −1. The flow conservation constraints for nodes other that s and t are
represented by Equation (3). When applying a shortest-path model for determining a solution for a
dynamic route-planning problem, the distance (cij ) associated with each path segment (defined by
(i,j)) that contains an obstacle and cannot be used is set to a large value that is based on the size of
the transportation area. If there exists a feasible solution, the segments with large cost values are not
selected in the optimal solution.
Algorithms 2020, 13, 308 7 of 17

3.2. A Heuristic Algorithm for Path Planning (A-Star Algorithm)


In this study, an A-star algorithm was used to identify a path that avoids obstacles on7any
Algorithms 2020, 13, x FOR PEER REVIEW of 17
path
segment. The algorithm can be described as follows:
During the path
3.2. A Heuristic search for
Algorithm of an
PathA-star algorithm,
Planning an “OPENED” list and a “CLOSED” list are used
(A-Star Algorithm)
to keep track In this study, an A-star algorithm was used to identify a list
information during the search. The “OPENED” pathstores the paths
that avoids that will
obstacles be path
on any explored.
The “CLOSED” list contains all explored paths.
segment. The algorithm can be described as follows: Let h(n) represent the cost from an origin to the current
node (n) and Duringlet g(n) represent
the path search the cost
of an to get
A-star from the
algorithm, ancurrent nodelist
“OPENED” (n)and
to aa destination
“CLOSED” list node. The total
are used
cost, fto(n),
keep track information
is calculated during
for each the search.
successor nodeThe “OPENED”
that includes list
both h(n)the
stores and g(n).that
paths Thewill be explored.
procedure consist
The steps
of seven “CLOSED”[24]: list contains all explored paths. Let h(n) represent the cost from an origin to the
current node (n) and let g(n) represent the cost to get from the current node (n) to a destination node.
1. The total
The start cost,
nodef(n),
is removed from for
is calculated the each
“OPENED”
successor list. Thethat
node costincludes f(n) h(n)
functionboth is calculated;
and g(n). note
The that
h(n) = 0 and
procedure g(n)ofare
consist calculated
seven on the basis of the distance between the start position and the
steps [24]:
destination (f (n) = g(n)).
1. The start node is removed from the “OPENED” list. The cost function f(n) is calculated; note that
2. A node with the smallest cost function is removed from the “OPENED” list and inserted into the
h(n) = 0 and g(n) are calculated on the basis of the distance between the start position and the
“CLOSED” list. The node is set as node n (break ties arbitrarily, if two or more nodes have the same
destination (f(n) = g(n)).
cost A
2. function).
node withIftheonesmallest
of the nodes is the destination
cost function node,
is removed from thethen the destination
“OPENED” node is into
list and inserted selected.
the
3. If n is the destination node, the algorithm is terminated; otherwise, it continues.
“CLOSED” list. The node is set as node n (break ties arbitrarily, if two or more nodes have the
4. The same
cost function for each
cost function). successor
If one of n that
of the nodes is not
is the on the “CLOSED”
destination listdestination
node, then the is computed.
node is
5. selected.
Each successor not on the “OPENED” list or CLOSED list is associated with the calculated cost
3.
and If n ison
put thethe
destination
“OPENED” node, the algorithm is terminated; otherwise, it continues.
list.
4. The cost function for each successor of n that is not on the “CLOSED” list is computed.
6. Any successor already on the “OPENED” list is associated with the minimum cost (min(new(f (n)),
5. Each successor not on the “OPENED” list or CLOSED list is associated with the calculated cost
old(fand
(n)))).
put on the “OPENED” list.
7. Return
6. Anyto successor
step 2. already on the “OPENED” list is associated with the minimum cost
(min(new(f(n)), old(f(n)))).
4. Results
7. Return to step 2.
Initially,
4. Results
the models in Section 3 were used to determine the solutions for a route-planning
problem. For an optimization model, the solutions can be determined by using a mathematical solver
Initially, the models in Section 3 were used to determine the solutions for a route-planning
such as CPLEX; for a heuristic method based on the A-star algorithm, the solution is generated by
problem. For an optimization model, the solutions can be determined by using a mathematical solver
an installed executable module. This requires high-performance hardware with high computational
such as CPLEX; for a heuristic method based on the A-star algorithm, the solution is generated by an
capacity, where the computational runtime varies according to the dimension of input data instance.
installed executable module. This requires high-performance hardware with high computational
In order to utilize
capacity, where knowledge gainedruntime
the computational from previously solvedtodata
varies according instances,ofthe
the dimension input
input datadata instances,
instance.
as well
In order to utilize knowledge gained from previously solved data instances, the input data instances, an
as the generated routes, were collected and used to build an ANN model that can identify
optimal route.
as well This
as the process routes,
generated requires lesscollected
were computational
and usedeffort andanisANN
to build suitable to implement
model on a an
that can identify mobile
robotoptimal route.computing
with limited This process requires Having
capability. less computational
to execute aeffort and algorithm
heuristic is suitableor toaimplement
mathematical on asolver
everymobile
time torobot with alimited
generate route iscomputing
inefficient.capability. Having once
This is because, to execute
an ANN a heuristic
is trained,algorithm or a
it can generate a
mathematical solver every time to generate a route is inefficient. This is because,
route with minimal computational effort and runtime (less than a second). An ANN training process once an ANN is
trained, it can generate a route with minimal computational effort and runtime (less than a second).
requires a server equipped with MATLAB, and it can be executed on a weekly basis or when the ANN
An ANN training process requires a server equipped with MATLAB, and it can be executed on a
needs an update.
weekly basis or when the ANN needs an update.
The structure of a feed-forward ANN model for a dynamic route-planning problem is shown in
The structure of a feed-forward ANN model for a dynamic route-planning problem is shown in
Figure 2. The inputs
Figure 2. The inputs andand
outputs
outputsofofthe
theANN
ANN were definedon
were defined onthethebasis
basisof of a layout
a layout of simulated
of the the simulated
transportation area, which was defined by a two-dimensional grid map. An
transportation area, which was defined by a two-dimensional grid map. An example of a grid example of a grid map is
map
shown in Figure
is shown 3.
in Figure 3.

Figure 2. 2.AAfeed-forward
Figure ANNwith
feed-forward ANN witha ahidden
hidden layer.
layer.
Algorithms 2020, 13, 308 8 of 17

Algorithms 2020, 13, x FOR PEER REVIEW 8 of 17


Algorithms 2020, 13, x FOR PEER REVIEW 8 of 17

Figure 3.
Figure 3. A
A grid
grid map
map used
used for
for route
route planning.
planning.
Figure 3. A grid map used for route planning.

The size of the


the problem
problem isisdefined
definedby bythe
thenumber
numberofofrows rowsandandcolumns,
columns, which
which areare
then
thenused to
used
The size of the problem is defined by the number of rows and columns, which are then used to
define
to definea transportation
a transportation area, represented
area, represented by abyrectangle.
a rectangle.In Figure 3, an3,origin
In Figure is represented
an origin by a
is represented
define a transportation area, represented by a rectangle. In Figure 3, an origin is represented by a
pink
by square,
a pink and aand
square, destination is represented
a destination by a light
is represented by green
a lightsquare. There areThere
green square. two types
are twoof obstacles
types of
pink square, and a destination is represented by a light green square. There are two types of obstacles
considered
obstacles in the route-planning
considered problem.problem.
in the route-planning Fixed obstacles (or fixed(or
Fixed obstacles blocks)
fixedare represented
blocks) by blue
are represented
considered in the route-planning problem. Fixed obstacles (or fixed blocks) are represented by blue
rectangles,
by and dynamic
blue rectangles, obstacles
and dynamic are green
obstacles squares.
are green The number
squares. The number of dynamic
of dynamicobstacles cancan
obstacles be
rectangles, and dynamic obstacles are green squares. The number of dynamic obstacles can be
specified,
be andand
specified, they areare
they generated
generated at random
at random locations
locationswithin
withinthe the
transportation
transportationarea.area.
WhenWhenthe size
the
specified, and they are generated at random locations within the transportation area. When the size
of the
size transportation
of the transportationareaarea
increases,
increases, thethe
complexity
complexity ofofthe
theproblem
problemincreases
increases significantly,
significantly, which
of the transportation area increases, the complexity of the problem increases significantly, which
requires impractical
requires impractical runtimes
runtimes toto determine
determine aa solution.
solution. For instance, there are three dynamic obstacles
requires impractical runtimes to determine a solution. For instance, there are three dynamic obstacles
in Figure
in Figure3.3.TheTheselected
selectedpath
pathisisrepresented
represented byby a red
a red (thick)
(thick) line,
line, which
which connects
connects the starting
the starting pointpoint
and
in Figure 3. The selected path is represented by a red (thick) line, which connects the starting point
anddestination
the the destination
point.point. The shortest
The shortest path path
can be can be generated
generated on theonbasis
the basis of a shortest-path
of a shortest-path modelmodel
or an
and the destination point. The shortest path can be generated on the basis of a shortest-path model
or an A-star
A-star algorithm
algorithm to avoidto collision
avoid collision
with allwith all obstacles
obstacles (fixed and(fixed and dynamic)
dynamic) on the
on the grid map.grid
Tomap.
removeTo
or an A-star algorithm to avoid collision with all obstacles (fixed and dynamic) on the grid map. To
remove irrelevant
irrelevant data fromdata from consideration,
consideration, a data-encoding
a data-encoding process is process is applied.
applied. A transportation
A transportation area with area
21
remove irrelevant data from consideration, a data-encoding process is applied. A transportation area
with 21
rows rows
× 21 × 21 columns
columns is used inis Figure
used in4Figure 4 to illustrate
to illustrate the encoding
the encoding scheme. scheme.
with 21 rows × 21 columns is used in Figure 4 to illustrate the encoding scheme.

Figure 4. A grid map with encoded data.


Figure 4.
Figure 4. A
A grid
grid map
map with
with encoded
encoded data.
data.
To distinguish between different components within a transportation area, each cell is encoded
To distinguish between different components
components within a transportation area, each cell is encoded
using the following logic: a cell is encoded with “1” if it represents an origin, a destination, or an
using the following logic: aa cell
cell is
is encoded
encoded with
with “1” if it represents an origin, a destination, or an
obstacle; and encoded with “0” otherwise. Note that fixed obstacles exist permanently and can be
obstacle; and encoded with “0” otherwise. Note Note that
that fixed obstacles exist permanently and can be
omitted from the model. Because a dynamic obstacle located on a line segment blocks the whole
omitted from the model. Because
Because aa dynamic
dynamic obstacle
obstacle located
located on
on a line segment blocks the whole
segment, an improved encoding scheme is proposed to remove noise from the input data. All cells
animproved
segment, an improvedencoding
encodingscheme
schemeis is proposed
proposed to remove
to remove noise
noise fromfrom the input
the input data.data. All from
All cells cells
from a blocked segment are encoded with “1”. Each segment is named as shown in Figure 5. This
from a blocked segment are encoded with “1”. Each segment is named as shown in Figure 5. This
encoding scheme reduces the combination of input data and greatly reduces the amount of
encoding scheme reduces the combination of input data and greatly reduces the amount of
computation required. The output of the ANN is the selected route, which consists of a series of cells
computation required. The output of the ANN is the selected route, which consists of a series of cells
Algorithms 2020, 13, 308 9 of 17

a blocked segment are encoded with “1”. Each segment is named as shown in Figure 5. This encoding
scheme reduces the combination of input data and greatly reduces the amount of computation required.
Algorithms 2020, 13, x FOR PEER REVIEW 9 of 17
The output of the ANN is the selected route, which consists of a series of cells from the origin to the
destination.
from the2020, Theto
origin selected
thePEER route is encoded
destination. with a number (e.g., 0, 1, 2) that is used to represent a path
Algorithms 13, x FOR REVIEW The selected route is encoded with a number (e.g., 0, 1, 2) that is
9 of 17
identifier (ID). In Figures 4 and 5, the selected
used to represent a path identifier (ID). In Figures path is4represented by a redpath
and 5, the selected (thick)
is line that connects
represented the
by a red
origin
from to
(thick)the the
line endpoint.
that
origin connects Thethepath is generated
origin
to the destination. to the
The using
endpoint.
selected the
routeTheA-star
is path algorithm
is
encoded with atonumber
generated avoid the
using collisions
0, 1,with
A-star
(e.g., three
algorithm
2) that is
obstacles,
to avoid
used which exist
collisionsa with
to represent on segments ×3,
three obstacles,
path identifier ×13, and
(ID). Inwhich ×14.
Figures However,
exist the
on 5,segments
4 and obstacles
×3, ×13,
the selected are
path andlocated in segments
×14. However,
is represented at
the
by a red
the upper-right
obstacles
(thick) are
line that corner
located inor
connects lower-left
segments
the origin attocorner.
the
the Both entire
upper-right
endpoint. segments
corner
The pathor is at the corner.
lower-left
generated corner
usingare
theblocked
Both the same
entirealgorithm
A-star segments
time,
at the
to such
corner
avoid as ×3, ×4, and
are blocked
collisions ×7 and
the same
with three ×13, ×16,
time, such
obstacles, and
which ×11.
as ×3, Hence,
×4,on
exist and we can group
×7 and ×13,
segments them to become
×16, and ×11.
×3, ×13, ×14. Hence, a segment,
However, we can
the
as shown
group them
obstacles in
aretoFigure
become
located 5b. An example
a segment,atas
in segments of
the an
showninput dataset
in Figure
upper-right is shown
5b. An
corner as sample
example of
or lower-left 1 in
an input
corner. Figure
Bothdataset 6, where
is shown
entire segments the
selected
as the
at sample path
corner was
1 inare encoded
Figure 6, where
blocked as same
the type 4.
the selected
time, such path
as was encoded
×3, ×4, and ×7asand type 4. ×16, and ×11. Hence, we can
×13,
group them to become a segment, as shown in Figure 5b. An example of an input dataset is shown
as sample 1 in Figure 6, where the selected path was encoded as type 4.

x1 x2 x3 x4 x2x1 x3
x5 x6 x7 x4 x5
x8 x9 x10 x11x12 x6 x7 x8 x9 x10
x13 x14 x15 x12 x13
x16 x17 x18 x19 x11 x14 x15
(a) (a) (b) (b)

Figure
Figure 5. A grid
5. A grid map
map with
with an
an improved
improved encoding
encoding scheme: (a) the
scheme: (a) the original
original encoded
encoded map;
map; (b)
(b) the
the map
map
after combining corner segments.
after combining corner segments.

Sample x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 y


1 0 0 x1 1 0 x20 x3
0 0x4 0 0 0 x11 x2 1 0 x3
0 0 4
2 0 0 1 0 0 1 0 1 0x4 0 0 x5 0 0 0 0 0
x5 x6 x7
3 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 2
4 0x80 x90 0x100 x11x12
1 0 0 1x6 0 x70 x80 0 x10
x9 0 0 1
5 x13 x14
1 0 0 0 1 0 x15 0 0 1 0 0 0 x12 x13
0 0 0 5
… …x16… x17
… …x18
… x19
… … … x11… … x14
… … … …
x15 … …
Figure 6.
Figure 6. An
An example
example of
of encoded
encoded input and output
input and output data
data for
for aa dynamic
dynamic route-planning
route-planning problem.
problem.

5. Transportation Environment
Figure 5. A grid map with an improved encoding scheme: (a) the original encoded map; (b) the map
Environment
after combining corner segments.
In this
thisproject,
project,a distribution
a distribution center (DC)(DC)
center of oneofofone
the top full-cycle
of the construction
top full-cycle product suppliers
construction product
in Thailand
suppliers in was used was
Thailand as a model
used asfor creating
a model foracreating
transportation area. The area.
a transportation DC consists
The DCofconsists
five sub-DCs
of five
Sample x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 y
that stock that
sub-DCs different
stocktypes of products.
different types of The overall capacity
products. is more
The overall than 100,000
capacity is more pallets. Becausepallets.
than 100,000 a large
volume
Becauseofa product
1 supply
large volume
0 0of 1product
needs 0 be0processed,
to 0 0 0each0towarehouse
supply needs
0 1 has1 itseach
be processed,
0 warehouse
own 0 0 system
operation 4has itsthat
ownis
independent
operation system 2
from that 0 0
the others 1 0 0
to handle from
is independent 1
a large 0 1
thevolume 0
others of 0
to product 0
handle aflow 0
large 0
daily. 0
The of
volume 0
operation 0
productflow
flowbegins
daily.
from a planning
The operation 3flow 0 0 from
department
begins 0thata0provides
0 0 tasks
planning 0 0to each
department 0 that0 provides
1 1Next,
warehouse. 0 each
tasks 0 warehouse
to each 0 2 prepares
warehouse. Next,
its own product
each warehouse 4 prepares
0 0 its0own0 product
delivery plan 0 1 delivery
according to 0 0 plan
the 1 0according
received orders; 0 0to the0 received
then, the 0 0orders;
products are 1 then,tothea
delivered
logistic
products department
5
are deliveredat
1 DC2 where
0 0 the
to0a logistic 1 consolidation
0 0 at0DC2
department 1and 0pickup
where processes
0 0 occur.
0 consolidation
the 0andFigure 5 7aprocesses
0pickup shows a
very narrow
occur. Figure … aisle layout
7a shows within DC2. To test the movement of an AGV, a simulation environment
… a…very … narrow
… … aisle … … layout
… within
… …DC2. …To… test the
… movement
… … … of an AGV, a
using an integrated
simulation environmentframework
using an between the robot
integrated operating
framework system
between the(ROS)
robotand Gazebosystem
operating was created.
(ROS)
Within Figure
and Gazebo 6. Ancreated.
the framework,
was example of
theWithinencoded
positions theinput and output
offramework,
AGVs couldthedata for a dynamic
bepositions
monitored of and
AGVsroute-planning
commands problem.
could be that control and
monitored the
movement of AGVs could be issued through ROS topics. The simulated
commands that control the movement of AGVs could be issued through ROS topics. The simulated environment was used to test
5. Transportation Environment
environment was used to test the movement of an AGV to ensure that it would not collide with other
objects
In within the environment.
this project, a distribution Figure
center7b (DC)
showsofa one
simulated
of theenvironment
top full-cycleofconstruction
an internal layout
product at
DC2.
suppliers in Thailand was used as a model for creating a transportation area. The DC consists of five
sub-DCs that stock different types of products. The overall capacity is more than 100,000 pallets.
Because a large volume of product supply needs to be processed, each warehouse has its own
Algorithms 2020, 13, 308 10 of 17

the movement of an AGV to ensure that it would not collide with other objects within the environment.
Algorithms 2020, 13, x FOR PEER REVIEW 10 of 17
Figure 7b shows a simulated environment of an internal layout at DC2.

(a) (b)
Figure 7.7.Distribution
Figure Distribution center
center 2 (DC2):
2 (DC2): (a) anarrow
(a) a very very narrow aisle
aisle layout layout(b)ata simulated
at DC2; DC2; (b) environment
a simulated
environment
of an internal of an internal
layout at DC2.layout at DC2.

6.
6. Dynamic
Dynamic Route-Planning
Route-Planning System
System and
and Computational
Computational Results
Results with
with Managerial
Managerial Insights
Insights
In
In this
thissection,
section,thethe
details of aof
details dynamic routing
a dynamic systemsystem
routing and computational results ofresults
and computational the proposed
of the
methodologies for dynamic route planning are provided.
proposed methodologies for dynamic route planning are provided.
6.1. Dynamic Route-Planning System
6.1. Dynamic Route-Planning System
The routes for movement within a DC are initially determined by the shortest-path model and an
The routes for movement within a DC are initially determined by the shortest-path model and
A-star algorithm. If the solutions from the A-star algorithm have high accuracy when compared with
an A-star algorithm. If the solutions from the A-star algorithm have high accuracy when compared
the solutions from the shortest-path model, the A-star algorithm is used due to the shorter runtime
with the solutions from the shortest-path model, the A-star algorithm is used due to the shorter
and the computing resources required by the automated guided vehicle. Note that an automated
runtime and the computing resources required by the automated guided vehicle. Note that an
guided vehicle is allowed to carry one shipment at a time, due to the standard size of the pallet that
automated guided vehicle is allowed to carry one shipment at a time, due to the standard size of the
can be loaded into a cargo. The input data, which include real-time positions of obstacles, as well as
pallet that can be loaded into a cargo. The input data, which include real-time positions of obstacles,
the generated routes, are collected as a training dataset. Once there are sufficient training datasets,
as well as the generated routes, are collected as a training dataset. Once there are sufficient training
an ANN model for a dynamic routing problem is created and used to determine the routing solution.
datasets, an ANN model for a dynamic routing problem is created and used to determine the routing
The quality of the solutions from the ANN model needs to be tested with the solutions from the
solution. The quality of the solutions from the ANN model needs to be tested with the solutions from
shortest-path model on a regular basis. A requirement is specified according to the accuracy of the
the shortest-path model on a regular basis. A requirement is specified according to the accuracy of
ANN model; if the accuracy falls below 95%, the ANN model needs to be updated.
the ANN model; if the accuracy falls below 95%, the ANN model needs to be updated.
Note that, for any internal movement within a DC, the gap between aisles is narrow; as a
Note that, for any internal movement within a DC, the gap between aisles is narrow; as a result,
result, passing obstacles is not possible. If the path segment contains an obstacle, it is excluded from
passing obstacles is not possible. If the path segment contains an obstacle, it is excluded from
consideration. Moreover, to consider real-time obstacles in the planning process, the route is generated
consideration. Moreover, to consider real-time obstacles in the planning process, the route is
using the logic provided in Figure 8. At a starting point, a route is generated and used to guide the
generated using the logic provided in Figure 8. At a starting point, a route is generated and used to
movement of the vehicle. When an automated guided vehicle reaches an intersection, the positions of
guide the movement of the vehicle. When an automated guided vehicle reaches an intersection, the
obstacles are retrieved. If the positions are unchanged or not on the generated path, the route does not
positions of obstacles are retrieved. If the positions are unchanged or not on the generated path, the
need an update; otherwise, the route needs to be regenerated.
route does not need an update; otherwise, the route needs to be regenerated.
Algorithms 2020, 13, 308 11 of 17

Algorithms 2020, 13, x FOR PEER REVIEW 11 of 17

Figure
Figure 8.8.The
Thelogic
logic for
for generating
generatinga adynamic
dynamicroute.
route.

6.2. Computational
6.2. Computational Results
Results andand ManagerialInsight
Managerial Insight
In section,
In this this section, computational
computational results
results based
based oninternal
on an an internal warehouse
warehouse environment
environment withwith
different
different sizes are presented.
sizes are presented.
6.2.1. Computational Results from a Layout with Four Storage Racks and 15 Segments
6.2.1. Computational Results from a Layout with Four Storage Racks and 15 Segments
The layout of an internal DC environment described in Section 5 was used as a transportation
The layout of an internal DC environment described in Section 5 was used as a transportation area
area for the implementation of the ANN model. Initially, a sample layout consisting of four storage
for the implementation
racks with 15 segments of was
the ANN
used tomodel.
test the Initially,
performance a sample layout consisting
of the proposed approach. of
Thefour storage
definition ofracks
with all
15 path
segments wasisused
segments shownto test the performance
in Figure 9. Note that ofthethe proposed
path segmentsapproach. The definition
at each corner of all path
were combined.
segments is shown
The test in Figure
data were encoded 9.and
Note that by
solved thethe
path segments
A-star at each
algorithm and corner were combined.
the shortest-path model. TheThe test
data were encoded and solved by the A-star algorithm and the shortest-path model. The results
results from both approaches were the same in all cases, which shows that the performance of the A- from
star algorithm is acceptable. There were 13 types of paths generated in the solutions,
both approaches were the same in all cases, which shows that the performance of the A-star algorithm as shown in
Figure 10. Each type was assigned an ID; note that “no way” represents a case where a path
is acceptable. There were 13 types of paths generated in the solutions, as shown in Figure 10. Each type between
the origin and the destination could not be found. Table 2 reports the number of cases for each path
was assigned an ID; note that “no way” represents a case where a path between the origin and the
type.
destination could Algorithms
not be2020,found. Table
13, x FOR PEER REVIEW2 reports the number of cases for each
12 ofpath
18 type.

x2 x1 x3
x4 x5
x6 x7 x8 x9 x10
x12 x13
x11 x14 x15
Figure 9. Layout of an internal distribution center (DC) with 15 path segments.

Table 2. Number of cases for each path type. ID, identifier.

ID 0 1 2 3 4 5 6 Others
Count 91 32 61 28 67 40 49 7

Figure 9. Layout of an internal distribution


x1 x2 center
x3 (DC) with 15 path segments.
x4 x5
x6 x7 x8 x9 x10
x12 x13
x11 x14 x15
Figure 9. Layout of an internal distribution center (DC) with 15 path segments.

Table 2. Number of cases for each path type. ID, identifier.


Algorithms 2020, 13, 308 12 of 17

Table 2. Number of cases for each path type. ID, identifier.

ID 0 1 2 3 4 5 6 Others
Count 91 32 61 28 67 40 49 7
Algorithms 2020, 13, x FOR PEER REVIEW 12 of 17

Figure
Figure 10.
10. Types
Types of
of generated
generated paths.
paths.

From Table
Table 2, it can be seen that only seven types of paths were significant; the remainder could
be considered as outliers and were removed removed fromfrom consideration.
consideration. The 375 samples were separated
into 80% training and 20% testing datasets. An An example
example of of encoded
encoded input
input data
data is
is shown
shown in in Figure
Figure 11,
11,
where x11 to xx1515represent
representthe thepath
pathsegments
segmentsthat thathave
haveobstacles,
obstacles,and andyyrepresents
represents the
theselected
selected path
path ID.
ID.
The structure of the ANN, which is defined by the number of nodes in hidden layers, also affects the
accuracy of the ANN model. There There areare three
three rules
rules of
of thumb
thumb for for determining
determining the the number
number of of nodes.
nodes.
numberofofhidden
The number hiddennodes
nodes should
should bebe between
between thethe number
number of input
of input features
features and theandnumber
the number of
of target
target
classes,classes,
shouldshould
be equalbe to
equal
the to
sum theofsum of two-thirds
two-thirds of the of the input
input features
features and theand
sizetheofsize
theof the output
output layer,
layer, or should
or should be lessbethan
lessdouble
than double the number
the number of input
of input features.
features. The number
The number of hidden
of hidden nodesnodes
in eachin
each experiment
experiment should should be varied
be varied by twoby two or three
or three units.
units. TheThe number
number of samples
of samples for for training
training should
should be
be
moremore
thanthan 10 times
10 times the numberthe number
of ANNofweightsANN [25],
weights
which [25],
are which
definedare defined
by the equation,by the equation,
numweights =
(i +o) × h [26],
numweights = (iwhere
+o) × hi represents
[26], wherethe i represents
number ofthe number
input nodes,ofo input nodes, o of
is the number is output
the numbernodes, ofand
output
h is
nodes, and hofisnodes
the number the number of nodes
in hidden layers.in hidden layers.

Sample x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 y


1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 4
2 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 2
4 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1
5 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 5
… … … … … … … … … … … … … … … … …

Figure 11. An example of encoded input and output data for an ANN model.

In this research, the training stage was limited to 1000 iterations. The performance was measured
using the mean squared error (MSE), where the target was set to 0. The training function for an ANN’s
target classes, should be equal to the sum of two-thirds of the input features and the size of the output
layer, or should be less than double the number of input features. The number of hidden nodes in
each experiment should be varied by two or three units. The number of samples for training should
be more than 10 times the number of ANN weights [25], which are defined by the equation,
Algorithms 2020,
numweights 13,+o)
= (i 308× h [26], where i represents the number of input nodes, o is the number of output
13 of 17

nodes, and h is the number of nodes in hidden layers.

Sample x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 y


1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 4
2 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 2
4 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1
5 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 5
… … … … … … … … … … … … … … … … …

Figure
Figure11.
11.An
Anexample
exampleof
ofencoded
encodedinput
inputand
andoutput
outputdata
datafor
foran
anANN
ANN model.
model.

In
Inthis
thisresearch,
research, the
thetraining
training stage
stage was
waslimited
limited to
to1000
1000iterations.
iterations.The
Theperformance
performancewaswasmeasured
measured
using
usingthe
themean
meansquared
squared error (MSE),
error where
(MSE), the the
where target was was
target set toset
0. The
to 0.training function
The training for an ANN’s
function for an
input layer was based on a “logsig” function, while, for an output layer, it was based
ANN’s input layer was based on a “logsig” function, while, for an output layer, it was based on aon a “purelin”
function.
“purelin” A networkAtraining
function. networkfunction based onbased
training function a “trainbr” function
on a “trainbr” was used
function wasfor other
used layers.layers.
for other The
The training time was limited to 2 h. The remaining parameters were set on the basis of the “default
setting” from the Neural Networks MATLAB toolbox. The accuracy percentages from the training
and testing phases, using different datasets (with 200 or 300 samples), are summarized in Table 3.
The results were achieved after the training stage reached 1000 epochs. In Table 3, the training accuracy
percentage varies with the ANN structural configuration (number of nodes and layers) and the number
of training samples. When increasing the number of samples beyond 300 samples, the ANN model
required a longer training time; however, the model accuracy was not significantly improved. Hence,
300 samples were used to build the ANN.

Table 3. The effect of the number of training sample and ANN configuration on the testing accuracy
for a sample layout with 15 segments.

200 Samples 300 Samples


ANN’s Hidden Training Accuracy Testing Accuracy Training Accuracy Testing Accuracy
Layer Topology (%) (%) (%) (%)
15-5-7 93.3 70 92.5 85
15-8-7 100 85 100 96.7
15-10-7 100 75 100 91.7
15-8-7-7 100 95 100 98.3
15-8-10-7 100 90 100 93.3

Increasing the number of nodes can help improve the accuracy; however, using too many
nodes can cause an overfitting issue. This can be seen when comparing configurations (15-8-7) and
(15-10-7). Both configurations contained one input layer with 15 nodes, one hidden layer with eight
(configuration (15-8-7)) or 10 (configuration (15-10-7)) nodes, and seven nodes in the output layer.
Although, configuration (15-10-7) had more nodes, its testing accuracy was 91.7% as opposed to 96.7%
(the testing accuracy of configuration (15-8-7)). Moreover, as shown in Table 3, by increasing the number
of training data samples from 200 to 300, the accuracy of the configuration (15-8-7) was improved
from 85% to 96.7% and that of the configuration (15-10-7) was improved from 75% to 91.7%. Hence,
more training samples used resulted in better testing accuracy. The best configuration (15-8-7-7), with a
testing accuracy percentage of 98.3%, was used to predict future robot paths for a layout consisting of
four storage racks with 15 segments.

6.2.2. Computational Results from a Layout with 18 Storage Racks and 67 Segments
Next, using the data collected from a distribution center (DC), an internal layout with 18 storage
racks was created, as shown in Figure 12. There were 67 path segments after combining the segments
Hence, more training samples used resulted in better testing accuracy. The best configuration (15-8-
7-7), with a testing accuracy percentage of 98.3%, was used to predict future robot paths for a layout
consisting of four storage racks with 15 segments.

6.2.2. Computational Results from a Layout with 18 Storage Racks and 67 Segments
Algorithms 2020, 13, 308 14 of 17
Next, using the data collected from a distribution center (DC), an internal layout with 18 storage
racks was created, as shown in Figure 12. There were 67 path segments after combining the segments
at the corners. From an observation of an actual operation at the DC, the number of vehicles (folk lifts)
at the corners. From an observation of an actual operation at the DC, the number of vehicles (folk lifts)
working in the DC varies from one to five, with an average of four. Figure 13 shows the distribution of
working in the DC varies from one to five, with an average of four. Figure 13 shows the distribution
training samples for different numbers of obstacles according to the considered layout. The samples
of training samples for different numbers of obstacles according to the considered layout. The
with four obstacles had the highest percentages (39%), while the percentage of samples with two, three,
samples with four obstacles had the highest percentages (39%), while the percentage of samples with
or five obstacles was 19%. The lowest percentage was 3% for samples with one obstacle.
two, three, or five obstacles was 19%. The lowest percentage was 3% for samples with one obstacle.

x1 x2 x3 x4 x5
x6 x7 x8
x9 x10 x11 x12 x13 x14 x15
x16 x17 x18 x19
x20 x21 x22 x23 x24 x25 x26
x27 x28 x29 x30
x31 x32 x33 x34 x35 x36 x37
x38 x39 x40 x41
x42 x43 x44 x45 x46 x47 x48
x49 x50 x51 x52
x53 x54 x55 x56 x57 x58 x59
x61 x61 x63
x60 x64 x65 x66 x67

Algorithms 2020, 13, x FOR PEERFigure


REVIEW
Figure 12.
12. Internal
Internal layout
layout of
of aa DC
DC with
with 18
18 storage
storage racks.
racks. 14 of 17

Figure13.
Figure Distributionof
13.Distribution oftraining
trainingsamples
samplesfor
fordifferent
different numbers
numbers of
of obstacles.
obstacles.

Table 44 summarizes
Table summarizes the the effect
effect of
of the
the number
number of of training
training samples
samples and
and ANN
ANN configuration
configuration on on the
the
testing accuracy
testing accuracy when
when aa layout
layout from
from aa retail
retail warehouse
warehouse was was used.
used. There
There were
were 67
67 variables
variables in in the
the
input layer, corresponding to 67 segments of the layout, and 21 nodes, which represented
input layer, corresponding to 67 segments of the layout, and 21 nodes, which represented 21 types of 21 types of
paths generated
paths generated by by the
the output
output layer.
layer. The
The number
numberof of hidden
hiddenlayers
layers and
and the
the number
number of of nodes
nodes in in each
each
layer were varied to achieve the configuration with the best accuracy. The training
layer were varied to achieve the configuration with the best accuracy. The training accuracy reached accuracy reached
more than
more than 90%
90% for
for all
all cases,
cases,but
butthethetesting
testingpercentages
percentageswere weredifferent
different between
between ANNANN configurations
configurations
as aa function
as functionof ofthe
thenumber
numberof ofsamples
samplesusedusedfor fortraining
trainingthe
theANN.
ANN.As Asshown
shownin inTable
Table4,4,on
onaverage,
average,
the training accuracy percentages for cases with 1448 and 1000 samples were
the training accuracy percentages for cases with 1448 and 1000 samples were at the same level for at the same level for all
all
ANN configurations. However, the average testing accuracy for the case with
ANN configurations. However, the average testing accuracy for the case with 1448 samples (95.48%) 1448 samples (95.48%)
was higher
was higher than
than that
that for
for the
the 1000-sample
1000-sample case case (94.72%).
(94.72%).

Table 4. The effect of the number of training samples and ANN configuration on the testing accuracy
for an actual layout.

1000 1448
ANNs
Training Testing Training Testing
67-60-21 99.7 94.00 99.7 94.83
67-67-21 99.7 93.50 99.7 95.52
67-70-21 99.7 96.00 99.7 96.90
67-73-21 99.7 93.50 99.7 93.79
Algorithms 2020, 13, 308 15 of 17

Table 4. The effect of the number of training samples and ANN configuration on the testing accuracy
for an actual layout.

1000 1448
ANNs
Training Testing Training Testing
67-60-21 99.7 94.00 99.7 94.83
67-67-21 99.7 93.50 99.7 95.52
67-70-21 99.7 96.00 99.7 96.90
67-73-21 99.7 93.50 99.7 93.79
67-67-21-21 99.7 95.50 99.7 97.93
67-67-30-21 99.7 96.00 99.7 97.24
67-70-30-21 99.7 96.50 99.7 97.93
67-70-40-21 99.25 96.00 99.65 96.55
67-67-21-10-21 90.00 91.50 91.19 88.62

In addition to the number of samples, the ANN configuration, defined by the number of hidden
layers and nodes, also affects the accuracy. Using an inadequate number of nodes in the hidden
layers results in an underfitting issue. Underfitting occurs when an ANN is not able to construct an
adequate configuration from a dataset. By providing a sufficient number of nodes in each hidden
layer, the accuracy percentage can be improved. Hence, as shown in Table 4, the accuracy of an ANN
with configuration (67-67-21) was higher than the percentage of an ANN with configuration (67-60-21).
Similarly, the accuracy percentage of an ANN with configuration (67-67-21-21), which was the ANN
configuration with two hidden layers that had the highest accuracy percentage (97.93%), was higher
than the accuracy percentage of an ANN with configuration (67-70-21), which was the best ANN
configuration (96.90%) with one hidden layer.
However, having too many nodes in the hidden layers can cause an overfitting issue, where an
ANN is not able to generalize the model to identify an output for new input data. Hence, the testing
accuracy is deteriorated. For example, when the number of nodes in the hidden layer of an ANN
configuration (67-70-21) was increased from 70 to 73 (ANN configuration (67-73-21)), the testing
accuracy dropped from 96.79% to 93.79%. Similarly, when considering ANNs with two hidden layers,
the testing accuracy of an ANN with configuration (67-67-21-21) (97.93%) was better than the testing
accuracy of ANNs with configurations (67-67-30-21) (97.24%) and (67-70-40-21) (96.55%). The highest
testing accuracy for cases with 1000 and 1448 samples was 96.5% and 97.93%, respectively, generated
by an ANN with configuration (67-70-30-21). Both cases had more than 95% accuracy, which is a
criterion for using the ANN model mentioned in Section 6.1. However, the results for the case with
1448 samples were more robust; as a result, the ANN configuration (67-70-30-21) with 1448 training
samples was implemented in the dynamic routing system.

7. Conclusions
In this research, the focus was on applying Industry 4.0 technology, related to big data analytics,
to a route-planning operation of automated navigation within a warehouse. Route-planning
methodologies for a dynamic routing problem with the consideration of real-time obstacles are
proposed. An optimization model and a heuristic methodology based on an A-star algorithm were
used to generate the routes. Machine learning models using an ANN were developed on the basis of
generated datasets using the internal layout of a distribution warehouse. A simulation environment
using Gazebo was developed and used for testing the implementation of the route-planning system.
Computational results showed that the proposed machine learning methodologies were able to
generate routes with testing accuracy up to 98% for a practical internal layout of a warehouse with 18
storage racks and 67 path segments. Managerial insights into how the machine learning configuration
Algorithms 2020, 13, 308 16 of 17

can be selected were also provided. The route-planning system can be used to generate routes for
different types of AGVs in real time. This is beneficial to the transportation industry, since there
will be a direct reduction in labor cost and an increase in operational efficiency, which is essential
to be competitive in today’s business environment. A limitation of our proposed approach is based
on the required training datasets for the ANN. If the datasets need to be collected from an actual
operation, this might require a long data collection period. However, simulated datasets can also be
used, which can help accelerate the ANN training process. A possible future research area includes
the consideration of other routing problems such as the vehicle routing problem. In this research,
each AGV was assumed to make one stop according to the internal movement within a warehouse.
However, in a typical vehicle routing problem, a vehicle has larger capacity and can make multiple
stops. This requires the consideration of demands and vehicle capacity in an ANN training process,
where suitable data encoding for input and output datasets need to be determined.

Author Contributions: Conceptualization, N.N.; data curation, T.T.H. and D.N.D.; funding acquisition, N.N.;
methodology, N.N., T.T.H. and D.N.D.; project administration, D.N.D. and N.N.; software, N.N., T.T.H. and D.N.D.;
writing—original draft, T.T.H. and D.N.D.; writing—review and editing, N.N., T.T.H. and D.N.D. All authors have
read and agreed to the published version of the manuscript.
Funding: This research was funded by Thammasat University.
Acknowledgments: This study was supported by the Thammasat University Research Fund, Contract No.
TUGR 2/33/2562.
Conflicts of Interest: The authors declare no conflict of interest.

References
1. Palka, D.; Ciukaj, J. Prospects for development movement in the industry concept 4.0. Multidiscip. Asp. Prod.
Eng. 2019, 2, 315–326. [CrossRef]
2. AI and Robotics Automation in Consumer—Driven Supply Chains: A Rapidly Evolving Source of
Competitive Advantage. PA Consulting Group and the Consumer Goods Forum. 2018. Available
online: https://www.theconsumergoodsforum.com/wp-content/uploads/2018/04/201805-CGF-AI-Robotics-
Report-with-PA-Consulting.pdf (accessed on 1 June 2018).
3. D’Andrea, R.; Wurman, P. Future challenges of coordinating hundreds of autonomous vehicles in distribution
facilities. In Proceedings of the 2008 IEEE International Conference on Technologies for Practical Robot
Applications, Woburn, MA, USA, 10–11 November 2008; pp. 80–83.
4. Liu, X.; Gong, D. A comparative study of A-star algorithms for search and rescue in perfect maze.
In Proceedings of the 2011 International Conference on Electric Information and Control Engineering, Wuhan,
China, 25–27 March 2011; pp. 24–27.
5. ElHalawany, B.M.; Abdel-Kader, H.M.; TagEldeen, A.; Elsayed, A.E.; Nossair, Z.B. Modified a* algorithm
for safer mobile robot navigation. In Proceedings of the 2013 5th International Conference on Modelling,
Identification and Control (ICMIC), Tianjin, China, 13–15 July 2019; pp. 74–78.
6. Contreras-González, A.-F.; Hernández-Vega, J.-I.; Hernández-Santos, C.; Palomares-Gorham, D.-G. A method
to verify a path planning by a back-propagation articial neural network. In Proceedings of the LANMR,
Puebla, Mexico, 15 August 2016; pp. 98–105.
7. Zhang, Y.; Li, L.-l.; Lin, H.-C.; Ma, Z.; Zhao, J. Development of Path Planning Approach Based on Improved
A-star Algorithm in AGV System. In Proceedings of the International Conference on Internet of Things as a
Service, Taichung, Taiwan, 20–22 September 2017; pp. 276–279.
8. Gochev, I.; Nadzinski, G.; Stankovski, M. Path Planning and Collision Avoidance Regime for a Multi-Agent
System in Industrial Robotics. Mach. Technol. Mater. 2017, 11, 519–522.
9. Mohan, L.J.; Ignatious, J. Navigation of Mobile Robot in a Warehouse Environment. In Proceedings of the
2018 International Conference on Emerging Trends and Innovations In Engineering And Technological
Research (ICETIETR), Arakkunnam, India, 11–13 July 2018; pp. 1–5.
10. Kurdi, M.M.; Dadykin, A.K.; Elzein, I.; Ahmad, I.S. Proposed system of artificial Neural Network for
positioning and navigation of UAV-UGV. In Proceedings of the 2018 Electric Electronics, Computer Science,
Biomedical Engineerings’ Meeting (EBBT), Istanbul, Turkey, 18–19 April 2018; pp. 1–6.
Algorithms 2020, 13, 308 17 of 17

11. Zhang, Y.; Zhang, Y.; Liu, Z.; Yu, Z.; Qu, Y. Line-of-Sight Path Following Control on UAV with Sideslip
Estimation and Compensation. In Proceedings of the 2018 37th Chinese Control Conference (CCC), Wuhan,
China, 25–27 July 2018; pp. 4711–4716.
12. Flórez, C.A.C.; Rosário, J.M.; Amaya, D. Control structure for a car-like robot using artificial neural networks
and genetic algorithms. Neural Comput. Appl. 2018, 32, 1–14.
13. Zhong, X.; Tian, J.; Hu, H.; Peng, X. Hybrid Path Planning Based on Safe A* Algorithm and Adaptive
Window Approach for Mobile Robot in Large-Scale Dynamic Environment. J. Intell. Robot. Syst. 2020, 99,
1–13. [CrossRef]
14. Bhadoria, A.; Singh, R.K. Optimized angular a star algorithm for global path search based on neighbor node
evaluation. Int. J. Intell. Syst. Appl. 2014, 6, 46. [CrossRef]
15. Zhang, Z.; Zhao, Z. A multiple mobile robots path planning algorithm based on A-star and Dijkstra algorithm.
Int. J. Smart Home 2014, 8, 75–86. [CrossRef]
16. Kusuma, M.; Machbub, C. Humanoid robot path planning and rerouting using A-Star search algorithm.
In Proceedings of the 2019 IEEE International Conference on Signals and Systems (ICSigSys), Bandung,
Indonesia, 16–18 July 2019; pp. 110–115.
17. Ruiz, E.; Soto-Mendoza, V.; Barbosa, A.E.R.; Reyes, R. Solving the open vehicle routing problem with capacity
and distance constraints with a biased random key genetic algorithm. Comput. Ind. Eng. 2019, 133, 207–219.
[CrossRef]
18. Salavati-Khoshghalb, M.; Gendreau, M.; Jabali, O.; Rei, W. An exact algorithm to solve the vehicle routing
problem with stochastic demands under an optimal restocking policy. Eur. J. Oper. Res. 2019, 273, 175–189.
[CrossRef]
19. Zhang, H.; Zhang, Q.; Ma, L.; Zhang, Z.; Liu, Y. A hybrid ant colony optimization algorithm for a
multi-objective vehicle routing problem with flexible time windows. Inf. Sci. 2019, 490, 166–190. [CrossRef]
20. Sung, I.; Choi, B.; Nielsen, P. On the training of a neural network for online path planning with offline path
planning algorithms. Int. J. Inf. Manag. 2020. [CrossRef]
21. Pasha, J.; Dulebenets, M.A.; Kavoosi, M.; Abioye, O.F.; Wang, H.; Guo, W. An Optimization Model and
Solution Algorithms for the Vehicle Routing Problem With a “Factory-in-a-Box”. IEEE Access 2020, 8,
134743–134763. [CrossRef]
22. Trachanatzi, D.; Rigakis, M.; Marinaki, M.; Marinakis, Y. A Firefly Algorithm for the Environmental
Prize-Collecting Vehicle Routing Problem. Swarm Evol. Comput. 2020, 57, 100712. [CrossRef]
23. Taccari, L. Integer programming formulations for the elementary shortest path problem. Eur. J. Oper. Res.
2016, 252, 122–130. [CrossRef]
24. Klancar, G.; Zdesar, A.; Blazic, S.; Skrjanc, I. Wheeled Mobile Robotics: From Fundamentals towards Autonomous
Systems; Butterworth-Heinemann: Oxford, UK, 2017.
25. Baptista, F.D.; Rodrigues, S.; Morgado-Dias, F. Performance comparison of ANN training algorithms for
classification. In Proceedings of the 2013 IEEE 8th International Symposium on Intelligent Signal Processing,
Funchal, Portugal, 16–18 September 2013; pp. 115–120.
26. Panchal, G.; Ganatra, A.; Kosta, Y.; Panchal, D. Behaviour analysis of multilayer perceptrons with multiple
hidden neurons and hidden layers. Int. J. Comput. Theory Eng. 2011, 3, 332–337. [CrossRef]

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional
affiliations.

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like