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]
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This chapter does not intend to propose or discuss any concrete round-trip engineering process.
- 2.
- 3.
Files and subdirectories created automatically by catkin/make commands are ignored.
- 4.
This tutorial assumes that V-REP has been installed in /opt/V-REP/ directory.
- 5.
I.e. the raw value read from a sensor.
- 6.
This application was created for debugging purposes and it is not discussed in this chapter.
References
Koslosky, E., et al. Hexacopter tutorial package. https://github.com/ekosky/hexaplus-ros-tutorial.git. Accessed Nov 2016.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Open Source Robotics Foundation: ROS basic tutorials. http://wiki.ros.org/ROS/Tutorials. Accessed March 2016.
Coppelia Robotics: V-REP: Virtual robot experimentation platform. http://www.coppeliarobotics.com. Accessed March 2016.
Coppelia Robotics: V-REP bubblerob tutorial. http://www.coppeliarobotics.com/helpFiles/en/bubbleRobTutorial.htm. Accessed March 2016.
Coppelia Robotics: V-REP tutorial for ROS indigo integration. http://www.coppeliarobotics.com/helpFiles/en/rosTutorialIndigo.htm. Accessed March 2016.
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.
Passino, K.M., and S. Yurkvich. 1998. Fuzzy Control. Reading: Addison-Wesley.
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.
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.
Pedrycz, W., and F. Gomide. 2007. RuleBased Fuzzy Models, 276–334. New York: Wiley-IEEE Press.
Open Source Robotics Foundation: ROS remapping. http://wiki.ros.org/Remapping%20Arguments. Accessed March 2016.
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).
Sureshkumar, V., and K. Cohen. Autonomous control of a quadrotor UAV using fuzzy logic. Unisys Digita - Journal of Unmanned System Technology, Cincinnati, Ohio.
Eusebiu Marcu, C.B. UAV fuzzy logic control system stability analysis in the sense of Lyapunov. UPB Scientific Bulletin, Series D 76 (2).
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.
Gomez, J.F., and M. Jamshidi. 2011. Fuzzy adaptive control for a UAV. Journal of Intelligent & Robotic Systems 62 (2): 271–293.
Limnaios, G., and N. Tsourveloudis. 2012. Fuzzy logic controller for a mini coaxial indoor helicopter. Journal of Intelligent & Robotic Systems 65 (1): 187–201.
Ierusalimschy, R., W. Celes, and L.H. de Figueiredo. 2016. Lua documentation. https://www.lua.org/. Accessed March 2016.
Coppelia Robotics: V-REP help. http://www.coppeliarobotics.com/helpFiles/. Accessed March 2016.
Coppelia Robotics: V-REP download page. http://www.coppeliarobotics.com/downloads.html. Accessed March 2016.
Coppelia Robotics: ROS publisher typer for V-REP. http://www.coppeliarobotics.com/helpFiles/en/rosPublisherTypes.htm. Accessed March 2016.
Steder, B., G. Grisetti, C. Stachniss, and W. Burgard. 2008. Visual SLAM for flying vehicles. IEEE Transactions on Robotics 24 (5): 1088–1093.
Itseez: OpenCV - Open Source Computer Vision Library. http://opencv.org/. Accessed Nov 2016.
Mihelich, P., and J. Bowman. 2016. vision_openCV documentation. Accessed March 2016.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)