Skip to main content

Fuzzy Logic Controller with Fuzzylab Python Library and the Robot Operating System for Autonomous Robot Navigation: A Practical Approach

  • Chapter
  • First Online:
Intuitionistic and Type-2 Fuzzy Logic Enhancements in Neural and Optimization Algorithms: Theory and Applications

Part of the book series: Studies in Computational Intelligence ((SCI,volume 862))

Abstract

The navigation system of a robot requires sensors to perceive its environment to get a representation. Based on this perception and the state of the robot, it needs to take an action to made a desired behavior in the environment. The actions are defined by a system that processes the obtained information and which can be based on decision rules defined by an expert or obtained by a training or optimization process. Fuzzy logic controllers are based on fuzzy logic on which degrees of truth are used on system variables and has a rulebase that stores the knowledge about the operation of the system. In this paper a fuzzy logic controller is made with the Python fuzzylab library which is based on the Octave Fuzzy Logic Toolkit, and with the Robot Operating System (ROS) for autonomous navigation of the TurtleBot3 robot on a simulated and a real environment using a LIDAR sensor to get the distance of the objects around the robot.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 189.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 249.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 249.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Saffiotti, A.: The uses of fuzzy logic in autonomous robot navigation. Soft Comput. 1, 180–197 (1997)

    Article  Google Scholar 

  2. Siegwart, R., Nourbakhsh, I.R., Scaramuzza, D.: Introduction to Autonomous Mobile Robots, 2nd ed. The Mit Press (2011)

    Google Scholar 

  3. Reignier, P.: Fuzzy logic techniques for mobile robot obstacle avoidance. Robot. Auton. Syst. 12(3), 143–153 (1994)

    Article  Google Scholar 

  4. Duan, Y., Xin-Hexu: Fuzzy reinforcement learning and its application in robot navigation, vol. 2, pp. 899–904 (2005)

    Google Scholar 

  5. Raguraman, S.M., Tamilselvi, D., Shivakumar, N.: Mobile robot navigation using fuzzy logic controller. pp. 1–5 (2009)

    Google Scholar 

  6. Faisal, M., Hedjar, R., Sulaiman, M.A., Al-Mutib, K.: Fuzzy logic navigation and obstacle avoidance by a mobile robot in an unknown dynamic environment. Int. J. Adv. Robot. Syst. 10(1), 37 (2013)

    Article  Google Scholar 

  7. Zadeh, L.A.: Fuzzy logic = computing with words. IEEE Trans. Fuzzy Syst. 4, 103–111 (1996)

    Article  Google Scholar 

  8. Zadeh, L.A.: Fuzzy sets. Inf. Control. 8, 338–353 (1965)

    Article  Google Scholar 

  9. Mendel, J.M.: Uncertain Rule-Based Fuzzy Systems: Introduction and New Directions, 2nd ed. Springer (2017)

    Google Scholar 

  10. Boubertakh, H., Tadjine, M., Glorennec, P.-Y.: A new mobile robot navigation method using fuzzy logic and a modified q-learning algorithm. J. Intell. Fuzzy Syst. 21, 113–119 (2010)

    Article  Google Scholar 

  11. Fuzzylab, a python fuzzy logic library. https://github.com/ITTcs/fuzzylab. Accessed 21 March 2019

  12. Octave fuzzy logic toolkit. https://sourceforge.net/projects/octave-fuzzy/. Accessed 21 March 2019

  13. Turtlebot3 ml. http://emanual.robotis.com/docs/en/platform/turtlebot3/machine_learning/. Accessed 21 March 2019

  14. Fuzzy logic controllers with python for turtlebot3 robot. https://github.com/eavelardev/turtlebot3_flc. Accessed 21 March 2019

  15. Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction, 2nd ed.. The Mit Press (2018)

    Google Scholar 

  16. Watkins, C.J.C.H., Dayan, P.: Q-learning. Mach. Learn. 8, 279–292 (1992)

    MATH  Google Scholar 

  17. Glorennec, P.Y., Jouffe, L.: Fuzzy q-learning. In: Proceedings of 6th International Fuzzy Systems Conference, vol. 2, pp. 659–662 (1997)

    Google Scholar 

  18. Berenji, H.R.: Fuzzy q-learning: a new approach for fuzzy dynamic programming 1, 486–491 (1994)

    Google Scholar 

  19. Cherroun, L., Boumehraz, M.: Intelligent systems based on reinforcement learning and fuzzy logic approaches. Appl. Mob. Robot. 1–6 (2012)

    Google Scholar 

  20. Cherroun, L., Boumehraz, M., Kouzou, A.: Mobile robot path planning based on optimized fuzzy logic controllers. 255–283 (2019)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oscar Castillo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Avelar, E., Castillo, O., Soria, J. (2020). Fuzzy Logic Controller with Fuzzylab Python Library and the Robot Operating System for Autonomous Robot Navigation: A Practical Approach. In: Castillo, O., Melin, P., Kacprzyk, J. (eds) Intuitionistic and Type-2 Fuzzy Logic Enhancements in Neural and Optimization Algorithms: Theory and Applications. Studies in Computational Intelligence, vol 862. Springer, Cham. https://doi.org/10.1007/978-3-030-35445-9_27

Download citation

Publish with us

Policies and ethics