A Computer Vision Based Algorithm for Obstacle Avoidance

  • Wander Mendes Martins
  • Rafael Gomes Braga
  • Alexandre Carlos Brandaõ Ramos
  • Felix Mora-Camino
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 738)


This paper presents the implementation of an algorithm based on elementary computer vision techniques that allow an UAV (Unmanned Aerial Vehicle) to identify obstacles (including another UAV) and to avoid them, using only a trivial 5MP camera and applying six mathematical treatments on image. The proposed algorithm of this paper was applied in a drone in real flight. The algorithm proved to be quite efficient both in identifying obstacles ahead and in transposing the same obstacles. Another interesting result is that the algorithm can identify small mobile obstacles and avoid collisions, for example other drones.


Canny edge detector Embedded systems Image processing Obstacle detection Unmanned aerial vehicles 



We thank the Black Bee team of the Federal University of Itabubá that made the drones available and operated during the experiments.

This work was funded by Capes—Coordination of Improvement of Higher Level Personnel [31].


  1. 1.
    E.R. Davies, Machine Vision: Theory, Algorithms, Practicalities, 2005, ISBN 012206092X, 9780122060922. (2005).Google Scholar
  2. 2.
    M.D.L. Santos, E.H. Shiguemori, R.L.M. Mota, A.C.B. Ramos, Change detection in satellite images using self-organizing maps, in 12th International Conference on Information Technology—New Generations (ITNG 2015), Las Vegas, Nevada, USA (2015), pp. 662–667Google Scholar
  3. 3.
    R.C. Gonzales, E.R. Woods, Processamento de Imagens Digitais (in Portuguese) (São Paulo, Brazil, 2000)Google Scholar
  4. 4.
    A. Bueno, Fundamentos da Computacão Gráfica (in Portuguese) (Pontifıcia Universidade Catolica, Brasil, Rio de Janeiro, 2011)Google Scholar
  5. 5.
    D.H. Ballard, C.M. Brown, Computer Vision (Prentice Hall, New Jersey, 1982)Google Scholar
  6. 6.
    A.M. Waxman, J.J. LeMoigne, B. Scinvasan, A visual navigation system for autonomous land vehicles. IEEE J. Robot. Autom. RA-3(2), 124–141 (1987)CrossRefGoogle Scholar
  7. 7.
    C. Thrope, M.H. Hebert, T. Kanade, S.A. Shafer, Vision and navigation for the Carnegie-Mellon Navilab. IEEE Trans. Pattern. Anal. Mach. Intell. PAM1-10(3), 362–373 (1988)CrossRefGoogle Scholar
  8. 8.
    A. Davison, Real-time simultaneous localization and mapping with a single camera. IEEE ICCV 2, 1403–1410 (2003)Google Scholar
  9. 9.
    M. Lee, S. Hur, Y. Park, An obstacle classification method using multi feature comparison based on 2D LIDAR database, 2015, Information Technology—New Generations (ITNG 2015), in 12th International Conference on, Las Vegas, Nevada, USA (2015), pp. 674–679Google Scholar
  10. 10.
    S. Garćıa, M.E. Lopez, R. Barea, L.M. Bergasa, A. Gomez, E.J. Molinos, International Conference on Indoor SLAM for Micro Aerial Vehicles Control Using Monocular Camera and Sensor Fusion, Autonomous Robot Systems and Competitions (ICARSC 2016) (2016)Google Scholar
  11. 11.
    J.T. Amenyo, D. Phelps, O. Oladipo, F. Sewovoe-Ekuoe, S. Jadoo-nanan, S. Jadoonanan, T. Tabassum, S. Gnabode, T.D. Sherpa, M. Falzone, A. Hossain, A. Kublal, MedizDroids Project: ultra-low cost, low-altitude, affordable and sustainable UAV multicopter drones for mosquito vector control in malaria disease management, in IEEE Global Humanitarian Technology Conference (GHTC 2014) (2014)Google Scholar
  12. 12.
    M.F.A. Rahman, A.I.C. Ani, S.Z. Yahaya, Z. Hussain, R. Boudville, A. Ahmad, Implementation of Quadcopter as a teaching tool to enhance engineering courses, in IEEE 8th International Conference on Engineering Education (ICEED 2016) (2016)Google Scholar
  13. 13.
    Ascending Technologies, GmbH, Accessed 13 March 2017
  14. 14.
    K. Sreenath, T. Lee, V. Kumar, geometric control and differential flatness of a quadrotor UAV with a cable-suspended load, in IEEE Conference on Decision and Control (CDC) (Florence, Italy, 2013), pp. 2269–2274Google Scholar
  15. 15.
    Ubuntu Desktop 14.04 LT,, Accessed 13 March 2017
  16. 16.
    OpenCV 3.2, Accessed 13 March 2017
  17. 17.
    G. Bradski, A. Kaehler, Learning OpenCV: Computer Vision with the Open CV Library (O’Reilly)Google Scholar
  18. 18.
    ROS Indigo (Robot Operation System), Accessed 13 March 2017
  19. 19.
    Pixhawk, Accessed 13 March 2017
  20. 20.
    MavLink, Accessed 13 March 2017
  21. 21.
    Raspberry pi, Accessed 13 March 2017
  22. 22.
  23. 23.
    OpenCV documentation, Blur, Accessed 27 April 2017
  24. 24.
    OpenCV documentation (imgproc module), Image Processing, Canny Edge Detector, Accessed 27 April 2017
  25. 25.
    OpenCV documentation, Structural Analysis and Shape De-scriptors, findcontourscv2.findConto.urs. Accessed 27 April 2017
  26. 26.
  27. 27.
  28. 28.
    The Bored Engineers (, The Quadcopter: Control the Orientation, Accessed 11 April 2017
  29. 29.
    Experiment, Drone Flight, https://youtube/JA_oQORdcjs. Accessed 27 April 2017Google Scholar
  30. 30.
    The Bebop Parrot Drone website, Accessed 05 May 2017
  31. 31.
    CAPES, Accessed 13 March 2017

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Wander Mendes Martins
    • 1
  • Rafael Gomes Braga
    • 1
  • Alexandre Carlos Brandaõ Ramos
    • 2
  • Felix Mora-Camino
    • 3
  1. 1.Federal University of ItajubáItajubáBrazil
  2. 2.Federal University of Itajubá, Mathematics and Computation’s InstituteItajubáBrazil
  3. 3.Ecole Nationale de l’Aviation CivileToulouseFrance

Personalised recommendations