In the problem of designing a Fuzzy Logic Controller (FLC) for robots in general and a Differential Drive Robot (DDR) in particular, the determination of the parameters of Membership Functions (MFs) and Fuzzy Rules (FRs) is a difficult, complicated, and time-consuming problem because this is mainly based on heuristics and the knowledge of experts. Therefore, this paper provides a new method to efficiently design an FLC for the DDR by using the Genetic Algorithm (GA). Here, the GA is used to generate and optimize both the parameters of MFs and the FRs according to the minimum kinetic energy loss criterion. For this purpose, a program is created in Google Colab® by using the Python language with the help of the “Pymoo” library to not only automatically generate all the suboptimal parameters of MFs and the suboptimal FRs but also the simulate and evaluate different used FLCs. This program is published as an open-source code so that all readers can browse, view, run, and modify the code themselves to design their FLC. The simulation results have shown that the designed FLC is much better than other used FLCs in terms of the minimum kinetic energy loss while other control performances are still good.
Read full abstract