FLC-ROS: A generic and configurable ROS package for developing fuzzy logic controllers
journal contribution
posted on 2023-02-28, 03:05authored byA Karimoddini, A Hailemichael, M Jamshidi
Fuzzy logic controllers can handle complex systems by incorporating expert’s knowledge in the absence of formal mathematical models. Further, fuzzy logic controllers can effectively capture and accommodate uncertainties that are inherent in real-world controlled systems. On the other hand, Robot Operating System (ROS) has been widely used for many robotic applications due to its modular structure and efficient message-passing mechanisms for the integration of system’s components. For this reason, Robot Operating System is an ideal tool for developing software stacks for robotic applications. This paper develops a generic and configurable Robot Operating System package for the implementation of fuzzy logic controllers, particularly type-1 and interval type-2, which are based on either Mamdani or Takagi-Sugeno-Kang fuzzy inference mechanisms. This is achieved by employing a systematic object-oriented approach using the Unified Model Language (UML) to implement the fuzzy inference system as a single class that is composed of fuzzifier, inference, and defuzzifier classes. The deployment of the developed Robot Operating System package is demonstrated by implementing an interval type-2 fuzzy logic control of an Unmanned Aerial Vehicle (UAV).