Line follower with a quadcopter
Abstract
The project presented in this document consists in the implementation of a Parrot Bebop 2 quadcopter as a line follower, the communication between the device and the computer, that carries out the control algorithm, is done via Wi-Fi using the development platform of software for robots ROS (Robot Operating System), which implements a publisher/subscriber model of communication. Through the use of Atom text editor, a Python 3.7 script was developed; in this one it’s integrated: a piloting control algorithm, a method of communication (publisher/subscriber) between the computer and the quadcopter, a stage for digital
image processing and a generic joystick driver, the last one is used for flight tests and as a method to takeoff and land the quadcopter.
Downloads
References
Alexandre S. Brandao, F. N. M., Soneguetti, H. B., 2015. A vision-based line following strategy for an autonomous uav. 12th International Conference on Informatics in Control, Automation and Robotics 2, 317–318. DOI: 10.13140/RG.2.1.1132.2729
Deswal1, M., Sharma, N., 2014. A fast hsv image color and texture detection and image conversion algorithm. International Journal of Science and Research
(IJSR) 3, 5.
Espinosa, R. H., 1998. Joystick api documentation. URL: https://www.kernel.org/doc/Documentation/input
Foundation, P. S., 2019. The fcntl and ioctl system calls. URL: https://docs.python.org/2/library/fcntl.html
Johannes Meyer, Alexander Sendobry, S. K. U. K., von Stryk, O., 2012. Comprehensive simulation of quadrotor uavs using ros and gazebo. Simulation, Modeling, and Programming for Autonomous Robots: Third International Conference 1, 1. DOI: 10.1007/978-3-642-34327-8 36
M. Zafri Baharuddin, Izham Z. Abidin, S. S. K. M. Y. K. S., Chuan, J. T. T., 2016. Analysis of line sensor configuration for the advanced line follower robot, 1–2. Microsoft, 2019. Xbox 360 wired and wireless controllers. URL: https://support.xbox.com/es-EC/xbox-360/
Monajjemi, M., 2015. Bebop autonomy ros driver for parrot bebop drone (quadrocopter) 1.0 and 2.0. URL: https://bebop-autonomy.readthedocs.io/en/latest/ Nguyen, B., 2004. Linux filesystem hierarchy. URL: https://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html
OpenCV, 2014. Opencv 3.0.0-dev documentation. URL: https://docs.opencv.org/3.0-beta/index.html
OpenCV, ROS, 2017. Converting between ros images and opencv images. URL: http://wiki.ros.org/cv bridge/Tutorials/
Pakdaman, M., Sanaatiyan, M. M., 2009. Design and implementation of line follower robot. IEEE 43, 1–2. DOI: 10.1109/ICCEE.2009.43
Piotr Kardasz, Jacek Doskocz, M. H. P. W., Zarzycki, H., 2016. Drones and possibilities of their using. Journal of Civil & Environmental Engineering 6, 5–6. DOI: 10.4172/2165-784X.1000233
ROS, 2018. Documentation. URL: http://wiki.ros.org/SAS, P. D., 2019. Parrot bebop 2. URL: https://www.parrot.com/us/drones/parrot-bebop-2
Spicy.org, 2019. Numpy. URL: https://numpy.org/
Stephane Piskorski, Nicolas Brulez, P. E., D’Haeyer, F., 2012. Ar.drone developer guide. URL: https://jpchanson.github.io/ARdrone/ParrotDevGuide.pdf
W. Richard Stevens, B. F., Rudo , A. M., 2004. Addison-Wesley, Boston, MA 02116, USA.
Wiki, R., 2019. Ros/tutorials/writingpublishersubscriber. URL: http://wiki.ros.org/ROS/Tutorials/
YAML, 2001. The ocial yaml web site. URL: https://yaml.org/