You will be presented with the full text of a science research paper. Please write an abstract for this paper. Your response should include the abstract and no additional text.

Paper text:
ue to their remarkable agility and robustness , quadcopters have become an exciting area of research and a common sight among aircraft hobbyists , academic researchers and industries . in general
, they have high thrust to weight ratio which allows them to carry significant payloads or have high lateral accelerations when not carrying a load .
quadcopters are nowadays being used to study a plethora of concepts ranging from non - linear control[1 ] and learning[2 ] to vision - based pose estimation[3].when quadcopters are used for tasks like mapping , search and rescue , patrol , surveillance and product delivery , they re required to follow a predefined path at a particular height . in general , circular and straight line paths are used .
path - following algorithms are used to ensure that the quadcopter will follow a predefined path in two or three dimensions at constant height .
another important consideration is that the path - following algorithms are robust and accurate with regard to turbulences .
a wide range of path - following algorithms have been proposed [ 4 ] .
in this paper we use the non - linear guidance logic ( nlgl ) [ 4 ] coupled with model - predictive control [ 5 ] for trajectory tracking for the quadcopter .
the main objective of this approach includes :    * the trajectories must be feasible under the dynamic and input constraints of the quadrotor * the generated trajectories should bring the vehicle to the target position on the path as quickly as possible , * the trajectory calculation must be fast enough to be used online , and * it must be possible to generate an implicit feedback control law by re - planning the trajectory intercept at each controller update , and applying the control inputs of the first section of it .
a scheme is presented in [ 6 ] for generating state interception trajectories for quadcopters ; that is , trajectories starting from an arbitrary state and achieving a ( reduced ) end state in a specified amount of time , whilst satisfying input constraints .
this approach builds on the previous work presented above in that we seek to develop that satisfies various constraints and is also fast enough to allow real - time planning .
trajectory tracking is done by formulating the trajectory of the quadrocopter in its jerk , in discrete time , and then solving a convex optimization problem on each decoupled axis .
the nlgl algorithm is now used to track the path effectively .
the quadrocopter model is presented in section ii , with the trajectory tracking scheme given in section iii .
section iv discusses simulation results , and an outlook is given in section v.
the quadcopter is modeled as a rigid body with six degrees of freedom : linear translation along the inertial x1 , x2 and x3 axes , and three degrees of freedom describing the rotation of the frame attached to the body with respect to the inertial frame , which is taken here to be the proper orthogonal matrix r. the control inputs to the system are taken as the total thrust produced f , for simplicity normalized by the vehicle mass and thus having units of acceleration ; and the body rates expressed in the body - fixed frame as  = ( 1 , 2 , 3 ) .
these are illustrated in fig
. 1 .
figure  [ fig:3d ]    the mixing of these inputs to individual motor thrust commands is done on board the vehicle , using feedback from gyroscopes .
it is assumed that the time constant of the onboard controllers is low enough to have negligible influence on the algorithm presented here .
because of their low rotational inertia , quadcopters can achieve extremely high rotational accelerations ( on the order of 200 rads2 [ 7 ] ) about the 1 and 2 axes , while it will be shown that the rotation about 3 is not needed for the trajectories considered here .
the differential equations governing the flight of the quadcopter are now taken as those of a rigid body [ 8 ]    @xmath0    @xmath1\ ] ]    with e3 = ( 0,0,1 ) and [ [ wx ] ] the skew symmetric matrix form of the vector cross product such that :    @xmath2 = \left| \begin{array}{ccc } - w_3 & -w_2 & 0 \\ w_3 & 0 & -w_1 \\ -w_2 & w_1 & 0 \end{array } \right|\ ] ]    and g = ( 0 , 0 , g ) the acceleration due to gravity . note the distinction between the vector g and scalar g.      we follow [ 6],[9 ] in considering the trajectories of the quadrocopter in terms of the jerk of the axes , allowing the system to be considered as a triple integrator in each axis and simplifying the trajectory generation task .
it is assumed that a thrice differentiable trajectory x(t ) is available , where the jerk is written as :    @xmath3    the input thrust f is then found by applying the euclidean norm  to ,    @xmath4      a quadrocopter trajectory described by ( 1 ) and ( 2 ) is considered to be feasible if the thrust and the magnitude of the body rates lie in some feasible set of values , defined as    @xmath5    note that @xmath6 for fixed - pitch propellers with a fixed direction of rotation , and , specifically , that the requirement on the thrust input is non - convex .
@xmath7    the following conservative box constraints are applied to yield convex constraints :    @xmath8    @xmath9    @xmath10    the resulting trajectories are guaranteed to be feasible with respect to the thrust limit if    @xmath11
the three axes are decoupled and hence the optimization problem is solved separately for each axis .
the trajectory tracking is rewritten as an optimal control problem , with boundary conditions defined by the quadrocopter s initial and ( desired ) final states . the cost function to minimize
is chosen as    @xmath12    @xmath13    @xmath14    a nonlinear guidance law based method described in [ 4 ] is used to determine the destination intercept along the given path . for simplicity ,
assume the uav is following a path , as shown in figure 4 .
at the current uav position p , draw a circle of radius l. the circle will intercept the path at two points q and ql . depending on the direction in which the uav has to move , either q or @xmath15 . will be selected .
the advantage of this algorithm is that the same algorithm can be applied to any type of trajectory .
the stability of the guidance law is shown using lyapunov stability arguments [ ] .
once the target intercepts are calculated , future position , velocity and acceleration of the quadcopter are predicted using convex optimization and having constraints based on the quadcopter model . the discrete time formulation ( described in the next sub - section ) is used to predict up to 5 values if position , velocity and acceleration .
the first value of the jerk calculated from the constraints is given as input .
figure  [ fig : vtp ]      the trajectory generation problem for each decoupled axis is rendered finite dimensional by discretizing the time with uniform steps of size t .
each axis is then a discrete time linear , time invariant system in the state z , consisting of position , velocity and acceleration , with scalar jerk input @xmath16 , where the axis subscripts have been neglected for convenience .
@xmath17 = \dddot x(k\delta t)\ ] ]    @xmath18 = [ x(t_1 ) x(t_2 ) . .
x(t_n ) ] ^t\ ] ]    @xmath19 = \begin{bmatrix } \delta \frac{t^3}{6 } & 0 & 0 & 0 & 0\\   \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & 0 & 0 & 0 \\   \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & 0 & 0 \\   \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & 0 \\   \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } & \delta \frac{t^3}{6 } \end{bmatrix } \times \left [ \begin{array}{c } u_1 \\ u_2 \\ u_3 \\ u_4 \\ u_5 \end{array } \right]\ ] ]    @xmath20 \times \ddot x(t_1 ) + \left[\begin{array}{c } \delta t\\ 2\delta t\\ 3\delta t\\
4\delta t\\ 5\delta t\end{array } \right ] \times \dot x(t_1 ) + \left[\begin{array}{c } 1 \\ 1 \\ 1 \\ 1 \\ 1 \end{array } \right ] \times x(t_1)\ ] ]    the optimal control problem is to solve for u[k ] matrix in equation ( 17 ) subject to the above dynamics , satisfying the boundary conditions defined by the initial and final positions @xmath21 , respectively , velocities @xmath22 and accelerations @xmath23 .
@xmath24    @xmath25    @xmath26    the quadratic cost function ( 12 ) , ( 13 ) and ( 14 ) with the linear equality constraints ( 17 ) to ( 20 ) define a convex optimization problem.there exist efficient methods for solving problems of this sort , with cvxopt [ 11 ] , forces [ 12 ] and cvxgen [ 13 ] presenting techniques for creating c - code based solvers for specific instances of convex optimization problems . here , solvers are generated using the cvxopt software of [ 11 ] , which was able to generate solvers for large problems .
cvxopt uses efficient interior point methods tailored to convex optimization problems , as are typical in model predictive control applications , and allows for high - speed implementation with good numerical stability properties .    the generated solvers either return a solution that solves the problem to within some acceptable residuals , or returns that no solution is found . in reality ,
failure to find a solution can mean that :    * a solution exists , but the solver failed to find it due to reaching an internal limit ; * no solution exists to the conservatively constrained decoupled problem ; * no solution exists to the fully coupled nonlinearly constrained problem .
the proposed algorithm was used to follow particular straight line paths , circles and sinusoidal curves defined by their respective mathematical equations .
the results of the above have been shown in fig ( 3 ) ( 4 ) and ( 5 ) .
the starting points were taken to be outside the path to follow , but close enough for the circle to find the vtp and start tracking the trajectory . in the plots shown in the figures , the time intervals between every measurement of velocity ,
acceleration and position was taken to be 0.08s .
the radius of the circle used in these plots is 50 units .
the output of the proposed algorithm was also compared with the trajectory generation model proposed in [ 7 ] , where the cost function to be minimized calculates the sum of squares of the input jerk . in comparison
, the proposed algorithm performs as well as the trajectory generation method proposed in [ 6 ] .
the performance of the trajectory tracking is found by solving trajectories from rest , for step times varying from 0.08s to 2s .
for each trajectory length , 1000 iterations were executed using python idle which took a mean time of 60ms per iteration .
these were calculated on a pc running ubuntu 12.04 , with an intel core i3 - 330 m dual core processor ( 2.13 ghz ) with 4 gb ram .
the solver was linked to an executable using python idle . in each case
the optimizations were set to maximize speed .
this paper presents a method for trajectory tracking for quadcopters , from arbitrary initial conditions to a desired end state characterized by a position . the nlgl based destination
intercept works satisfactorily in tracking subsequent intercepts in the predefined path .
the constrained trajectory tracking problem is posed as a convex optimization problem for each decoupled axis , which can be solved in real time .
therefore this technique is suitable for use in feedback as a model predictive controller ; it also naturally handles cases where the desired end state evolves over time , such as when trying to hit an uncertain target or when it has to overcome an obstacle , where the target prediction evolves in real time .
the convex optimization problem could be easily modified to achieve different goals , e.g. by removing the equality constraint on end velocity and acceleration , and adding the magnitude of the end velocity to the cost function , one solves a problem somewhat similar to that of [ 14 ] .
this project work was supported by the robotics research centre at international institute of information technology , hyderabad ( iiit - h ) .
1 .   i. d. cowling , o. a. yakimenko , j. f. whidborne , and a. k. cooke , `` a prototype of an autonomous controller for a quadrotor uav , '' in proceedings of the european control conference , kos , greece , 2007 , pp .
s. lupashin , a. sch  llig , m. sherback , and r. dandrea , `` a simple learning strategy for high - speed quadrocopter multi - flips , '' in ieee international conference on robotics and automation , 2010 , pp .
3 .   s. weiss , m. achtelik , m. chli , and r. siegwart , `` versatile distributed pose estimation and sensor self - calibration for an autonomous mav , '' in ieee international conference on robotics and automation , 2012 , pp .
4 .   p.b .
sujit , srikanth saripalli , joao borges sousa , `` unmanned aerial vehicle path following - a survey and analysis of algorithms for fixed wing uav '' , ieee control systems magazine , feb 2014 , pp .
42 - 59 5 .
wang , l. `` model predictive control system design and implementation using matlab '' , springer 2009 6 .
mark w. mueller and raffaello dandrea , `` a model predictive controller for quadrocopter state interception '' , 2013 european control conference ( ecc ) , july 17 - 19 , 2013 , zrich , switzerland 7 .
m. hehn and r. dandrea , `` quadrocopter trajectory generation and control , '' in ifac world congress , vol .
18 , no . 1 , 2011 , pp .
p. h. zipfel , `` modeling and simulation of aerospace vehicle dynamics second edition '' .
aiaa , 2007 .
markus hehn , raffaello dandrea , `` quadrocopter trajectory generation and control '' 10 . s. park , j. deystt , and j. p. how , `` performance and lyapunov stability of a nonlinear path - following guidance method , '' j. guidance , control , dyn .
6 , pp . 17181728 , 2007 .
l. vandenberghe , `` the cvxopt linear and quadratic cone program solvers '' 12 .
a. domahidi , a. zgraggen , m. zeilinger , m. morari , and c. jones , `` efficient interior point methods for multistage horizons arising in receding horizon control , '' in proceedings of the 51st ieee conference on decision and control , 2012 , pp . 668674 . 13 . j. mattingley and s. boyd , `` cvxgen : a code generator for embedded convex optimization , '' optimization and engineering , vol .
1,pp . 127 , 2012 .
m. hehn and r. d. andrea , `` real - time trajectory generation for in- terception maneuvers with quadrocopters , '' in ieee / rsj international conference on intelligent robots and systems , villamoura , portugal , 2012 , pp .
this paper presents a method for path - following for quadcopter trajectories in real time . 
 non - linear guidance logic is used to find the intercepts of the subsequent destination . 
 trajectory tracking is implemented by formulating the trajectory of the quadcopter using its jerk , in discrete time , and then solving a convex optimization problem on each decoupled axis . 
 based on the maximum possible thrust and angular rates of the quadcopter , feasibility constraints for the quadcopter have been derived . in this report 
 we describe the design and implementation of explicit mpc controllers where the controllers were executed on a computer using sparse solvers to control the vehicle in hovering flight .