Skip to content

jatolentino/Autonomous-UAV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous UAV

Github All Releases GitHub repo size GitHub language count version

Based on my last research paper in 2021:

LPV-MPC control and self-tuning feedback gains for the trajectory tracking of a quadcopter UAV http://iraj.doionline.org/dx/IJMPE-IRAJ-DOIONLINE-18111

The goal of this project is to control the autonomous navigation of a drone, making use of the equations that describe its atitude and position and implement a software and simulation environment that allows to test and compare the performace against a Machine learning algorithm added in the control system.


Software Implementation: Matlab/Octave


As an initial approach to simulate the drone navigation, the softwares Octave or Matlab have been utilized to provide trajectories and compute the equations of the state-space model. Due to the high non-linearities of the plant, a novel control method is yet to be tested and possibly compared against traditional control algorithms.

In the clip below, we conducted two test to demostrate that indeed, ML can enhance the tracking path, decreasing the overshoot at the very beginning.

Project Image

Table of Contents

Feel free to download the software installer in the How-to-use section.


Description


Dynamics

The following state-space equations describe the UAV motion. The first three equations might relate the position while the last three, its attitude (orientation).

Control loop

Two controllers are proposed to act in conjunction, the first controller is based on a Feedback input linearization technique (FC) that controls the position and the other method known as Model Predictive controller (MPC) is in charge of controlling the vehicle's attitude or orientation.

Project Image

Technologies

  • Matlab/Octave

How to use

If you have Matlab or Octave

  • Navigate to the Test/ directory and execute the mainTestconference.m file, then input the first variable n that suggest the program not to use the Machine learning algorithm. A figure will show the UAV trajectory and predefined path, hit TAB after the simulation has been completed to run the next simulation with Machine Learning, observe both results to compare their performance, hit again TAB to the next other simulations.
  • For further studies, use the function mainTestconferenceNo.m file located in Test/, and input the following command:
    mainTestconferenceNo('y',axes('XLim',[-r-5 r+5],'YLim',[-r-5 r+5],'ZLim',[0 finalHeight+5]),xtakeoff,'g',2)
    Being:
    • 'y': [y]es or [n]ot to use Machine learning, 'n' for not using it.
    • r: the radious of the elipse in meters
    • finalHeight: The maximun height that the spiral will reach in meters
    • xtakeoff: The initial take off point of the UAV based in a XYZ coordinate system, in meters
    • g: the color in which the UAV trajectory is going to be displayed, result of the control algorithm.

References

[1] C. Trapiello, V. Puig and B. Morcego, "Position-Heading Quadrotor Control using LPV Techniques". IET Control Theory & Applications, vol. 13, no. 6, 2019.
[2] K. Valavanis, G. Vachtsevanos, et al., "Handbook of Unmanned Aerial Vehicles", Aviation History and Unmanned Flight, pp. 135, 2015.
[3] M. Vasylenko, "Telemetry system of unmanned aerial vehicles", Electronics and Control Systems, vol 3, no.57, pp. 95-100.
[4] A. Salih, M. Moghavvemi, M. Haf, K. Gaeid, (2010). "Flight PID Controller Design for a UAV Quadrotor". Scientific Research and Essays, vol 5, pp. 3660-3667.
[5] H. Noshahri and H. Kharrati, "PID controller design for unmanned aerial vehicle using genetic algorithm," 2014 IEEE 23rd International Symposium on Industrial Electronics (ISIE), pp. 213-217, 2014.
[6] I. Ibraheem, A. Najm, "Nonlinear PID controller design for a 6-DOF UAV quadrotor system", Engineering Science and Technology, an International Journal, vol. 22, no. 4, pp. 1087-1097, 2019.
[7] P. Ru and K. Subbarao, "Nonlinear Model Predictive Control for Unmanned Aerial Vehicles", Aerospace, vol. 4, pp.2-31, 2017.
[8] J. Dentler, S. Kannan, M. A. O. Mendez and H. Voos, "A real-time model predictive position control with collision avoidance for commercial low-cost quadrotors," 2016 IEEE Conference on Control Applications (CCA), pp. 519-525, 2016.
[9] H. Cheng and Y. Yang, "Model predictive control and PID for path following of an unmanned quadrotor helicopter," 2017 12th IEEE Conference on Industrial Electronics and Applications (ICIEA), pp. 768-773, 2017.
[10] L. Singh and J. Fuller, "Trajectory generation for a UAV in urban terrain, using nonlinear MPC," Proceedings of the 2001 American Control Conference, vol.3, pp. 2301-2308, 2001.

Author's Info