Skip to main content

Designing Fuzzy Logic Controllers for ROS-Based Multirotors

  • Chapter
  • First Online:
Robot Operating System (ROS)

Abstract

This chapter presents a tutorial on using an open-source ROS package for implementing control systems based on Fuzzy Logic. Such a package has been created to facilitate the development of fuzzy control systems along with ROS technology and infrastructure. A step-by-step tutorial discusses how to develop a set of distributed and interconnected fuzzy controllers using the proposed ROS package. A fuzzy control system that controls the movement of an unmanned multirotor (specifically a hexacopter) is presented as case study. The behavior of this control system is demonstrated by means of a commercial robotics simulation environment named V-REP. One scenario is used to illustrate the fuzzy control system steering the movement of a virtual hexacopter carrying an attached loose payload, i.e. such a loose payload forms a pendulum. In this case study, one can see the hexacopter flight after receiving commands to fly to distinct positions within the scenario. It is important to highlight that, in order to be able to perform this tutorial, the reader must use ROS Indigo Igloo and V-REP PRO EDU version V3.3.0 both running on Ubuntu 14.04.4 LTS.

The source code and examples discussed in this chapter are available as a catkin package published in [1]

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

Notes

  1. 1.

    This chapter does not intend to propose or discuss any concrete round-trip engineering process.

  2. 2.

    Figures 2, 3, 4 and 5 depict the inertial frame at the right-bottom corner of the figures. It is important to note that this inertial frame is used in both V-REP environment and ROS representation.

  3. 3.

    Files and subdirectories created automatically by catkin/make commands are ignored.

  4. 4.

    This tutorial assumes that V-REP has been installed in /opt/V-REP/ directory.

  5. 5.

    I.e. the raw value read from a sensor.

  6. 6.

    This application was created for debugging purposes and it is not discussed in this chapter.

References

  1. Koslosky, E., et al. Hexacopter tutorial package. https://github.com/ekosky/hexaplus-ros-tutorial.git. Accessed Nov 2016.

  2. Bipin, K., V. Duggal, and K.M. Krishna. 2015. Autonomous navigation of generic monocular quadcopter in natural environment. In 2015 IEEE International Conference on Robotics and Automation (ICRA), 1063–1070.

    Google Scholar 

  3. Haque, M.R., M. Muhammad, D. Swarnaker, and M. Arifuzzaman. 2014. Autonomous quadcopter for product home delivery. In 2014 International Conference on Electrical Engineering and Information Communication Technology (ICEEICT), 1–5.

    Google Scholar 

  4. Leishman, R., J. Macdonald, T. McLain, and R. Beard. 2012. Relative navigation and control of a hexacopter. In 2012 IEEE International Conference on Robotics and Automation (ICRA), 4937–4942.

    Google Scholar 

  5. Ahmed, O.A., M. Latief, M.A. Ali, and R. Akmeliawati. 2015. Stabilization and control of autonomous hexacopter via visual-servoing and cascaded-proportional and derivative (PD) controllers. In 2015 6th International Conference on Automation, Robotics and Applications (ICARA), 542–549.

    Google Scholar 

  6. Alaimo, A., V. Artale, C.L.R. Milazzo, and A. Ricciardello. 2014. PID controller applied to hexacopter flight. Journal of Intelligent & Robotic Systems 73 (1–4): 261–270.

    Google Scholar 

  7. Ołdziej, D., and Z. Gosiewski. 2013. Modelling of dynamic and control of six-rotor autonomous unmanned aerial vehicle. Solid State Phenomena 198: 220–225.

    Article  Google Scholar 

  8. Collotta, M., G. Pau, and R. Caponetto. 2014. A real-time system based on a neural network model to control hexacopter trajectories. In 2014 International Symposium on Power Electronics, Electrical Drives, Automation and Motion (SPEEDAM), 222–227.

    Google Scholar 

  9. Artale, V., C.L. Milazzo, C. Orlando, and A. Ricciardello. 2015. Genetic algorithm applied to the stabilization control of a hexarotor. In Proceedings of the International Conference on Numerical Analysis and Applied Mathematics 2014 (ICNAAM-2014), 222–227.

    Google Scholar 

  10. Bacik, J., D. Perdukova, and P. Fedor. 2015. Design of fuzzy controller for hexacopter position control. Artificial Intelligence Perspectives and Applications, 193–202. Berlin: Springer.

    Google Scholar 

  11. Koslosky, E., M.A. Wehrmeister, J.A. Fabro, and A.S. Oliveira. 2016. On using fuzzy logic to control a simulated hexacopter carrying an attached pendulum. In Designing with Computational Intelligence, vol. 664, ed. N. Nedjah, H.S. Lopes, and L.M. Mourelle. Studies in Computational Intelligence. Berlin: Springer. 01–32 Expected publication on Dec. 2016.

    Google Scholar 

  12. Open Source Robotics Foundation: ROS basic tutorials. http://wiki.ros.org/ROS/Tutorials. Accessed March 2016.

  13. Coppelia Robotics: V-REP: Virtual robot experimentation platform. http://www.coppeliarobotics.com. Accessed March 2016.

  14. Coppelia Robotics: V-REP bubblerob tutorial. http://www.coppeliarobotics.com/helpFiles/en/bubbleRobTutorial.htm. Accessed March 2016.

  15. Coppelia Robotics: V-REP tutorial for ROS indigo integration. http://www.coppeliarobotics.com/helpFiles/en/rosTutorialIndigo.htm. Accessed March 2016.

  16. Yoshida, K., I. Kawanishi, and H. Kawabe. 1997. Stabilizing control for a single pendulum by moving the center of gravity: theory and experiment. In American Control Conference, 1997. Proceedings of the 1997, vol. 5, 3405–3410.

    Google Scholar 

  17. Passino, K.M., and S. Yurkvich. 1998. Fuzzy Control. Reading: Addison-Wesley.

    Google Scholar 

  18. Hwang, G.C., and S.C. Lin. 1992. A stability approach to fuzzy control design for nonlinear systems. Fuzzy Sets and Systems 48 (3): 279–287.

    Article  MathSciNet  MATH  Google Scholar 

  19. Pedro, J.O., and C. Mathe. 2015. Nonlinear direct adaptive control of quadrotor UAV using fuzzy logic technique. In 2015 10th Asian Control Conference (ASCC), 1–6.

    Google Scholar 

  20. Pedrycz, W., and F. Gomide. 2007. RuleBased Fuzzy Models, 276–334. New York: Wiley-IEEE Press.

    Google Scholar 

  21. Open Source Robotics Foundation: ROS remapping. http://wiki.ros.org/Remapping%20Arguments. Accessed March 2016.

  22. Chak, Y.C., and R. Varatharajoo. 2014. A heuristic cascading fuzzy logic approach to reactive navigantion for UAV. IIUM Engineering Journal, Selangor - Malaysia 15 (2).

    Google Scholar 

  23. Sureshkumar, V., and K. Cohen. Autonomous control of a quadrotor UAV using fuzzy logic. Unisys Digita - Journal of Unmanned System Technology, Cincinnati, Ohio.

    Google Scholar 

  24. Eusebiu Marcu, C.B. UAV fuzzy logic control system stability analysis in the sense of Lyapunov. UPB Scientific Bulletin, Series D 76 (2).

    Google Scholar 

  25. Abeywardena, D.M.W., L.A.K. Amaratunga, S.A.A. Shakoor, and S.R. Munasinghe. 2009. A velocity feedback fuzzy logic controller for stable hovering of a quad rotor UAV. In 2009 International Conference on Industrial and Information Systems (ICIIS), 558–562.

    Google Scholar 

  26. Gomez, J.F., and M. Jamshidi. 2011. Fuzzy adaptive control for a UAV. Journal of Intelligent & Robotic Systems 62 (2): 271–293.

    Article  Google Scholar 

  27. Limnaios, G., and N. Tsourveloudis. 2012. Fuzzy logic controller for a mini coaxial indoor helicopter. Journal of Intelligent & Robotic Systems 65 (1): 187–201.

    Article  Google Scholar 

  28. Ierusalimschy, R., W. Celes, and L.H. de Figueiredo. 2016. Lua documentation. https://www.lua.org/. Accessed March 2016.

  29. Coppelia Robotics: V-REP help. http://www.coppeliarobotics.com/helpFiles/. Accessed March 2016.

  30. Coppelia Robotics: V-REP download page. http://www.coppeliarobotics.com/downloads.html. Accessed March 2016.

  31. Coppelia Robotics: ROS publisher typer for V-REP. http://www.coppeliarobotics.com/helpFiles/en/rosPublisherTypes.htm. Accessed March 2016.

  32. Steder, B., G. Grisetti, C. Stachniss, and W. Burgard. 2008. Visual SLAM for flying vehicles. IEEE Transactions on Robotics 24 (5): 1088–1093.

    Article  Google Scholar 

  33. Itseez: OpenCV - Open Source Computer Vision Library. http://opencv.org/. Accessed Nov 2016.

  34. Mihelich, P., and J. Bowman. 2016. vision_openCV documentation. Accessed March 2016.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Emanoel Koslosky .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Koslosky, E., de Oliveira, A.S., Wehrmeister, M.A., Fabro, J.A. (2017). Designing Fuzzy Logic Controllers for ROS-Based Multirotors. In: Koubaa, A. (eds) Robot Operating System (ROS). Studies in Computational Intelligence, vol 707. Springer, Cham. https://doi.org/10.1007/978-3-319-54927-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-54927-9_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-54926-2

  • Online ISBN: 978-3-319-54927-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics