## 5 The Simulation Results and Discussion
### Discussion  
#### 5.4.1 The Robot Tracks the Zigzag Path  
The zigzag path is a popular and complex path that is selected for the optimization process in order to find both the suboptimal MFs and the suboptimal FRs for the \"Optimal_MFs_FRs_FLC\" according to the minimum kinetic energy loss criterion. Figure 13 shows the value of the FF (kinetic energy loss). In this case, the value of the FF is rapidly reduced during the optimization process (from the 1 st generation to the 50 th generation). Then, the value of this FF is slightly decreased from the 51 st generation to the 115 th generation. From the 116 th generation onwards, the value of the FF converges to E = 0.197255 J and remains at this value. This optimization process is based on random behavior and has been executed repeatedly, so it can be concluded that the FF in the optimization process has converged and reached a stable suboptimal value.  
The suboptimal MFs and the suboptimal FRs of the \"Optimal_MFs_FRs_FLC\" are shown in Tables 10-13 and Figure 14. These are the main results of the optimization process. Using the \"Optimal_MFs_FRs_FLC\", the \"Expert_FLC\", and the \"Optimal_MFs_FLC\" to drive the DDR, all the simulation results are shown in Figures 15-19 and in Tables 14-18. Figure 15 and Table 14 have served as a base for a comparison between the \"Optimal_MFs_FRs_FLC\" and the other used controllers. Specifically, when the DDR is controlled by the \"Optimal_MFs_FRs_FLC\" to track the zigzag path, the kinetic energy loss of the robot (E = 0.197255 J) is much lower than the kinetic energy loss of the robot controlled by the other used controllers (for the \"Expert_FLC\", E = 1.575194 J; and for the \"Optimal_MFs_FLC\", E = 0.720139 J). In this case, the \"Optimal_MFs_FRs_FLC\" has saved 698.56% kinetic energy loss while the travel distance in this case is just a bit bigger (3.11%) in comparison with the case of using the \"Expert_FLC\" and the \"Optimal_MFs_FRs_FLC\" has saved 265.08% kinetic energy loss while the travel distance in this case is just a bit bigger (2.54%) in comparison with the case of using the \"Optimal_MFs_FLC\".  
The velocity of the robot when it is controlled by the \"Optimal_MFs_FRs_FLC\" is lower than the velocities of the robot when it is controlled by the other controllers. Therefore, in this case, the travel time of the robot is bigger than the travel times of the robot when it is controlled by the other controllers (see Figure 15b,c and Table 14). Specifically, the travel times are 28.33 s, 22.53 s, and 34.95 s when the robot is navigated by the \"Expert_FLC\", the \"Optimal_MFs_FLC\", and the \"Optimal_MFs_FRs_FLC\", respectively. For the main purpose of minimizing kinetic energy loss, such a difference in speed and travel time is acceptable. Fortunately, this leads to the advantage of causing the robot to move more smoothly.  
In addition, Figure 15c,d show that the linear velocity and the angular velocity of the DDR controlled by the \"Expert_FLC\" oscillated over time, which has led to the vibrations and jerks of the robot. However, these problems of the vibrations and jerks have been fixed quite well by the \"Optimal_MFs_FLC\" and the \"Optimal_MFs_FRs_FLC\". When the \"Optimal_MFs_FLC\" and the \"Optimal_MFs_FRs_FLC\" are used, the linear velocity is almost unchanged, its value just slightly changes at each corner of the path. Moreover, Figure 15d clearly shows that the angular velocity of the robot controlled by the \"Optimal_MFs_FRs_FLC\" is always the smallest, especially at the time when the robot turns at each corner of the path. Therefore, the issues about the robot vibration and the robot jerk have been solved quite well by this controller.