Research Journal of Applied Sciences, Engineering and Technology 4(21): 4216-4226, 2012 ISSN: 2040-7467 © Maxwell Scientific Organization, 2012 Submitted: December 18, 2011 Accepted: April 23, 2012 Published: November 01, 2012 Adaptive Backstepping Control of an Indoor Micro-Quadrotor Zheng Fang and Weinan Gao State Key Laboratory of Synthetical Automation for Process Industries, Northeastern University, Shenyang, Liaoning, China Abstract: Micro-Quadrotor is one of the most popular VTOL (Vertical Take-Off and Landing) aerial robots and has enormous potential applications in the field of near-area surveillance and exploration in military and commercial applications. However, stabilizing and position control of the robot are difficult tasks because of the nonlinear dynamic behavior and model uncertainties. Backstepping is a widely used control law for underactuated systems including quadrotor. But general backstepping control algorithm needs accurate model parameters and isn’t robust to external disturbances. In this study, an adaptive integral backstepping control algorithm is proposed to realize robust control of quadrotor. The proposed control algorithm can estimate disturbances online and therefore improve the robustness of the system. Both simulation and experiment results are presented to validate the performance of the proposed control algorithm. Keywords: Adaptive integral-backstepping, flying robots, micro-quadrotor, model uncertainties INTRODUCTION Unmanned flying robots or Vehicles (UAVs) are gaining increasing interest because of a wide area of possible applications. While the UAV market has first been driven by military applications and large expensive UAVs, recent results in miniaturization, mechatronics and microelectronics also offer an enormous potential for small and inexpensive UAVs for commercial use. These small UAVs would be able to fly either indoor or outdoor, leading to completely new applications. However, indoor flight comes up with some very challenging requirements in terms of size, weight and maneuverability of the vehicle that rule out most of the aircraft types. One type of aerial vehicle with a strong potential for both indoor and outdoor flight is the rotorcraft (Hanford, 2005) and the special class of micro four-rotor aerial vehciles, also called Micro-quadrotor. This vehicle, shown in Fig. 1, has been chosen by many researchers as a very promising vehicle (Slawomir et al., 2008; He et al., 2008; Hoffmann et al., 2006; Guenard, 2006; Bouabdallah, 2006). Micro-quadrotor is a kind of Vertical Take-off and Landing UAV with simple mechanical structure. Since it is agile and has excellent hovering ability, it can be widely used for surveillance and exploration in both indoor and outdoor environments. The quadrotor is a mechatronic system with four propellers in a cross configuration. While the front and the rear motor rotate clockwise, the left and the right motor rotate counterclockwise which nearly cancels gyroscopic effects and aerodynamic torques in trimmed flight. By varying Fig. 1: A quadrotor flying robot the speed of the single motors, the lift force can be changed and vertical and/or lateral motion can be created. Pitch movement is generated by a difference between the speed of the front and the rear motor while roll movement results from differences between the speed of the left and right rotor, respectively. Yaw rotation results from the difference in the counter-torque between each pair (frontrear and left-right) of rotors. The overall thrust is the sum of the thrusts generated by the four single rotors. However, in spite of simple mechanical structure and having four actuators, the high performance control of quadrotor is a difficult task because it is an under-actuated system with strong nonlinear and coupling characteristics. In the past few years, different control methods have been explored for the attitude and position control of quadrotor. The most used control method is PID, LQR, Sliding Mode and Backstepping. PID and LQR are classical linear control method, but not suitable for systems with strong Corresponding Author: Zheng Fang, State Key Laboratory of Synthetical Automation for Process Industries, Northeastern University, Shenyang, Liaoning, China 4216 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 nonlinearity and coupling characteristics (Bresciani, 2008; Bouabdallah and Siegwart, 2008). Therefore, these controllers only work better when the quadrotor is near hovering state. Sliding mode is another powerful control method (Li, 2008; Bouabdallah and Siegwart, 2005), which is simple and robust. But, Sliding mode control requires continuous switching logic, which leads to the chattering phenomenon. Backstepping has also been used for the control of quadrotor (Bresciani, 2008). However, general Backstepping control method cannot overcome model uncertainties and the robustness is weak. Feedback Linearization method is also used to control quadrotor. Besides these classical control methods, some researchers also tried intelligent control methods to control the quadrotor. Holger proposed a nonlinear control method based on a combination of State-Dependent Riccati Equations (SDRE) and neural networks. Abhijit apply Backstepping on the Lagrangian form of the quadrotor dynamics instead of the state space form and introduces two neural nets to estimate the aerodynamic components to deal with unmodeled state-dependent disturbances and forces. The above control methods can be divided into two groups. The first group linearizes the model and use linear control law to design the controller. But most of the controllers only work better near hovering state. The robustness and stability still need to be improved. The second group use nonlinear control theory to design the controller. Although these controllers perform well in simulation experiments, but since they depend on accurate system model, the real-time control performance generally even bad than PID controller. Therefore, considering the limited onboard computing resources of the quadrotor, how to develop a controller which can not only control the quadrotor attitude precisely, but also has strong antidisturbance and environmental adaptive abilities is an important issue for quadrotor control. In this study, we propose an adaptive control method to design the controller of quadrotor. The adaptive unit of this method can effectively estimate the changes of mass and the value of disturbances. The integral action can eliminate the steady-state errors of the system. The proposed method can restrain system overshoot, reduce response time and enlarge the selection region of control parameters. Several simulation experiments and first realtime control experiments have validated the proposed control method. Fig. 2: The earth inertial frame and the body-fixed frame C C C C C Base on the above assumptions, the quadrotor is a 6DOF rigid body and its throttle is provided by four motors. So, a quadrotor is a 4-input and 6-output control system. The kinematics of a quadrotor can be described by Eq. (1) and (2): 1E = R1B (1) SE = T SB (2) where, 1E and SE are position vector and angular velocity vector in the earth inertial frame , 1B and SB are position vector and angular velocity vector in the body-fixed frame, R is rotation matrix and T is transfer matrix. Rotation matrix and transfer matrix are shown in Eq. (3) and (4): ⎛ cosθ cosψ ⎜ R = ⎜ cosθ sin ψ ⎜ ⎝ − sin θ sin φ sin θ cosψ − cos φ sin ψ sin φ sin θ sinψ − cos φ cosψ sin φ cosθ ⎛ 1 sin φ tan θ ⎜ cos φ T = ⎜0 ⎜ ⎝ 0 sin φ cosθ METHODOLOGY System dynamic modeling: Let us consider earth fixed frame 'E(OE XE YE ZE) and body fixed frame 'B (OB XB YB ZB), as shown in Fig. 2. And, we consider following assumptions: Elastic deformation and shock of the quadrotor is ignored. Inertia matrix is time-invariant. Distribution of the mass of the quadrotor is symmetrical which simplify the equations. Drag factor and thrust factor of the quadrotor is constant. Air density around is constant. cos φ tan θ ⎞ ⎟ − sin φ ⎟ ⎟ cos φ cosθ ⎠ sin φ sin ψ + cos φ sin θ cosψ ⎞ ⎟ cosφ sin θ sin ψ − sin φ cosψ ⎟ ⎟ cos φ cosθ ⎠ (3) (4) Base on the Newton-Euler equation, the dynamics can be described as follow: 4217 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 ⎧⎪ m(v& B + ω B × v B ) = FB ⎨ ⎪⎩ I .ω& B + ω B × ( Iω B ) = τ B ⎛ x2 ⎜ ⎜ U x (U1 + Dx ) / m ⎜ ⎜ x4 ⎜ U (U + D ) / m x ⎜ y 1 ⎜ x6 ⎜ ⎜ f ( X ,U ) = ⎜ cos x7 cosx9 U + Dz / m − ⎜ x8 ⎜ ⎜ x10 x12 a1 + x10a2 Ω r + b1U 2 ⎜ x10 ⎜ ⎜ x8 x12 a3 + x8a4 Ω r + b2U 3 ⎜ x12 ⎜ ⎝ x10 x8a5 + b3U 4 (5) Thanks to the distribution of the mass of the quadrotor is symmetrical, the inertia matrix is diagonal, which can simplify the dynamic model. The model is defined for hover and hover like flight, in this case, we can replace TE with TB. Considering the disturbance on three axes Di(i = x, y, z), the dynamic model of a quadrotor can be described by Eq. (6): 4 ⎧ ⎡ ⎤ ⎪ x&& = ⎢ ( cos φ sin θ cosψ + sin φ sin ψ ) ∑ Ti + Dx ⎥ / m i =1 ⎣ ⎦ ⎪ 4 ⎪ ⎡ ⎤ ⎪ && y = ⎢ ( cos φ sin θ sin ψ − sin φ cosψ ) ∑ Ti + Dy ⎥ / m i =1 ⎣ ⎦ ⎪ ⎪ 4 ⎛ ⎞ ⎪ && z = ⎜ cos φ cosθ ∑ Ti − mg + Dz ⎟ / m ⎝ ⎠ ⎪ i =1 ⎪ ⎨ I − I zz θψ + J r θ Ω r + bl(Ω 24 + Ω 22 ) ⎪ φ&& = yy ⎪ I xx ⎪ 2 2 ⎪ && ( I zz − I xx )θψ − J r φ Ω r + bl(Ω 3 + Ω 1 ) θ = ⎪ I yy ⎪ ⎪ I xx − I yy φθ + d (Ω 24 + Ω 22 − Ω 23 − Ω 12 ) ⎪ && ψ = ⎪ I zz ⎩ 4 ( ) ( [( ( a 3 = ( I zz − I xx ) / I yy velocity of a propeller, b is thrust factor, d is drag factor, l is the center of quadrotor to center of propeller distance, Jr is total rotational moment of inertia around the propeller axis, Sr is overall propellers’ speed. The system can be rewritten in state-space form X = f(X, U), the state vector X and input vector U are shown as follows: x4 = x5 = x6 = y& z z& (7) x7 = φ x = φ& 8 x9 = θ (8) x10 = θ& x11 = ψ x12 = ψ& ( ( ( ( ) ⎞⎟ ⎛b Ω2 + Ω2 + Ω2 + Ω2 1 2 3 4 ⎜ ⎛ U1 ⎞ ⎜ 2 2 ⎜ ⎟ bl Ω Ω − 4 2 ⎜ U2 ⎟ ⎜ U =⎜ ⎟ =⎜ 2 2 U3 ⎜ bl Ω 3 − Ω 1 ⎜ ⎟ ⎝ U4 ⎠ ⎜ ⎜d Ω2 + Ω2 − Ω2 − Ω2 4 2 3 1 ⎝ ) ) ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ) Take Eq. (7)-(9) into (6), we can obtain: ) a 2 = J r / I xx a 4 = J r / I yy ( i= 1 x2 = x& x3 = y (10) a1 = I yy − I zz / I xx b1 = l / I xx where, ∑ Ti is total thrust by four propellers, Si is angular x1 = x ] where, (6) ) X = ( x , x&, y , y&, z , z&, φ , φ&,θ ,θ&,ψ ,ψ& ) ) ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ g⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ (9) b2 = l / I yy b3 = l / I zz (11) ) a5 = I xx − I yy / I zz U x = cos φ sin θ cosψ + sin φ sin ψ U y = cos φ sin θ sin ψ + sin φ cosψ (12) Adaptive integral backstepping controller: From the mathematical model, the quadrotor is a multivariate, strong coupling and nonlinear under-actuated control system. And, the system model also has uncertainties of mass and inertia. Therefore, general backstepping control algorithm performs not very well when the mass of the quadrotor is varying or in winded environments. In order to improve the robustness, this study adopts adaptive scheme to design the controller. Adaptive control method can estimate and compensate model uncertainties and disturbances, therefore improve the robustness of the control system. From (10), the rotational motions do not depend on translational motion while the opposite is not true. Thus, double-loop control architecture is designed for the flying robot's attitude and position control, as shown in Fig. 3. The inner control loop was designed for stability and tracking of desired Euler angles, with an outer control loop for regulating the robot position. To control the position of a quadrotor accurately, we use adaptive integral backstepping method to design position controller and attitude controller is still designed using integral backstepping method. 4218 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 ⎡ xd ⎤ ⎢y ⎥ ⎢ d⎥ ⎣⎢ z d ⎦⎥ Ref. Pos. ψ φd Position Control d θd ψd U1 U2 Attitude Control F1K4 Control Allocation U3 U4 Quadrotor Fig. 3: Double-loop control architecture Attitude control: Three separate controllers are designed to track the desired roll, pitch, yaw angles. From Eq. (10), the attitude control system can be described by Eq. (13): ⎧ x&1 = x2 ⎨ ⎩ x&2 = au + b V& = − c1e12 − c2 e22 < 0 [( [( [( (15) where, c1, 8 > 0, p1 = ∫ e1 (τ ) dτ ,combine Eq. (14) and (15), we can obtain: x1d + λp& 1 − && x1 ⎧ e&2 = c1e&1 + && ⎨ ⎩ e&1 = − c1e1 − λp1 + e2 (16) ) ] Horizontal position control: Take the x-axis horizontal position control for example, Suppose D$ x is online disturbance estimate value of quadrotor. Define the error between actual and estimated values as: (22) ~& & Dx = − D$ x Construct a Lyapunov function: ] ~ V = V ( px , ex1 , ex 2 , Dx ) 1 (1 − c12 + λ )e1 + (c1 + c2 )e2 − c1λp1 + &&x1d − b (18) a (23) The derivative of V can be written as equation as followings: Construct a Lyapunov function as follow: 1 2 1 2 1 2 λp + e + e 2 1 2 1 2 2 ( ] ] (21) Assume constant parameters, then: when e&2 = − c2 e2 − e1 ( c2 > 0): V= ) ) ~ Dx = Dx − D$ x e&2 = e1 ( − c1e1 − λp1 + e2 ) + && x1d + λe1 − au − b (17) [ ( where, (cN1, cN2, c21, c22 , cR1, cR2, 8N, 82, 8R)>0, pN, p2, pR are integrals of eN1, e21, eR1, respectively: Put e&1 into e&2 : u= ) ) ⎧ 1 & &a − θ&a Ω 1 − cφ21 + λφ eφ 1 + cφ 1 + eφ 2 eφ 2 − cφ 1λφ pφ + φ&&d − θψ ⎪U 2 = 1 2 r b1 ⎪ ⎪⎪ 1 & &a − θ&a Ω 1 − cθ21 + λθ eθ 1 + ( cθ 1 + eθ 2 ) eθ 2 − cθ 1λθ pθ + φ&&d − θψ ⎨U 3 = 3 4 r b2 ⎪ ⎪ 1 1 − cψ2 1 + λψ eψ 1 + cψ 1 + eψ 2 eψ 2 − cψ 1λψ pψ ⎪U 4 = ⎪⎩ b2 (14) Set a virtual input x2d: x2 d = c1e1 + x&1d + λp1 (20) According to Lyapunov second law, the system is asymptotically stable. Therefore taking Eq. (10)-(12) into (18), we can obtain quadrotor system actual control inputs: (13) Define tracking error of x1 and x2 are: ⎧ e1 = x1d − x1 ⎨ ⎩ e2 = x2 d − x2 The derivative of V is: ∂V ∂V ∂V & ∂V V& = p& + e&x1 + e& − D$ x ~ ∂p ∂ex 1 x 2 ∂ex 2 ∂Dx (19) 4219 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 Considering Eq. (10) and (16), we will get: Ux = ⎛ ∂V ⎛ ∂V ∂V ⎞ ∂V ⎞ V& = p& x ⎜ + λx ⎟ + e& x1 ⎜ + c x1 ⎟ ∂ ex2 ⎠ ∂ ex2 ⎠ ⎝ ∂ px ⎝ ∂ p x1 U x U 1 + Dx ⎞ ∂ V ⎛ & ∂V − D$ x ~ − ⎜ x&&d − ⎟ ⎠ ∂ ex 2 ⎝ m ∂ Dx m⎛ D$ m U1 ⎡ D$ x + && x d + λx p& x + c x1e& x1 + f ( p x , e x1 , e x 2 ) ⎢ ⎣ m ] + k x ( β x1 p x + β x 2 e x1 + β x 3 e x 2 ) (24) In order to satisfy Eq. (25), we can define Lyapunov function as: ⎞ x Let U x = U x1 + U x 2U x1 = U ⎜⎝ − m + &&xd ⎟⎠ 1 ~ ∂V Dx &$ ∂V Dx = − γ x (γ > 0) ~ = ∂ ex2 x ∂ Dx mγ x (β P e + βx 2 ex1ex 2 + βx 3ex22 ) 2 βx 3 x1 x x 2 1 ~2 + D + (⋅) 2mγ x x V = 1 The very last term in V is a part that we do not need to construct explicitly. This explains the name implicit construction of Lyapunov function. Similarly for the y-axis disturbance, we can also use this method to estimate, the result is Eq.(34): ⎛ ∂V ⎛ ∂V ∂V ⎞ ∂ V ⎞ U x 2U 1 ∂ V V& = p& x ⎜ + λx ⎟ + e& x1 ⎜ + c x1 ⎟ − m ∂ px2 ∂ ex2 ⎠ ∂ ex2 ⎠ ⎝ ∂ px ⎝ ∂ e x1 (26) ( ) ⎧ D&$ = − γ β p + β e + β e y y1 y y 2 y1 y3 y2 ⎪ y ⎪ $ ⎡ m − Dy ⎪ ⎢ + && y d + λ y p& y + c y1e& y1 + f p y , e y1 , e y 2 ⎨U y = U 1 ⎢ ⎪ ⎣ m (34) ⎪ ⎪⎩ + k y β y1 p y + β y 2 e y1 + β y 3 e y 2 ( Define Ux2 = Ux3 + Ux4, Ux3 = m, U x 3 = m(λx p& x + cx1e& x1 ) / U 1 where, (cx1, cx2, cy1, cy2, 8x, 8y) > 0, px, py are integrals of ex1, ey1, respectively. (27) Suppose there exists a function f(px, ex1, ex2), such that: p& x ∂V ∂V ∂V + e& x1 = f ( p x , e x1 , e& x 2 ) ∂ px ∂ e x1 ∂ ex2 (28) Choose Ux4= f(px, ex1, ex2), + kx . (MV / Mex2) m / U1, where kx > 0, then: Altitude control: We need to consider the influence by mass variation and vertical disturbance when designing altitude controller. Although when the mass varies, the system inertia will also change, but the simulation results show that the effect of inertia variation is negligible. Suppose m$ is the online estimated value of quadrotor and D$ z is the online estimated value of vertical disturbance, define the parameter estimation error as: ~ ~ = m − m$ , D $ m z = Dz − Dz 2 ⎛ ∂V ⎞ ⎟ <0 V& = − k x ⎜ ⎝ ∂e x 2 ⎠ ) )] ( then: ∂V ∂ V U x 4 u1 ∂ V + e& x1 − ∂ px ∂ e x1 m ∂ ex 2 (33) (25) So Eq. (24) can be simplified by Eq. (26): V& = p& x (32) (35) (29) From Eq. (21), we can obtain input variable U1: ∂V ∂e x2 can be chosen as: ∂ V ∂ e x 2 = β x 1 p x + β x 2 e x1 + β x 3 e x 3 (30) & D$ x = − γ x ( β x1 p x + β x 2 e x1 + β x 3 e x 2 ) (31) [ m$ (1 − cz21 + λz )ez1 + (cz1 + cz 2 )ez2 Az D$ − cz1λz pz + && zd + g − z Az U1 = ] (36) So, where, Az = cosN cos2, (cz1, cz2, 8z) > 0 , pz = ∫ ez1 (τ ) dτ , in order to make system stable, let e&z 2 = − cz 2 ez 2 − ez1 , so 4220 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 Table 1: Parameters of quadrotor Parameters Mean m Mass of quadrotor l Arm length R Propeller radius Inertia on x axis Ixx Iyy Inertia on y axis Izz Inertia on z axis A Area of propeller Jr Rotor inertia sp Sample time In I nput r(k) S ampling y(k) r (k)- y( k) =e( k) V& = − cz1ez21 − cz 2 ez22 < 0 No |e(k )|<A Yes AIB Control AB Contr ol Fig. 4: Integral-separated adaptive integral backstepping method ~ m (1 − cz21 + λz )ez1 + (cz1 + cz 2 )ez 2 m ~ D − cz1λz pz + && zd + g − z m [ ] (37) Construct a Lyapunov function: V = 1 1 1 1 ~2 1 ~2 λ p2 + e2 + e2 + m + D (γ , γ > 0) (38) 2 z z 2 z1 2 z 2 2γ z1m 2γ z 2 m z z1 z 2 The derivative of V is: [ ] [ & D$ Z as: &$ = γ e (1 − c 2 + λ )e + (c + c )e ⎧m z1 e 2 z1 1 z1 z1 z1 z2 ⎪ ⎪ zd + g ⎨ − cz1λz pz + && ⎪ & ⎪⎩ D$ = − γ z 2 ez 2 ] Take Eq. (40) into (39), we can obtain: (41) Integral-separated adaptive integral backstepping controller: As it is known to all, integral action can reduce the steady-state error and improve the control accuracy. However, when the system errors are large, integral action should be removed to avoid big overshoot. Therefore, we introduce Integral-separated scheme into our adaptive integral backstepping control law as shown in Fig. 4. If the system error is beyond threshold A, then the integral term is deleted. Otherwise, adaptive integral backstepping control method is used. Integral-separated adaptive integral backstepping method can not only reduce overshoot and reaction time, but also enlarge the selection region of parameters to find best adaptive control rule to improve the estimation and control accuracy. EXPERIMENTAL RESULTS The proposed control algorithm is firstly implemented in Matlab/Simulink for simulation experiments. Firstly, we test the effect of the integralseparated action. Then, we will compare our Adaptive Integral Backstepping (AIB) with PID controller and Integral Backstepping controller (IB) in different test conditions. The constant parameters of the model are illustrated in Table 1. ~ m &$ Dz D&$ V& = λz pz p& z + ez1e&z1 + ez 2 e&z 2 − m γ z1m γ z 2m z ~ m = − cz1ez21 − cz 2 ez22 + {ez 2 (1 − cz21 + λz )ez1 + (cz1 + cz 2 )ez 2 (39) m & m&$ ⎫ ~ ⎛⎜ ez 2 D$ ⎞⎟ − − cz1λz pz + && zd + g − ⎬ + Dz ⎜ − ⎟ γ z1 ⎭ ⎝ m γ z 2m ⎠ &$ and In order to make system stable, choose m Unit kg m m kg .m2 kg .m2 kg .m2 m2 kg .m2 s As a result, we can get an altitude controller which can make system stable. Out e&z 2 = − c2 ez 2 − ez1 + Value 0.530 0.232 0.150 6.228 ×10!3 6.228 ×10!3 1.125 ×10!2 0.005 154 ×10!7 0.010 (40) Integral-separated experiment: In order to test the effect of integral-separated action, a couple of experiments are designed. The initial position of every experiment is (x, y, z, N, 2, R) = (0, 0, 0, 0.3, 0.3, 0) and destination (x, y, z, N ,2, R) = (1, 1, 1, 0, 0, 0). The simulation result of integral-separated action is shown in Fig. 5. It is obvious that the system works better when using Integral-Separated scheme. With the integralseparated action, the quadrotor changes to a new hovering position more quickly. Thus, we add the integralseparated action to every adaptive integral backstepping controller. 4221 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 Experiments without disturbance and mass variation: In this experiment, we focus on testing control performance of our Adaptive Integral Backstepping Controller with PID controller and Integral Backstepping controller when there are no disturbances on each axis and mass variation. We assume that the quadrotor starts at the same initial position as above. The simulation result is shown in Fig. 6. From the simulation results, the control performances of the three control laws are almost the same. Mass variation: Moreover, we investigate the robustness of three controllers when the mass of the quadrotor is varying. At this stage, a 200 g object is hung on the quadrotor at 10 sec. The quadrotor will inevitably deviate from the destination when the mass is varying no Integral-seperated AIB Ordinary AIB 2.0 1.5 1.5 1.0 1.0 y(m) x(m) Integral-seperated AIB Ordinary AIB 2.0 0.5 0.0 0.5 0.0 -0.5 5 0 10 15 t (s) 20 25 -0.5 30 0 5 10 (a) 15 t (s) 20 25 30 (b) Fig. 5: Effect of integral-separated action 1.4 0.4 PID IB AIB 1.2 0.2 Pitch(rad) x(m) 1.0 0.8 0.6 0.1 0.0 -0.1 0.4 -0.2 0.2 -0.3 0.0 5 0 10 15 t (s) 20 PID IB AIB 0.3 -0.4 25 0 30 5 10 (a) 15 t (s) 20 25 30 (b) 2.0 PID IB AIB 1.5 0.4 PID IB AIB 0.2 Roll (rad) Y(m) 1.0 0.5 0.0 0.0 -0.2 -0.4 -0.5 -1.0 0 5 10 15 t (s) 20 25 -0.6 30 0 (c) 5 10 15 t (s) (d) 4222 20 25 30 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 PID IB AIB 1.5 0.05 Yaw (rad) 1.0 Z(m) PID IB AIB 0.10 0.5 0 -0.05 0.0 -0.10 -0.5 5 0 10 15 t (s) 25 20 -0.15 30 0 5 10 (e) 15 t (s) 20 25 30 (f) Fig. 6: Attitude and position control without disturbance and mass variation 2.0 1.5 1.0 Z(m) Z(m) 1.5 Consider both mass and inertia Consider only mass 2.0 PID IB AIB 0.5 1.0 0.5 0.0 0.0 -0.5 0 5 10 15 t (s) 20 25 -0.5 30 0 5 10 15 t (s) 20 25 30 (a) Altitude control result when the mass is changed Fig. 8: Influence of inertia 1.1 Real Estimated 1.0 methods. In order to test the accuracy of estimation, another experiment is designed. We assume that the mass of the quadrotor increases of 50 g every 10 sec and the tracking performance is shown in Fig. 7b. Because the inertia of quadrotor changes when the mass is varying, we design the following experiment to discuss the influence of inertia variation. The first takes into account the impact of the mass and inertia and the second only consider the impact of the mass. Both of two experiments use adaptive integral backstepping method. From Fig. 8, the inertia has little influence, so it can be neglected. Z(m) 0.9 0.8 0.7 0.6 0.5 0.4 0 20 40 t (s) 60 80 (b) Mass estimation Fig. 7: Experimental results with mass variation matter which control law is adopted. From Fig. 7a, we can obtain some conclusions. Since the absence of adaptive estimation unit, PID controller makes a larger dynamic landing. Integral backstepping controller can reduce system error to zero, but it takes a long recovery time. Adaptive integral backstepping controller can estimate mass drift. As a result, it performs better than the other two control External disturbance: Assume a disturbance is imposed on the each axes at 10 sec (Dx, Dy, Dz) = (1N, 1N ,1N) and is removed at 30 sec. The simulation results show that the anti-disturbance ability of adaptive integral backstepping controller is much better than PID and Integral Backstepping controllers as shown in Fig. 9a. In order to test the estimation accuracy, we impose disturbances on the quadrotor in the form of piecewise function. In Fig. 9, each axis’s disturbance changes with 4223 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 6 3 5 4 2 Y(m) X(m) PID IB AIB 4 PID IB AIB 7 3 1 2 1 0 0 -1 -1 0 10 30 20 40 0 50 10 30 20 PID IB AIB 2.0 0.5 0.4 1.5 0.3 Roll (rad) Z(m) 50 40 t (s) t (s) 1.0 0.5 0.2 0.1 0 0 -0.5 -0.1 0 10 30 20 40 -0.2 50 0 t (s) 30 20 40 50 t (s) 0.3 Real value of Dx Estimate of Dx 0.2 0.2 0.0 0.1 -0.2 0.0 Dx (N) Pitch (rad) 10 -0.1 -0.2 -0.4 -0.6 -0.8 -0.3 -0.1 -0.4 0 10 30 20 40 50 -0.2 t (s) 0 20 60 40 80 100 t (s) (a) Position control result when the axis disturbances are imposed Real value of Dy Estimate of Dy 1.0 1.5 Real value of Dz Estimate of Dz 1.0 Dz (N) Dy (N) 0.5 0 0.5 0.0 -0.5 -0.5 -1.0 -1.0 -1.5 -1.5 0 20 60 40 80 0 100 20 60 40 t (s) t (s) (b) Disturbance estimations Fig. 9: Experiment with external disturbance 4224 80 100 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 0.8 Roll 0.6 Pitch (rad) Roll (rad) 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 20 0.15 40 60 Time (s) 100 80 0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.5 0 Yaw 0.05 Attitude Yaw (rad) 0.10 0.00 -0.05 -0.15 -0.20 0 20 40 60 Time (s) 80 Roll 100 40 50 100 60 Time (s) 80 100 200 180 160 140 120 100 80 60 40 20 0 0 (a) Attitude control 20 150 Time (s) 200 300 (b) Altitude control Fig. 10: Real-time attitude and altitude control on real system time as shown in the blue line, estimations calculated by adaptive integral backstepping are shown in the green line. The actual and estimated values of the curve are almost the same. Real-time control experiment: The control law is also implemented on the real quadrotor flying robot as shown in Fig. 1. Till now, we just have completed the attitude control and altitude control on the prototype. Figure 10a shows some first test results obtained with the prototype, which is stabilized around 0 = 0 . At t = 40 a disturbance is added to the robot and from the results, the robot can go back to equilibrium quickly. However, since the resolution of our gyroscopes and accelerometers are not very high, therefore the angular control accuracy still has to be improved. In the future, we will use a more accurate IMU to realize more accurate attitude control. Figure 10b shows the altitude control works very well. The task was to climb to 1.8 m, hover and then land. Altitude control has a maximum of 5 cm deviation from the reference. unit of this method can effectively estimate the changes of mass and the value of disturbances. The integral action can eliminate the steady-state errors of the system. The proposed method can restrain system overshoot, reduce response time and enlarge the selection region of control parameters. Several simulation experiments and first realtime control experiments have validated the proposed control method. ACKNOWLEDGMENT This study was supported in part by the Fundamental Research Funds for the Central Universities under Grant No. N100408003, National Science Foundation of China under Grant 61040014, the Applied Basic Research Fund of Shenyang Municipal Science and Technology Project under Grant No. F10-205-1-50 and the Ningbo Municipal Natural Science Foundation under Grant No. 2010A610134. REFERENCES CONCLUSION In this study, an Integral-separated Adaptive Integral Backstepping method has been proposed to realize position and attitude control of quadrotor. The adaptive Bouabdallah, S., 2006. Toward obstacle avoidance on quadrotors. Proceeding of the XII International Symposium on Dynamic Problems of Mechanics (DYNAME’07), Ilhabela, Brazil. 4225 Res. J. Appl. Sci. Eng. Technol., 4(21): 4216-4226, 2012 Bouabdallah, S. and R. Siegwart, 2005. Backstepping and sliding-mode techniques applied to an indoor micro quadrotor. Proceedings of IEEE International Conference on Robotics and Automation, pp: 2247-2252. Bouabdallah, S. and R. Siegwart, 2008. Design and control of a miniature quadrotor. Adv. Unmanned Aerial Vehicl., pp: 171-210. Bresciani, T., 2008. Modelling, Identification and Control of a Quadrotor Helicopter. Department of Automatic Control, Lund Sweden. Guenard, N., 2006. Control laws for the teleoperation of an unmanned aerial vehicle known as an x4-flyer. Proceeding of IEEE International Conference on Intelligent Robots (IROS’06), Beijing, China. Hanford, S.D., 2005. A Small Semi-Autonomous Rotary Wing Unmanned Air Vehicle. University of Pennsylvania, USA. He, R., S. Prentice and N. Roy, 2008. Planning in information space for a quadrotor helicopter in a GPS-denied environment. Proceeding of the IEEE Interenational Conference on Robotics and Automation (ICRA), pp: 814-1820. Hoffmann, G.M., S.L. Waslander and C.J. Tomlin, 2006. Distributed cooperative search using informationtheoretic costs for particle filters with quadrotor applications. Proceedings of the AIAA Guidance, Navigation and Control Conference, Keystone, pp: 700-711. Li, P., 2008. Research of Four-Motor Helicopter Control. Harbin Institute of Technology, Harbin. Slawomir, G., G. Giorgio and B. Wolfram, 2008. Autonomous indoors navigation using a small-size quadrotor. International Conference on Simulation, Modeling and Progromming for Autonomous Robots, pp: 455-463. 4226