Dynamics Modeling and Control of a Quadrotor with Swing Load

Nowadays, aerial robots or Unmanned Aerial Vehicles (UAV) have many applications in civilian and military fields. For example, of these applications is aerial monitoring, picking loads and moving them by different grippers. In this research, a quadrotor with a cable-suspended load with eight degrees of freedom is considered. The purpose is to control the position and attitude of the quadrotor on a desired trajectory in order to move the considered load with constant length of cable. So, the purpose of this research is proposing and designing an antiswing control algorithm for the suspended load. To this end, control and stabilization of the quadrotor are necessary for designing the antiswing controller. Furthermore, this paper is divided into two parts. In the first part, dynamics model is developed using Newton-Euler formulation, and obtained equations are verified in comparison with Lagrange approach. Consequently, a nonlinear control strategy based on dynamic model is used in order to control the position and attitude of the quadrotor. The performance of this proposed controller is evaluated by nonlinear simulations and, finally, the results demonstrate the effectiveness of the control strategy for the quadrotor with suspended load in various maneuvers.


Introduction
Quadrotor is a rotorcraft whose flight is based on rotation of two pairs of rotors that rotate opposite to each other.As shown in Figure 1, the different movement of quadrotor is created by a difference in the velocity of rotors.If the velocity of rotor 1 (or 2) decreases and the velocity of rotor 3 (or 4) increases, then the roll (or pitch) motion is created and the quadrotor moves along the -axis (or the -axis).Moreover, a quadrotor is an aerial robot which has the potential to hover and take off, fly, and land in small areas.In addition, this robot has applications in different fields, among which are safety, natural risk management, environmental protection, infrastructures management, agriculture, and film protection.Moreover, a quadrotor is an underactuated system since it has six degrees of freedom and only four inputs.However, a quadrotor is inherently unstable and it can be difficult to fly.Thus, the control of this nonlinear system is a problem for both practical and theoretical interest.Many control algorithms are tested and implemented on this aerial robot in order to stabilize and move in different tasks.Among these algorithms are classic control, linear and nonlinear state feedback control, sliding mode control, back stepping control, and fuzzy and neural network control.In 2010, Vazquez and Valenzuela designed a nonlinear control system for the position and attitude control based on the classic control PID; indeed, the quadrotor altitude is controlled by a PI-action controller, [1].In 2012, Lee et al. implemented a Linear Quadratic Regulator (LQR) controller for the position control of the quadrotor [2].In 2004, Hoffmann [3] proposed a sliding mode method for the altitude control and an optimal control method for the attitude control.But many difficulties occurred because of motor vibrations in the high thrust and the chattering phenomena.Also, for realizing the robust control of the quadrotor, a back stepping control algorithm is proposed in [4].This algorithm could estimate disturbances online and, so, they could improve the robustness of system.Erginer and Altug in 2012 performed dynamics modeling and control of a quadrotor.They obtained the dynamic model of the quadrotor by Newton-Euler method and controlled the quadrotor using a hybrid fuzzy-PD control algorithm, [5].In 2008, Raffo et al. implemented a nonlinear H ∞ algorithm to control and stabilize the angular motion of the quadrotor.The simulation results show that this nonlinear algorithm can eliminate disturbances and stabilize the rotation motion of the quadrotor [6].de Vries and Subbarao, in 2010, designed a back stepping multiloop controller for the hover flight [7].
Recently, with introduction of inexpensive micro-Unmanned Aerial Vehicles (UAV) and advanced sensors, controllers have been designed to enable these systems for many tasks, for example, offensive maneuvers [8], balancing a flying inverted pendulum [9].Also, the progress in sensors and controllers leads very well to use of UAV for different applications.One of these applications is transportation of external loads.Different grippers for grasping and transporting of a load are designed [10][11][12][13][14]. Another one is cable-suspended loads which have been studied in recent years [15][16][17].Cable-suspended systems are underactuated systems.Therefore, canceling or reducing oscillation of the suspended load is very necessary since oscillations of load in an industrial environment and other areas can result in damage [18][19][20][21][22]. So, different control methods have been proposed to control these robots since the suspended load significantly alters the flight characteristics of the quadrotor.These methods are divided into feedback and feed-forward approaches.Feedback control methods use measurements and estimations of system states to reduce the vibration, while feed-forward approaches change actuator commands for reducing the oscillation of system.The feed-forward controller can often improve the performance of feedback controller.Thus, proposing feed-forward algorithms can lead to more practical and accurate control of these systems.One effective feed-forward method is the input shaping theory which has proven to be a practical and effective approach of reducing vibrations [23,24].Also, several methods are proposed in order to minimize the residual vibration.Smith proposed the Posicast control of the damped oscillatory systems which is a technique to generate a nonoscillatory response from a damped system to a step input.This method breaks a step of a certain magnitude into two smaller steps, one of which is delayed in time [25].Swigert proposed shaped torques techniques which consider the sensitivity of terminal states to variation in the model parameters [26].Recently, in the control of overhead cranes, Mita and Kanai solved a minimum time control problem for swing free velocity profiles, which resulted in an open loop control [27].Also, Yu proposed a nonlinear control based on the singular perturbation method [28].In addition, Lee designed a high performance control based on the loop shaping and root locus methods [29].Also, in 2012, Adams et al. designed input shaping control of a micro-coaxial radio-controlled helicopter carrying a suspended load [30].Zain et al., in 2006, proposed hybrid learning control schemes with an input shaping of a flexible manipulator system [31].
In this paper, the problem of the quadrotor flying with a suspended load is addressed which is widely used for different kinds of a cargo transport.The paper is organized in two parts.In the first part, a nonlinear model of an underactuated eight-degree-of-freedom quadrotor slung load system is derived on the basis of the Newton-Euler formulation.Next, this dynamic model is verified in comparison with Lagrange method.Then, a nonlinear model based control algorithm is designed for the position and attitude control of the quadrotor with the suspended load.In next part, the description of the input shaping algorithm is presented and, then, this method is implemented to the quadrotor with a suspended load.Finally, simulation results are studied to damp the oscillation of the suspended load.

Dynamics Modeling
The quadrotor slung load system is shown in Figure 2. It is considered to be a system consisting of two rigid bodies connected by massless straight-line links which support only forces along the link.The system is characterized by mass and inertia parameters of rigid bodies and suspension's attachment point locations.In this section, dynamics equations of the quadrotor slung load system are presented by Newton-Euler method.The following assumptions are made for modeling the quadrotor with a swinging load.
(i) Elastic deformation and shock of the quadrotor are ignored.
(ii) Inertia matrix is time-invariant.
(iii) Mass distribution of the quadrotor is symmetrical in the - plane.
(iv) Drag factor and thrust factor of the quadrotor are constant.
(v) Air density around of the quadrotor is constant.
(vi) Thrust force and drag moment of each propellers are proportional to the square of the propeller speed.
(vii) Both bodies are assumed to be rigid.This assumption excludes an elastic quadrotor and rotor modes such as flapping and nonrigid loads.
(viii) The cable mass and aerodynamic effects on the load are neglected.
(ix) The cable is considered to be inelastic.
These assumptions are considered to be sufficient for the realistic representation of the quadrotor with a swinging load system which is used for a nonaggressive trajectory tracking.

Aerodynamics of Rotor and Propeller.
The aerodynamic force and moment are obtained by combining the momentum theory of the blade element [8,9].A quadrotor has four motors with propellers.The power applied to each motor, , generates a torque on the rotor shaft, , and a force .These torques and forces are generated by each rotor-propeller and they are proportional to the square of the propeller speed as where   is the rotor velocity,  is the air density,  is the propeller radius,   is the thrust factor, and   is the momentum factor [9,10].

Kinematics Equation of
Quadrotor.As shown in Figure 1, the quadrotor has four rotors which can generate identical thrusts and moments denoted by   and   , for  = 1, 2, 3, 4, respectively.Let I.F.represent a right-hand inertia frame with the -axis being the vertical direction to the earth.The body fixed frame is denoted by B.F. that center of this frame is located on the mass center of the quadrotor.The Euclidean position of the quadrotor with respect to I.F. is represented by the , , and .Also, the Euler angle of the quadrotor with respect to I.F. is represented by the , , and .
Thus, the rotation matrix from B.F. to I.F.can be represented by R as where  and  refer to cos and sin function, respectively.Also, the translational and the rotational kinematics equations with respect to the inertial frame I.F.can be yielded as where V and  denote the linear velocity and the angular velocity of the quadrotor with respect to the inertial frame I.F.expressed in the body fixed frame B.F.. So, the rotation velocity transfer matrix P can be given as ) . (4)

Newton-Euler Equation of
Quadrotor.As the free body diagram of the quadrotor slung load system shown in Figure 2, the Newton-Euler equations for quadrotor in the inertia frame can be obtained as where m is the mass matrix of the quadrotor, J is the inertia matrix of the quadrotor, G = [0 0 ]  is the gravity matrix, F cable is the cable force, and K t and K r are the linear and angular aerodynamic friction factor, respectively.Also, T and  matrices are given as However, actuator forces and moments are summarized as where  is distance of two rotors opposite to each other,  1 to  4 are thrust forces which are generated by rotors 1 to 4, and  1 to  4 are moments which are generated by rotors 1 to 4. So,  1 results in the motion along the   axis.Also,  2 ,  3 , and  4 create the roll, pitch, and yaw motion, respectively.In this system, F cable is considered system's input (or the actuator force for changing the cable length) which can be represented in the body frame as where |F cable | is cable's force magnitude.Also, the relation between F cable and the cable length can be stated as where  is the cable length, r is the acceleration of mass relative to the quadrotor in the body coordinate, and   is the load mass.So, motion's equation of the load in the inertia frame can be obtained as: where And Ṙb is the load velocity with respect to the quadrotor while it is expressed in the body frame.Equations ( 5) and (10) are motion equations of system with generalized coordinates as follows: By considering the constant length of the cable, the system has eight degrees of freedom.

Lagrange Equation of Quadrotor.
To obtain the dynamic equations of motion by Lagrange method, generalized coordinates are defined as So, the kinetic energy for the quadrotor is and the swinging load's kinetic energy can be attained as where M q , M p are the mass diagonal matrix and the swinging load of the quadrotor, respectively.Also, Ṙs is the swinging load velocity with respect to the quadrotor inertia frame (I.F.).Moreover, J i is the inertia moment matrix of the quadrotor in I.F. which can be calculated as where J is the inertia moment matrix of the quadrotor in the body frame (B.F.).Finally, the closed form equation of motion can be obtained as whereas, by considering ( 9), M 9×9 is the mass matrix, V 9×1 is the nonlinear velocity matrix, and G 9×1 is the gravity matrix.Also, Q is the generalized force.

Model Verification.
In this section, in order to verify the obtained dynamics model since the motion equations by Newton-Euler method are inhomogeneous unlike Lagrange equations, a desired path for the quadrotor flight is defined.Then, by solving Lagrange equations, rotors input are computed for tracking this desired path (solving the inverse dynamics).Next, these forces are exerted to Newton-Euler equations as inputs and these equations are solved (solving the forward dynamics).This procedure shows that responses of Newton-Euler and Lagrange equations are the same as the desired path.To this end, in simulations, a specified path for the quadrotor is considered and the inverse dynamic is solved to obtain the desired forces for the considered path (for Lagrange equations).By defining these forces as inputs for the Newton-Euler equations and solving these equations to find the tracked path by the quadrotor, the dynamics model can be verified.So, a hover flight is defined in  = 2 m, and the simulation result is shown in Figure 3.As shown form this figure, both paths are the same.In next scenario, a vertical take-off flight is defined.Therefore, the desired path for this flight is The simulation result for this path is shown in Figure 4.It is shown that both responses of these dynamic models are the same and are reasonable.for a full control of a quadrotor.This control method is a compensation of nonlinear terms based on the accurate knowledge of the dynamics system.Thus, dynamic equations of motion based on the accurate knowledge of the dynamics system can be stated as

Controller Design
where M, V, and G are the mass matrix, the nonlinear velocity matrix, and the gravity matrix, respectively.These matrices are obtained based on the physical knowledge and the geometrical dimensions.In Figure 5, the block diagram q d (t) of this control algorithm is shown.According to this diagram, the control law can be calculated as Also, this control torque can be applied to the below dynamics equations of the considered system as Moreover, by considering what is well known about the dynamic parameters of the system, it can be concluded that So, by substituting ( 20) into ( 21) and considering the assumption in (22), it yields As M is the positive definition matrix, so it can be written as which confirms the error convergence by choosing the proper controller gains K p and K d .Using this algorithm and by choosing optimal gains for the designed controller, the position and attitude of the quadrotor are controlled.So, the model can be viewed as two independent subsystems, which are the transitional movement subsystem and the angular movement subsystem.The transitional motion does not affect the angular motion, but the angular motion affects the transitional motion.However, for designing a control algorithm in order to take full control of degrees of freedom, quadrotor's dynamics equations must be divided into two subsystems: the transitional subsystem and the rotation subsystem.Therefore, the control algorithm is designed in two parts: the position controller and the attitude controller.Figure 6 shows this control algorithm scheme.
Based on quadrotor's operation in different flights, it is obvious that the quadrotor does not have any actuator force which directly creates a movement along the and the -axis.Thus, this robot can fly in the  and the  direction by creation of the pitch and the roll motion.Based on this principle, control forces can be obtained using the transitional subsystem as where   ,   , and   are created forces motion along the -, -, and -axis which are calculated according to the desired trajectory.Also, the vector of control forces F cc = [F x , F y , F z ]  can be calculated according to the transitional subsystem (transitional motion equation of the quadrotor and swing load) as where M t (6 × 6), V t (6 × 1), and G t (6 × 1) are the mass matrix, the nonlinear velocity matrix, and the gravity matrix of the transitional dynamic subsystem, respectively.Also, q d is the desired acceleration and e = q d − q (where q = [, , , , , ]) is the position error.Moreover, K pt and K dt are controller gains.By solving three equations of (25), simultaneously, control outputs  1-ctrl ,  ctrl , and  ctrl which create motion along the -, -, and -axis are calculated as where   is the desired value of the yaw angle.In the same way, the attitude controller is designed according to the rotational subsystem.Therefore, to perform this control propose, the torque control vector or  cc = [U 2 , U 3 , U 4 ]  can be considered: where M r , V r , and G r are the mass matrix, the nonlinear velocity matrix, and the gravity matrix of the rotational dynamic subsystem (rotational motion of the quadrotor), respectively.Also, q = [, , ] and K pr , K dr are rotation controller's gains.

Simulation Results of Designed Position and Attitude
Controller.To verify the effectiveness and the application effect of the proposed control method, the simulation study has been carried on the quadrotor with a swinging load.In this section, simulation results of the Model Based Algorithm controller (MBA controller) are compared to a PID controller in different maneuvers.It should be noted that the gains of PID controller are calculated by try and error method.So, controller gains and the system parameters of simulations are described in Tables 1 and 2. In the first case study, a linear path in the - plane at  = 3 m is defined.The equation of desired path is defined as follows: Simulation results of the designed controller are shown in Figures 7-9.As shown in Figure 7, the controller performance in comparison with a PID controller in this maneuver is good.As seen from Figure 8, the quadrotor finds the desired path by the MBA controller earlier than the PID controller.Also, Figure 9 shows the maximum error of the  and the  position, so that the considered MBA controller has the better performance than the PID controller.The last case study is a circular path for the quadrotor flight (Figure 10).In this scenario, the superior performance of the proposed MBA controller is compared to the PID controller (Figures 11 and 12).The position error of the quadrotor is converged to the zero after a few seconds by the designed model based control algorithm, while by the PID controller this error has oscillations about zero and it is not zero.

Antiswing Control of Quadrotor.
In the first step of the antiswing controller design procedure, it should be better to find commands that move systems without vibration.So, it is helpful to start with the simplest command.It is known that, by giving an impulse to the system, it will cause vibration.However, if a second impulse is applied to the system in the right moment, the vibration included by the first impulse is cancelled [23].This concept is shown in Figure 13.Subsequently, input shaping theory is implemented by convolving the reference command with a sequence of impulses.This process is illustrated in Figure 14.The impulse amplitudes and time locations of their sequence are calculated in order to obtain a stair-like command to reduce the detrimental effects of system oscillations.The amplitude and time locations of impulses are calculated by estimation of system's natural frequency and the damping ratio [30].If estimations of system's natural frequency,   , and the damping ratio, , for vibration modes of the system which must be canceled are known, then the residual vibration that results from the sequence of impulses can be described as where where   and   are the amplitude and the time locations of impulses,  is the number of impulses in the impulse sequence, and   =   √(1 −  2 ).To avoid the trivial solution of all zero valued impulses and to obtain a normalized result, it is necessary to satisfy the below equation: In the modeling of a suspended load, the load damping or  can be neglected and the frequency of the linear model can be considered: where  is length of the cable.When the amplitude of impulses is considered positive and the estimation of system's parameters is accurate, the simplest shaper or the ZV shaper can be proposed with two impulses in two times  1 and  2 .
Convolving this shaper to the step input is shown in Figure 14.
The ZV shaper can cancel the oscillation of systems whose natural frequency and damping ratio are specific and known.
In this case, this assumption can be considered to drive dynamic equations.The cable is considered inelastic and the aerodynamic force on the suspended load is neglected.So, the exact estimation of natural frequency and the damping ratio does not exist.In 1993, Bohlke proposed a method to increase the robustness of the ZV shaper against errors of system's parameter estimation [23].In this proposed method, the derivation of the residual vibration to the natural frequency and the damping ratio must be zero as These two equations can be written as Due to adding these two constraints, two variables are required to be added by an impulse with the  3 amplitude at the time  3 to the ZV shaper.The result of this addition is the ZVD shaper with 3 impulses and 5 unknown  1 ,  2 ,  3 ,  2 , and  3 (with the assumption  1 = 0) for this shaper.Thus, the following equations can be obtained: By solving these four equations, unknown parameters of the input shaper are calculated as where For the quadrotor with the suspended load, the cable length is assumed as  = 1m.By estimating the natural frequency and the damping ratio, input shaper's parameters are obtained as However, the transfer function of the designed ZVD shaper is For the small oscillation, suspended load's motion is caused by the horizontal motion of the quadrotor.So, it is necessary that the shaper is implemented on the part of the desired path.If the part of the desired path for the shaper is defined as consequently, the shaped path for the quadrotor is where Γ ZVD is the transfer function matrix of the ZVD shaper in the time domain.By considering the shaped path for the quadrotor controller, the controller performance is improved and the oscillation of the swing load is reduced.In next section, simulation results of the implementing shaper on input commands are shown and discussed.

Simulation Results of Designed Antiswing Controller.
To verify the effectiveness and the application effect of the control method for canceling the oscillation of the suspended load, the simulation routine has been carried on the quadrotor with the suspended load.In addition, for estimating the natural frequency and the damping ratio, this system is compared to a cart-pendulum system.So, the natural frequency of system is assumed as (33).Also, the damping ratio of oscillation mode of the swing load is related to the aerodynamics drag on the load and suspension system and, so, the damping ratio is zero according to the small scale of system consideration.Moreover, the system parameters used in the simulation are listed in Table 2.Moreover, the desired path is defined as the line-curve-line and simulation results are shown in Figure 15.By comparing Figure 15 with Figure 16, it can be concluded that the designed feed-forward controller can effectively cancel the oscillation of the suspended load.In addition, Figure 17 shows the position error of the quadrotor both with ZVD shaper and without ZVD shaper.As seen from this figure, the error is converged to zero after a few seconds when input shaping is implemented on desired command, and the performance of the controller is  better.Also, it is clear that, by implementing input shaping on a desired path, the required time for tracking the desired path is increased.So, the quadrotor requires more time for tracking the desired path.
In the second senario, the square path is designed for the quadrotor flight.In Figures 18 and 19, simulation results are shown both with ZVD shaper and without it.As can be seen from these figures, the feed-forward controller can cancel the oscillation.Also, Figure 20 shows the position error of the quadrotor with input shaping.As shown from this figure, error is zero after few seconds.

Conclusions
In this paper, the problem of the quadrotor flying is addressed with a suspended load which is widely used for different kinds of cargo transportation.The suspended load is also known as either the slung load or the sling load.Also, flying with a suspended load can be a very challenging and sometimes hazardous task because the suspended load significantly alters the flight characteristics of the quadrotor.So, many different control algorithms have been proposed to control these systems.To this end, dynamic model of this system was obtained and verified by comparing two Newton-Euler and Lagrange methods.Next, a control algorithm was  presented for the position and attitude of the quadrotor.In this algorithm, swinging object's oscillation may cause danger in the work space and it can make instability in the quadrotor flight.Using comprehensive simulation routine, it was shown that this designed controller could control the robot motion on the desired path but could not reduce the load oscillation in noncontinuous and nondifferentiable paths.To deal with this issue, a feed-forwarded control algorithm was introduced for reducing or canceling swinging load's oscillation.This controller was designed by implementing the input shaping theory which convolves the reference command with a sequence of impulses.Finally, it was shown that the feedforward controller could actively improve the performance of the feedback controller.

Figure 2 :
Figure 2: Free body diagram of quadrotor slung load system.

Figure 5 :
Figure 5: Model based control algorithm scheme.

Figure 6 :
Figure 6: Block diagram of the considered control system.

Figure 11 :Figure 12 :
Figure 11: Position error of quadrotor in circle flight with MBA controller.

5 Figure 13 :Figure 14 :
Figure 13: Response of dynamic system to two sequent impulses.

Figure 18 :
Figure 18: Square path of quadrotor with input shaping controller.

Figure 19 :
Figure 19: Square path of quadrotor without input shaping controller.

Table 2 :
Physical parameters of the system.