Predictive Dynamic Window Approach Development with Artiﬁcial Neural Fuzzy Inference Improvement

: The aim of this paper is to improve the dynamic window approach algorithm for mobile robots by implementing a prediction window with a fuzzy inference system to adapt to ﬁxed parameters, depending on the surrounding conditions. The ﬁrst implementation shows the advantage of the prediction step in terms of optimizing the path selection. The second improvement uses fuzzy inference to optimize each of the ﬁxed parameters’ values to increase the algorithm performance. Nevertheless, a simple fuzzy inference system (FIS) was not used for this particular study; instead, an artiﬁcial neuro-fuzzy inference system (ANFIS) was used, thus making it possible to develop a FIS system with a back-propagation technique. Each parameter would have a particular ANFIS, in order to modify the α D , β D , and γ D parameters individually. At the end of the article, di ﬀ erent scenarios are analyzed to determine whether the developments in this article have improved the DWA behavior. The results show that the prediction step and ANFIS adapt DWA performance by optimizing the path resolution.


Introduction
Presently, mobile robots are becoming more intelligent and can move autonomously in unknown environments. Mapping, localization, path-planning, and path-following aspects have to be implemented in order to solve this inconvenience. Jin et al. [1] remarked that the smart movement of the robot is associated with the intelligence that has been implemented. Hence, these intelligences are improved by using a combination of sensors and information processing algorithms, as Ortigoza et al. [2] explained.
Local path-planning or path-following algorithms autonomously move automated guided vehicles (AGVs) to their goal position. Thus, this problem can be described as the process of determining a suitable and safe path, avoiding collisions with the obstacles [3]. There are many well-known methods to implement this task, such as the dynamic window approach (DWA), which calculates a potential path considering speed restrictions, as Fox et al. [4] explained. A vector field histogram was developed with the aim of being computationally efficient and robust. In practice, the algorithm became fast and reliable in populated obstacle scenarios, as Borenstein et al. [5] related. The TangentBug and PointsBug algorithms are really popular, and were compared by Buniyamin et al. [6]. The TangentBug algorithm depends on the range of the sensor, which is mounted on the robot. Hence, the action plan to reach to the goal uses the sensor information and the knowledge of the robot current position and goal position.
Zamani et al. [25] explained that ANFIS has a huge generalization capability compared with other neural networks or machine learning techniques. Furthermore, Badde et al. [26] compared the difference between fuzzy logic and ANFIS, concluding that ANFIS has better performance solving complex problems than the fuzzy controller.
Today, in mobile robots, ANFIS calculates the difference of angular velocity, adopting the smallest distance to the obstacles and the target angle, as Lu et al. [27] has shown. Singh et al. [28] investigated a solution for real-time navigation, in which ANFIS has to decide the optimal time for a collision free path in an unknown and dynamic environment. Imen et al. [29] presented a cascade controller. The first controller uses fuzzy logic, which identifies the curvature of the path and generates the input for the second controller, which is ANFIS. The second controller determines the path for the mobile robot. Pandey et al. [30] analyzed how ANFIS works as a controller for navigation and obstacle avoidance in unknown static environments.
There are different alternatives for path planning technique. The recent investigations try to develop classic algorithms to improve their performance. DWA algorithm that is a classic function, could be adopted another technique to improve the optimization of the path selection. DWA depends on the AGV model to solve a safe path, such as MPC. It seems logical to modify the optimization function, in order to analyze the future by adopting a prediction window like MPC does. Furthermore, this classic algorithm adopts different weights depending on the human criterion, hence, ANFIS, neural networks or fuzzy logic techniques can be adopted to optimize the fixed parameters. In Table 1 an overview of presented algorithms is made. Table 1. An overview of presented algorithms.

Algorithm Reference Advantages Weakness
Dynamic window approach [4] Consider robot constraints to calculate an optimum path.
Use fixed weights and select one path per sample time.
A vector field histogram [5] Places great emphasis on dealing with uncertainty from sensor and modeling errors.
Requires the kinematics and shape of the robot.
TangentBug [6] Produces very short paths given purely local information.
Need ideal localization Heuristic function may cause navigation to become slower.
PointsBug [6] Has better performance than TangentBug. Require high accuracy localization based on output of trigonometric function.
Swarm optimization [7] Allows searching for an optimum trajectory by using particles in search space.
Requires a constant computing to optimize a solution.
Dynamic movements primitives [8] The complex movements are simplified by creating a set of primitive actions.
Requires updating all kernel weights and the quality of the path is compromised.
Moving to a point with obstacle avoidance [9] Simple equations are used to avoid obstacles and it does not need the kinematics equations for motion calculation.
Use fixed weights in the main function.
Model-based algorithms [10][11][12][13] The prediction step gives the chance to analyze the future and adjust the trajectory.
Require a perfect model of the plan to obtain a good prediction.
Genetic Algorithms [14] Normally uses the robot kinematic and dynamic parameters to optimize the path.
Uses a high computational capacity to optimize the function.
Ant colony optimization [15] Adopts a multiple agent to optimize the path resolution.
The probability distribution can change for each iteration and it is not optimized to real time, because of it requires uncertain time to converge.
Ant algorithm with A* characteristic [16] A* accelerates the ant colony conversion and increases the smoothness of global path.
A premature convergence could happen, because of bad adjustment of the limits.
Double Layer ant colony [17] Thanks to both executions the precision is increased.
The algorithms require a trajectory optimization to improve the path resolution.
Predictive DWA with ANFIS (Developed in this article) -Improves Fuzzy logic controller by adopting ANFIS technique to adjust DWA weights and foresee the future implementing a prediction.
Require a perfect model of the plan to obtain a good prediction and adjustment of the prediction step. The main goal of the present study is to improve the DWA algorithm, not only by adapting each weight depending on the scenario circumstance, but also by implementing a prediction step to improve the optimization of the path selection. For the α, β and γ parameter calculations, despite using a classical fuzzy logic controller, ANFIS will be implemented. To make that possible, data collection will be made executing classical DWA with different weight configurations. The AGV speed, heading to the target and the distance to the obstacle will be evaluated in the data collection, so as to change the behavior of ANFIS to DWA by modifying these controller parameters to the scenario conditions.

Materials and Methods
DWA is a classical motion planning solution, as Fox et al. [4] analyzed. This algorithm is divided into two sections in order to predict the best trajectory. The first one is the search space, where different possible V agv and . γ are considered. Moreover, this first section is divided into three subsections so as to filter these admissible variables, depending on the actual state. The first subsection is known as the circular trajectories, where the two-dimensional velocity V agv , . γ is calculated based on space. The second one takes all of the calculated velocities and selects only those admissible velocities that have a safe trajectory. The last subsection only contemplates these velocities that can be reached in a short time interval, considering the robot acceleration limitations.
In the second section, however, optimization is made by applying the target heading, distance to the obstacles, and actual velocity. This optimization just selects the best trajectory, rejecting other trajectories. This optimization, however, can be improved by adopting more than one path, as Kim et al. presented, such as in a confidence random tree-based algorithm [31]. In this article, this problem will be solved, applying a prediction step to the DWA algorithm, known as a predictive dynamic window approach (P-DWA).
Hence, to develop the P-DWA, it is important to place the basic aspect of the DWA optimization function, as Equation (1) represents and in Table 2 the DWA parameter and variable definition is represented. (1) The heading is given by 180 • -θ, where θ is the angle of the target point relative to the AGV heading direction as Figure 1 shown.  Moreover, α , β , and γ are the constants that will be adapted using ANFIS. DWA does not always have the capability to avoid the obstacle, as Hong et al. [20] reviewed. In Figure 2, there are two different scenarios, in which AGV has to calculate the path using the DWA algorithm. For both scenarios, different weight values will be applied to analyze the consequence of unacceptable configuration. The cases in Figure 2a,c used the same parameters for different scenarios. The same logic is implemented in the cases in Figure 2b,d. Hence, the ANFIS system will choose these parameters depending on the scenario conditions. For each parameter, an adaptive neuro-fuzzy inference system is proposed. The train will be made individually so as to obtain a better resolution, adopting specific inputs. In the fuzzy DWA, however, the rules are designed manually. This tune is not optimized for the scenario, and depends on human criterion.
With the aim of training ANFIS and simplifying the fuzzy logic controller adjustment, DWA will be executed several times in order to collect data. With these data, ANFIS develops a fuzzy inference system (FIS) using a back-propagation algorithm. Thus, FIS will change the DWA parameters to solve a particular scenario.
This functionality is similar to that of a neural network, in which the inputs go through the membership function and associated parameters. Then, the information will propagate to the output Moreover, α D , β D , and γ D are the constants that will be adapted using ANFIS. DWA does not always have the capability to avoid the obstacle, as Hong et al. [20] reviewed. In Figure 2, there are two different scenarios, in which AGV has to calculate the path using the DWA algorithm. For both scenarios, different weight values will be applied to analyze the consequence of unacceptable configuration. The cases in Figure 2a,c used the same parameters for different scenarios. The same logic is implemented in the cases in Figure 2b,d. Moreover, α , β , and γ are the constants that will be adapted using ANFIS. DWA does not always have the capability to avoid the obstacle, as Hong et al. [20] reviewed. In Figure 2, there are two different scenarios, in which AGV has to calculate the path using the DWA algorithm. For both scenarios, different weight values will be applied to analyze the consequence of unacceptable configuration. The cases in Figure 2a,c used the same parameters for different scenarios. The same logic is implemented in the cases in Figure 2b,d. Hence, the ANFIS system will choose these parameters depending on the scenario conditions. For each parameter, an adaptive neuro-fuzzy inference system is proposed. The train will be made individually so as to obtain a better resolution, adopting specific inputs. In the fuzzy DWA, however, the rules are designed manually. This tune is not optimized for the scenario, and depends on human criterion.
With the aim of training ANFIS and simplifying the fuzzy logic controller adjustment, DWA will be executed several times in order to collect data. With these data, ANFIS develops a fuzzy inference system (FIS) using a back-propagation algorithm. Thus, FIS will change the DWA parameters to solve a particular scenario.
This functionality is similar to that of a neural network, in which the inputs go through the membership function and associated parameters. Then, the information will propagate to the output Hence, the ANFIS system will choose these parameters depending on the scenario conditions. For each parameter, an adaptive neuro-fuzzy inference system is proposed. The train will be made individually so as to obtain a better resolution, adopting specific inputs. In the fuzzy DWA, however, the rules are designed manually. This tune is not optimized for the scenario, and depends on human criterion.
With the aim of training ANFIS and simplifying the fuzzy logic controller adjustment, DWA will be executed several times in order to collect data. With these data, ANFIS develops a fuzzy inference system (FIS) using a back-propagation algorithm. Thus, FIS will change the DWA parameters to solve a particular scenario.
This functionality is similar to that of a neural network, in which the inputs go through the membership function and associated parameters. Then, the information will propagate to the output membership function and associated parameters in order to obtain a specific output. Moreover, the associated parameters adapt their values depending on the learning process.

DWA Improvement
This research will implement two novel concepts for the DWA algorithm. The first one comes from Equation (1), where the classic DWA optimizes the trajectory, just considering the next sample time or step. In this article, however, the DWA algorithm will be executed twice per sample time. In the first execution, DWA analyzed more than one possible path, and in the second one, the DWA analyzed different paths and predicted which one had a better resolution.
The second implementation comes from the DWA constant parameters. As shown in Figure 3, the importance of selecting the correct weights for each situation is essential. To solve this problem, despite using classic fuzzy inference, ANFIS will be implemented.

Predictive DWA
The classic DWA optimization step will be modified to introduce a prediction step. The optimization function, which it is represented in Equation (1), selects the best path, considering the admissible trajectories. On a predictive DWA (P-DWA), however, it is essential to select more than one path. Otherwise, it cannot implement the prediction step. Hence, for this particular case, DWA calculates the three best trajectories (A, B, and C). These trajectories are considered to be the new possible position for the AGV.
After calculating these three new possible positions, it is time to foresee the future. This step is known as the prediction step, where the DWA will be executed for each best trajectory (A, B, and C), so as to obtain another three paths. Thanks to that, the AGV analyzes nine different positions to arrive. These nine positions are theoretical and are used to make an optimization. Thus, the AGV should select the best path to arrive at one of these nine optimum positions. Nevertheless, the vehicle is just going to move to the A, B, or C position. For example, if the prediction estimated that the fifth position was the best one, the AGV would move to the B position. To have a general idea of this, an example is shown in Figure 3. membership function and associated parameters in order to obtain a specific output. Moreover, the associated parameters adapt their values depending on the learning process.

DWA Improvement
This research will implement two novel concepts for the DWA algorithm. The first one comes from Equation (1), where the classic DWA optimizes the trajectory, just considering the next sample time or step. In this article, however, the DWA algorithm will be executed twice per sample time. In the first execution, DWA analyzed more than one possible path, and in the second one, the DWA analyzed different paths and predicted which one had a better resolution.
The second implementation comes from the DWA constant parameters. As shown in Figure 3, the importance of selecting the correct weights for each situation is essential. To solve this problem, despite using classic fuzzy inference, ANFIS will be implemented.

Predictive DWA
The classic DWA optimization step will be modified to introduce a prediction step. The optimization function, which it is represented in Equation (1), selects the best path, considering the admissible trajectories. On a predictive DWA (P-DWA), however, it is essential to select more than one path. Otherwise, it cannot implement the prediction step. Hence, for this particular case, DWA calculates the three best trajectories (A, B, and C). These trajectories are considered to be the new possible position for the AGV.
After calculating these three new possible positions, it is time to foresee the future. This step is known as the prediction step, where the DWA will be executed for each best trajectory (A, B, and C), so as to obtain another three paths. Thanks to that, the AGV analyzes nine different positions to arrive. These nine positions are theoretical and are used to make an optimization. Thus, the AGV should select the best path to arrive at one of these nine optimum positions. Nevertheless, the vehicle is just going to move to the A, B, or C position. For example, if the prediction estimated that the fifth position was the best one, the AGV would move to the B position. To have a general idea of this, an example is shown in Figure 3. Overall, with the normal DWA, the AGV is going to select the best path considering the A, B, or C trajectories. Predictive DWA (P-DWA) gives the chance to analyze the next sample time so as to make a better optimization, as a result of analyzing a large period of time and using more information from the scenario. It is remarkable that it has no sense of how to use a huge prediction time. By using an extensive sample time, the computational cost will be increased considerably. Moreover, by adopting a large period of time, the environment condition could change. Thus, this optimization will not be the best one.
Despite stopping the explanation here, DWA and P-DWA will be compared so as to understand which application has better performance, using the scenarios in Figure 4b,c. The trajectory results are shown in Figure 3, and the analytical results are shown in Table 3 and Table 4. Overall, with the normal DWA, the AGV is going to select the best path considering the A, B, or C trajectories. Predictive DWA (P-DWA) gives the chance to analyze the next sample time so as to make a better optimization, as a result of analyzing a large period of time and using more information from the scenario. It is remarkable that it has no sense of how to use a huge prediction time. By using an extensive sample time, the computational cost will be increased considerably. Moreover, by adopting a large period of time, the environment condition could change. Thus, this optimization will not be the best one.
Despite stopping the explanation here, DWA and P-DWA will be compared so as to understand which application has better performance, using the scenarios in Figure 4b,c. The trajectory results are shown in Figure 3, and the analytical results are shown in Tables 3 and 4.   In the first execution, for which the trajectory is shown in Figure 4a and the analytics values are represented in Table 3, P-DWA has a better performance, arriving at the goal position in less time. Thus, AGV is faster than the normal DWA. The time difference is about 1.25 s, and the speed value variation is 0.03 m/s. For this particular case, the P-DWA algorithm is executed every 0.05 s, and it calculates three best paths (A, B, and C), and the prediction window is working with 0.5 s sample time to calculate another three trajectories for each best path. P-DWA analyzes the future by executing the AGV model, and tries to guess the future by foreseeing what will be happen if it moves to a new point, like whether a model predictive control (MPC) [32] works. Thanks to the prediction window, the algorithm has a better performance and arrives faster at the goal position.
Comparing the paths, both are really similar. P-DWA tries to search an ideal path, giving more space between the AGV and obstacles. With this action, the vehicle can go faster because the dist V , γ calculation has less influence.
The last affirmation can be confirmed with Table 4. For the second comparison, P-DWA diverts more from the last obstacles so as to maintain a top speed. Hence, AGV diverts more from the ideal path, which is a straight line from the start position to goal position. Nevertheless, P-DWA has the capacity to arrive at the goal point faster than DWA, because the classic algorithm has to cross between two obstacles, thus reducing the speed. In the first execution, for which the trajectory is shown in Figure 4a and the analytics values are represented in Table 3, P-DWA has a better performance, arriving at the goal position in less time. Thus, AGV is faster than the normal DWA. The time difference is about 1.25 s, and the speed value variation is 0.03 m/s. For this particular case, the P-DWA algorithm is executed every 0.05 s, and it calculates three best paths (A, B, and C), and the prediction window is working with 0.5 s sample time to calculate another three trajectories for each best path. P-DWA analyzes the future by executing the AGV model, and tries to guess the future by foreseeing what will be happen if it moves to a new point, like whether a model predictive control (MPC) [32] works. Thanks to the prediction window, the algorithm has a better performance and arrives faster at the goal position.
Comparing the paths, both are really similar. P-DWA tries to search an ideal path, giving more space between the AGV and obstacles. With this action, the vehicle can go faster because the dist V agv , . γ calculation has less influence. The last affirmation can be confirmed with Table 4. For the second comparison, P-DWA diverts more from the last obstacles so as to maintain a top speed. Hence, AGV diverts more from the ideal path, which is a straight line from the start position to goal position. Nevertheless, P-DWA has the capacity to arrive at the goal point faster than DWA, because the classic algorithm has to cross between two obstacles, thus reducing the speed.
Overall, these comparisons give a general idea about how the DWA path calculation can be optimized, introducing a predictive window. The most relevant parameter is the speed incrementation, where AGV arrives at the goal position in less time. Therefore, there is a path variation between DWA and P-DWA. Depending on the predictive window, the answer will change. Huge predictive windows require a high computational cost. Moreover, if the obstacles change their position, the optimization of the path will not be the best one. Small predictive windows, however, do not affect the path optimization. Thus, P-DWA and DWA will have almost identical paths.

ANFIS Development
After developing the P-DWA, it is time to evaluate how to adapt the weights using an adaptive neuro-fuzzy inference system. ANFIS, as with the other neural network, depends on the train-data to adjust the fuzzy inference. Therefore, the first action is to develop different scenarios for data acquisition, as shown in Figure 5. In these scenarios, the AGV will move using a classical DWA algorithm, adopting different α D , β D , and γ D parameters per execution. It is true that P-DWA has a better performance, as shown in Section 3.1. The purpose of this section; however, it is to obtain the speed, distance to the obstacles, and direction for the target information to train ANFIS.
It has to be considered that when P-DWA uses ANFIS, this fuzzy inference will be executed twice. One for the first step, as with a normal DWA, and another for the prediction step, in order to recalculate the α D , β D , and γ D parameters so as to have a better optimization for the trajectory.
The scenarios are built thinking that the AGV starts in pose x = 1, y = 1, and σ = 1, and the goal is in x = 20 and y = 20. Hence, the obstacles are around the y = x line, so as to interrupt the AGV best path, which is a straight line between the start point and goal.  Overall, these comparisons give a general idea about how the DWA path calculation can be optimized, introducing a predictive window. The most relevant parameter is the speed incrementation, where AGV arrives at the goal position in less time. Therefore, there is a path variation between DWA and P-DWA. Depending on the predictive window, the answer will change. Huge predictive windows require a high computational cost. Moreover, if the obstacles change their position, the optimization of the path will not be the best one. Small predictive windows, however, do not affect the path optimization. Thus, P-DWA and DWA will have almost identical paths.

ANFIS Development
After developing the P-DWA, it is time to evaluate how to adapt the weights using an adaptive neuro-fuzzy inference system. ANFIS, as with the other neural network, depends on the train-data to adjust the fuzzy inference. Therefore, the first action is to develop different scenarios for data acquisition, as shown in Figure 5. In these scenarios, the AGV will move using a classical DWA algorithm, adopting different α D , β D , and γ D parameters per execution. It is true that P-DWA has a better performance, as shown in Section 3.1. The purpose of this section; however, it is to obtain the speed, distance to the obstacles, and direction for the target information to train ANFIS.
It has to be considered that when P-DWA uses ANFIS, this fuzzy inference will be executed twice. One for the first step, as with a normal DWA, and another for the prediction step, in order to recalculate the α D , β D , and γ D parameters so as to have a better optimization for the trajectory.
The scenarios are built thinking that the AGV starts in pose x = 1, y = 1, and σ = 1, and the goal is in x = 20 and y = 20. Hence, the obstacles are around the y = x line, so as to interrupt the AGV best path, which is a straight line between the start point and goal. The data acquisition is built with 600 samples for each map. In each sample, random α D , β D , and γ D values are employed. The random function uses a uniform distribution and the values are from zero to one.
As shown in Figure 2, the DWA behavior depends on the weight values, because these values, for AGV, in some cases, cannot arrive at the goal position. To reject these invalid parameters, a timer will be used. This timer controls how much time the AGV needs to arrive at the goal. Hence, if the AGV does not arrive at the goal position after 250 s, these parameters would be discarded from the data acquisition. Apart from this, in this research, the α D , β D , and γ D parameters will use individual ANFIS to optimize the fuzzy inference.
The data acquisition will be transformed to train the data, in order to achieve the ANFIS. Thus, the values have to be prepared using some functions. In Table 5, there are some term definitions that are used in the equations.  To develop the α D fuzzy inference, which is heading to the target correction, ANFIS will be trained using only the headings means, as shown by Equation (2). Apart from this, for this particular case, the n-maximum value will be 2400, considering that there are 600 for each map, and there are four maps. Moreover, the i-maximum value must be 5000, as a result of the multiplication of the DWA sample time, which is 0,05 s, and the time limit, which is 250 s. The data acquisition is built with 600 samples for each map. In each sample, random α D , β D , and γ D values are employed. The random function uses a uniform distribution and the values are from zero to one.
As shown in Figure 2, the DWA behavior depends on the weight values, because these values, for AGV, in some cases, cannot arrive at the goal position. To reject these invalid parameters, a timer will be used. This timer controls how much time the AGV needs to arrive at the goal. Hence, if the AGV does not arrive at the goal position after 250 s, these parameters would be discarded from the data acquisition. Apart from this, in this research, the α D , β D , and γ D parameters will use individual ANFIS to optimize the fuzzy inference.
The data acquisition will be transformed to train the data, in order to achieve the ANFIS. Thus, the values have to be prepared using some functions. In Table 5, there are some term definitions that are used in the equations. To develop the α D fuzzy inference, which is heading to the target correction, ANFIS will be trained using only the headings means, as shown by Equation (2). Apart from this, for this particular case, the n-maximum value will be 2400, considering that there are 600 for each map, and there are four maps.
Moreover, the i-maximum value must be 5000, as a result of the multiplication of the DWA sample time, which is 0,05 s, and the time limit, which is 250 s.
For β D , which is the object detection parameter, the trained-data will have the AGV mean speed and the mean distance to the obstacle, as in Equation (3) and Equation (4), respectively. In an obstacle avoidance maneuver, it is important to consider the AGV speed, and how far away the obstacle is from the AGV. Nevertheless, if the trained-data only considers the distance to the obstacle, the AGV could avoid some objects with a high speed. In other words, the AGV is going to make an unsafety avoidance.
Finally, there is γ D , which controls the speed. The trained data will analyze the mean speed, as shown in Equation (3). The γ D parameter will have a high value when the AGV is far away from the goal. Nevertheless, when AGV has a top speed, this value has to be low, in order to not influence the obstacle detection and avoidance.
As a future work, the ANFIS trained-data preparation could be optimized. Instead of applying the means of the direction, speed, or distance, the variance of the obstacle to determine a moving obstacle, the divergence from the ideal path for heading parameter, and so on could be adopted. The aim of this research, however, it is to introduce a novel concept of intelligence, which can simplify the fuzzy inference adjustment.
ANFIS, as with other fuzzy inference systems, needs to define the fuzzy type. For this, a Sugeno model was used, as represented in Table 6. Hence, it was used as the default configuration for ANFIS, because the aim of this research is to ensure that this algorithm has the capability to adapt the P-DWA and DWA parameters. Table 6. Configuration of artificial neuro-fuzzy inference system (ANFIS).

And Method Product of fuzzified input values Or Method Probabilistic OR of fuzzified input values Defuzzy Method
Weighted average of all rule outputs Implication Method Scales the consequent membership function by the antecedent result value Aggregation Method Sum of the consequent fuzzy sets The α D parameter inference is analyzed in Figure 6. As a consequence of the default configuration, the α D membership function has two fuzzy rules, which are optimized to solve four train maps, thanks to the backpropagation algorithm. β has two inputs, which depend on the obstacle distances and AGV speed. Both inputs are represented in Figure 7. As a result, of adopting two inputs, β has two membership functions. Like the other parameter, each membership has two rules. For the last parameter, which is γ , the configuration is similar to the first one. It has a single membership function with two rules, as represented in Figure 8. For this time, the membership degree is determined by the mean speeds. β D has two inputs, which depend on the obstacle distances and AGV speed. Both inputs are represented in Figure 7. As a result, of adopting two inputs, β D has two membership functions. Like the other parameter, each membership has two rules. β has two inputs, which depend on the obstacle distances and AGV speed. Both inputs are represented in Figure 7. As a result, of adopting two inputs, β has two membership functions. Like the other parameter, each membership has two rules. For the last parameter, which is γ , the configuration is similar to the first one. It has a single membership function with two rules, as represented in Figure 8. For this time, the membership degree is determined by the mean speeds. For the last parameter, which is γ D , the configuration is similar to the first one. It has a single membership function with two rules, as represented in Figure 8.

DWA Improves Results
Now it is time to analyze the AGV behavior, considering the four train-maps. The principal idea is to understand how the parameters change using the ANFIS technique, and to adapt the P-DWA and DWA parameters, depending on the scenario conditions. Moreover, it is remarkable that P-DWA uses the fuzzy inference two times per sample time. In other words, the first time uses FIS to obtain the A, B, and C paths. The second time uses FIS in a prediction step to obtain another nine paths. These results are divided in four sections so as to individually analyze the advantage of this improvement.

Map 1 Results
Map 1 corresponds to Figure 5a. In Table 7 and Figure 9 are the values for comparing DWA ANFIS with P-DWA ANFIS.

DWA Improves Results
Now it is time to analyze the AGV behavior, considering the four train-maps. The principal idea is to understand how the parameters change using the ANFIS technique, and to adapt the P-DWA and DWA parameters, depending on the scenario conditions. Moreover, it is remarkable that P-DWA uses the fuzzy inference two times per sample time. In other words, the first time uses FIS to obtain the A, B, and C paths. The second time uses FIS in a prediction step to obtain another nine paths. These results are divided in four sections so as to individually analyze the advantage of this improvement.

Map 1 Results
Map 1 corresponds to Figure 5a. In Table 7 and Figure 9 are the values for comparing DWA ANFIS with P-DWA ANFIS.

DWA Improves Results
Now it is time to analyze the AGV behavior, considering the four train-maps. The principal idea is to understand how the parameters change using the ANFIS technique, and to adapt the P-DWA and DWA parameters, depending on the scenario conditions. Moreover, it is remarkable that P-DWA uses the fuzzy inference two times per sample time. In other words, the first time uses FIS to obtain the A, B, and C paths. The second time uses FIS in a prediction step to obtain another nine paths. These results are divided in four sections so as to individually analyze the advantage of this improvement.

Map 1 Results
Map 1 corresponds to Figure 5a. In Table 7 and Figure 9 are the values for comparing DWA ANFIS with P-DWA ANFIS.  As the results show, P-DWA ANFIS is faster than DWA ANFIS, because the prediction step can analyze the future and selects the path with the least speed variation. This affirmation can be confirmed with Figure 9c. DWA needs to reduce the speed from 10 s to 13 s, as a result of not considering obstacle x = 10 and y = 10 in the trajectory. Moreover, in the same period of time, the direction to the target has a value change, caused by the obstacle avoidance maneuver. DWA ANFIS, however, is more conservative in obstacle avoidance, hence, it maintains more distance between the obstacle and AGV. Apart from these observations, the trajectory of both functions is almost identical in first ten meters and in the last six meters. Thus, ANFIS works similarly for both algorithms, and the difference comes from the prediction that anticipates to the approaching obstacle and modifies the path searching for a new space, reducing the speed as little as possible.
Furthermore, Figure 9a, 9b and 9c appreciate some AGV model aspects. For example, at the maximum top speed, which is 1 m/s, AGV will be aligned with the goal position when the heading value is 180° and AGV has a 2 m visibility for the obstacle.

Map 2
Adopting the same evaluation method as in Section 4.1, map 2 analytics results are represented in Table 8 and Figure 10.  As the results show, P-DWA ANFIS is faster than DWA ANFIS, because the prediction step can analyze the future and selects the path with the least speed variation. This affirmation can be confirmed with Figure 9c. DWA needs to reduce the speed from 10 s to 13 s, as a result of not considering obstacle x = 10 and y = 10 in the trajectory. Moreover, in the same period of time, the direction to the target has a value change, caused by the obstacle avoidance maneuver. DWA ANFIS, however, is more conservative in obstacle avoidance, hence, it maintains more distance between the obstacle and AGV. Apart from these observations, the trajectory of both functions is almost identical in first ten meters and in the last six meters. Thus, ANFIS works similarly for both algorithms, and the difference comes from the prediction that anticipates to the approaching obstacle and modifies the path searching for a new space, reducing the speed as little as possible.
Furthermore, Figure 9a-c appreciate some AGV model aspects. For example, at the maximum top speed, which is 1 m/s, AGV will be aligned with the goal position when the heading value is 180 • and AGV has a 2 m visibility for the obstacle.

Map 2
Adopting the same evaluation method as in Section 4.1, map 2 analytics results are represented in Table 8 and Figure 10.  For map 2, as with the map 1 results, P-DWA ANFIS is faster than DWA ANFIS. The predictive algorithm needs less time to arrive at the top speed, because it starts considering the x = 4 and y = 4 obstacle earlier, as shown in Figure 10b. Apart from that, DWA takes another route, which is closer to the obstacle so as to avoid the object, causing a huge speed reduction. Furthermore, if Table 3 is considered, it seems that ANFIS has the worst performance. For this time and with this particular configuration, the classic DWA or P-DWA has better time results. This problem can be solved, however, by applying another time restriction for data-trained rejection. By modifying this restriction, which is 250 s, ANFIS will have another performance, because the trained-data has faster solutions.
According to the map 1 conclusions, for this execution, the global idea maintains. In other words, the P-DWA ANFIS continues to have a better performance than DWA ANFIS. Moreover, the trajectory continues, being almost identical in the beginning and the end. Nevertheless, there is a difference this time. The DWA ANFIS gives less distance to the obstacle. This is the conclusion of Section 3.1. In Section 4.1, however, this the global idea changes.

Map 3
As with the rest of the subsections, the map 3 results are represented in Table 9 and Figure 11. For map 2, as with the map 1 results, P-DWA ANFIS is faster than DWA ANFIS. The predictive algorithm needs less time to arrive at the top speed, because it starts considering the x = 4 and y = 4 obstacle earlier, as shown in Figure 10b. Apart from that, DWA takes another route, which is closer to the obstacle so as to avoid the object, causing a huge speed reduction. Furthermore, if Table 3 is considered, it seems that ANFIS has the worst performance. For this time and with this particular configuration, the classic DWA or P-DWA has better time results. This problem can be solved, however, by applying another time restriction for data-trained rejection. By modifying this restriction, which is 250 s, ANFIS will have another performance, because the trained-data has faster solutions.
According to the map 1 conclusions, for this execution, the global idea maintains. In other words, the P-DWA ANFIS continues to have a better performance than DWA ANFIS. Moreover, the trajectory continues, being almost identical in the beginning and the end. Nevertheless, there is a difference this time. The DWA ANFIS gives less distance to the obstacle. This is the conclusion of Section 3.1. In Section 4.1, however, this the global idea changes.

Map 3
As with the rest of the subsections, the map 3 results are represented in Table 9 and Figure 11.   To not repeat the same explanation, the general ideas will be mentioned in Sections 4.3 and 4.4. For Section 4.3, the global idea maintains. Overall, the P-DWA ANFIS is faster than DWA ANFIS, thanks to the prediction step. Moreover, the ANFIS trained data can be improved using better resolution samples, because Table 4 shows a better performance than Table 9. Apart from that the P-DWA is more conservative, maintaining more space between the AGV and obstacles. Therefore, the idea is that in general, P-DWA safely gains strength.

Map 4
Adopting the same logic from other cases, map 4 results are represented in Table 10 and Figure  12. To not repeat the same explanation, the general ideas will be mentioned in Sections 4.3 and 4.4. For Section 4.3, the global idea maintains. Overall, the P-DWA ANFIS is faster than DWA ANFIS, thanks to the prediction step. Moreover, the ANFIS trained data can be improved using better resolution samples, because Table 4 shows a better performance than Table 9. Apart from that the P-DWA is more conservative, maintaining more space between the AGV and obstacles. Therefore, the idea is that in general, P-DWA safely gains strength.

Map 4
Adopting the same logic from other cases, map 4 results are represented in Table 10 and Figure 12.   This is the most chaotic case. In Figure 12d, AGV crosses between the obstacles, reducing the speed significantly. Hence, AGV needs more time to arrive at the goal position. To improve these results, the ANFIS train data could be more restrictive. Thus, in the data selection process, more restriction could be applied to avoid these situations, such as, AGV cannot cross between two obstacles. Nevertheless, as Figure 12b shows, AGV continues to have enough space to cross it. The minimum distance to the obstacle for DWA ANFIS is 0.08 m, which is really close. Hence, in comparison with P-DWA ANFIS, this action significantly reduces the speed of the vehicle, arriving more than 10 s later to the goal position.
For this resolution, different to the other tested maps, the paths are almost identical in the end. Furthermore, P-DWA ANFIS tries to predict an ideal path to solve the first obstacles. The prediction step, however, is not large enough to solve this situation, and the ideal path crosses between the obstacles. In other words, this ANFIS optimization should be made individually for each map. Thus, the AGV could improve the resolution, because the weight calculations are trained for a particular scenario. Moreover, the restriction in trained-data should give a better resolution for this chaotic case. Apart from that, in these situations, offline path planning could be used.

Conclusions
The prediction step and ANFIS technique improvements were proposed in this research work. The development of a P-DWA increases the path mean speed, because the prediction step has better optimization than the DWA. In other words, the prediction step can analyze what will be happen in the next steps, and it can anticipate some situations. Thus, it could be possible to obtain a better performance for the path.
In comparison, P-DWA is faster than DWA, adopting an alternative trajectory to maintain the top speed, despite reducing speed and crossing between two obstacles. Thus, P-DWA maintains more distance between the AGV and obstacle, doing a safety avoidance maneuver.
Furthermore, the prediction sample time has a fixed value, which is 0.5 s. It could be interesting to analyze the behavior of the P-DWA algorithm with different values. Obviously, the low or high values can alter the improvement of the prediction step. With large prediction values, the dynamic obstacles can change the position, hence, the prediction would be wrong. With low values, the algorithm does not have enough information to find an optimum path to avoid an obstacle. Therefore, DWA and P-DWA would have the same behavior.
Apart from P-DWA, the ANFIS algorithm is introduced to optimize the fuzzy inferences. The results show that ANFIS can improve the P-DWA and DWA behavior, changing the parameters depending on the scenario conditions. This configuration is optimized to solve four maps. To improve the ANFIS performance, this algorithm should have a particular training for each map.
Moreover, it is remarkable that the trained-data selection is not the best one to easily solve all of the maps. Nevertheless, adopting different restrictions, such us not crossing obstacles, if the gap is less than a particular distance; speed restriction; and time restriction, the ANFIS behavior can be improved significantly. The aim of this research is not to obtain the best fuzzy inference to solve these four maps. It is to introduce a novel system to develop a classic motion controller, which uses static parameters.
For future work, it could be interesting to analyze the obstacles variance to determinate if there is any moving obstacle. Considering this parameter, AGV has to change speed and direction in order to solve this particular case. Furthermore, it could be interesting to adopt different restrictions to improve the ANFIS resolution, like implementing a more restrictive rejection time.