Preprints of the 9th World Congress The International Federation of Automatic Control Cape Town, South Africa. August 4-9, 4 Modeling and Control of a Tiltrotor UAV for Path Tracking R. Donadel G.V. Raffo L.B. Becker Automation and Systems Department, Federal University of Santa Catarina, Florianópolis, Brazil (rodrigo.donadel@posgrad.ufsc.br, lbecker@das.ufsc.br). Electronic Engineering Department, Federal University of Minas Gerais, Belo Horizonte, Brazil (raffo@ufmg.br) Abstract: This paper describes the modeling and control of a birotor aircraft with tiltrotor configuration for the path tracking problem. The equations of motion of the tilrotor UAV is derived using Euler-Lagrange formulation, resulting in a nonlinear eight degrees-of-freedom dynamic model. To perform the control design, a linearized error model is obtained from the nonlinear model, which is used to synthesize a H and a multiobjective H /H controllers by using LMI approach. Simulation results for an ellipsoidal trajectory with persistent disturbances are carried out to corroborate and compare both controllers. Keywords: Tiltrotor UAV, dynamic modeling, robust control, path tracking.. INTRODUCTION The use of unmanned aerial vehicles (UAVs) expanded vastly over the last years, with small scale civil UAVs slowly but steadily gaining much attention. In this scope, helicopter-like versions (Fujiwara et al., 4; Chingozha et al., 3) and quadrotors (Castillo et al., 5; Raffo et al., ) are by far the most researched aerial systems. Still, another model that receives attention are aircrafts with tiltrotor configurations. For instance, we started constructing our own tiltrotor UAV in a broader research project named ProVANT (see Gonçalves et al. (3)). Tiltrotor aircrafts are characterized by two rotors independently coupled with some type of revolute joint, typically servomotors, which can tilt the whole rotor. It has held great interest in the military sphere since the 5s (Martin et al., ) for its ability to perform vertical take-off and landing (VTOL) like a helicopter and engage an airplane like flight by tilting its rotors horizontally. In the literature, modeling and control of small scale civil Tiltrotor UAVs are found in Kendoul et al. (5); Sanchez et al. (8); Jansen and Ramirez-Serrano (); Papachristos et al. (); Bhanja Chowdhury et al. (). All these works use models with six degrees-of-freedom, with the rotors thrust and tilt angles as control inputs, bringing a nonlinearity between the control variables. In this paper, an eight degrees-of-freedom dynamic model is developed with the tilt angles now as generalized coordinates, extinguishing the nonlinearities among inputs. Furthermore, the UAV s rotors are tilted laterally by a fixed angle, enhancing the system s controllability. A displacement of the center of mass in all axis is also considered. The authors would like to thank the Brazilian research agencies CAPES, CNPq and FAPEMIG for their financial contribution for the accomplishment of this work. http://provant.das.ufsc.br The developed nonlinear dynamic model is obtained via Euler-Lagrange formulation. A linearized error model is then deduced to synthesize H and H /H feedback state controllers with linear matrix inequality (LMI) approach. The remainder of the paper is organized as follows: in Section, a description of the tiltrotor UAV model is given. The control strategy is exposed in Section 3, the linearized error model is derived, followed by the presentation of the robust linear controllers based on the H and H /H performances, respectively. Simulation results are presented in Section 4. Finally, the major conclusions of the paper are drawn in Section 5.. TILTROTOR DYNAMIC MODELING This section presents the equations of motion for the proposed tiltrotor UAV (illustrated in Fig. ), which are obtained using the Euler-Lagrange formulation. Such UAV is considered as a multibody system composed of three rigid bodies: the two rotors and the main body, which encompasses the carbon-fiber structure, the landing gear, the servomotors, the battery, and all other electronic devices. Thus, each of the two rotors is interconnected to the main body by a revolute joint. The tiltrotor UAV model also takes into account the dynamics of the servomotors, being the tilting angles of the rotors generalized coordinates. This prevents the proposed model from having products between control inputs, which are highly undesirable nonlinearities.. Generalized coordinates Fig. shows the frames and variables definitions. Frame I is the inertial frame; C, C and C 3 are frames rigidly attached to the center of mass of each body; and B is Copyright 4 IFAC 3839
9th IFAC World Congress Cape Town, South Africa. August 4-9, 4 Three different points are used to describe the position of each body s center of mass to the inertial frame, each rigidly attached to its respective center of mass frame. The relation of these frames with the moving body frame is: p B i with RC B = I 3X3 and = RB C i + d B i i, i =,, 3 (4) R[ C B = [ RC B 3 = CαR Sα R CαL Sα L Sα R Sβ Cβ Cα R Sβ, Sα L Sβ Cβ Cα L Sβ Sα R Cβ Sβ Cα R Cβ Sα L Cβ Sβ Cα L Cβ The position equations are found substituting (4) into (): p I i = RI B RB C i i + R I B db i + ξi, i =,, 3 (5).4 Gravitational force vector Fig.. Tiltrotor UAV frames and variables definitions. the moving body frame rigidly attached to the main body center of rotation. Variables f R and f L represents the thrust forces and β the fixed tilt angle of the rotors. The inclusion of this inclination decreases the maximum vertical thrust the aircraft can perform, but the gain in controllability in the Y axis is worth the loss for a small β angle. The translation of the body frame in relation to the inertial frame is represented by ξ = [x y z and the attitude by η = [φ θ ψ, described using Euler angles with the rollpitch-yaw convention. The rotation of frame C in relation to frame B is depicted by variable α R and describes the rotation of the right rotor. Likewise, α L describes the rotation of the left rotor in relation to the main body. Thereby, the generalized coordinates can be defined by q = [x y z φ θ ψ α R α L = [ ξ η. α R α L. Euler-Lagrange equations The model is described by the matrix form of the Euler- Lagrange equations, defined as: M(q) q + C(q, q) + G(q) = F (q) () M(q) is the inertia matrix, C(q, q) the Coriolis and centrifugal force matrix calculated with Christoffel symbols of the first kind, G(q) the gravitational force vector, and F (q) the independent force vector. These terms are derived in the remainder of this section..3 Position equations The relation between the inertial frame and the body frame is given by: p I = R I B pb + ξ I () RB I is the rotation matrix that makes frame B parallel to frame I, which is derived, by the roll-pitch-yaw convention, as follows: [ CψCθ CψSθSφ SψCφ CψSθCφ + SψSφ RB I = SψCθ SψSθSφ + CψCφ SψSθCφ CψSφ (3) Sθ CθSφ CθCφ Vector G(q) is calculated with the equation: G(q) = P q P is the potential energy. The potential energy of the system can be found as (Shabana, ): nb P = P i (7) i= P i = ρ i g p I i dv i (8) V i is the volume integral with ρ i as the mass density of body i, V the volume of body i, and g = [ g the gravity vector. Assuming the three bodies symmetric, the potential energy of the system is calculated by substituting (5) into (8), which yields: P = g R I B (m d + m d + m 3 d 3 ) + g mξ (9) m is the total mass of the system and is given by: m = m + m + m 3 Matrix G(q) can now be determined with equation ()..5 Inertia matrix The inertia matrix M(q) can be determined by expressing the system s kinetic energy as K = q M(q) q. The kinectic energy of a multibody system can be found with (Shabana, ): n K = K i () i= K i = ρ i (vi I ) (vi I )dv i () V i and vi I is the velocity of a single point of the body in relation to the inertial frame. These velocities are given by the derivation in time of the position equations (5): ṗ I i = ξ + ṘI B (RB C i + d i i ) + RB I (ṘB C i + R B i C i ṗ C i + d i i ) () the time derivative of the rotation matrix can be defined as Ṙ = RS(w), being S(w) the skew-symmetric matrix of the vector w. () Also, as the points p i are rigidly attached to their respective frames C i, results in ṗ Ci i =. Furthermore, distances 384
9th IFAC World Congress Cape Town, South Africa. August 4-9, 4 d i are also constant and d i =. With this definitions and using the properties of skew-symmetric matrices: ṗ I i = ξ RC I i S( i )RC i B wb BI RI B S(d i)wbi B RI C i S( i )wc i C i B (3) is the angular velocity vector between frames wbi B B and I expressed in the superscript frame B. The same notation is applied for the others w vectors. The kinetic energy for body i is then calculated by using () and (3): K i = m i ξ R I B S(d i)w B BI + (wc i C i B ) I i w C i C i B + (w B BI ) R B C i I i w C i C i B + (wb BI ) J i w B BI + m i ξ ξ I i = is the inertia tensor and S(p i ) S(p i )dm = [ Ixx I xy I xz I xy I yy I yz I xz I yz I zz (4) (5) J i = R B C i I i (R B C i ) + m i S(d i ) S(d i ) () is the inertia tensor for a rotation around an axis displaced by a distance d i (parallel axis theorem). Taking into account that there is no relative movement between frame B and frame C, then w C C B =. At last, the total kinetic energy is obtained: [ f B [ Lx sin(α L ) FL B = fly B = cos(α L )sin(β) f L (3) flz B cos(α L )cos(β) and the translation force expressed in the inertial frame is: T I = R I B (F B R + F B L ) (4) Using an approximation of the torque applied to the propellers when it is in steady-state (Castillo et al., 5): τ Mi = τ drag = kτ b f (5) and assuming d z = d z = d 3z, gives: [ (flz B τφ f Rz B )sin(λ)l + kτ b (f Lx B f Rx B ) τ θ = (frx B + f Lx B )dz + kτ τ b (f Ry B + f Ly B ) ψ (frx B f Lx B )l + kτ b (f Rz B f Lz B ) () Variables l, λ and d z come from the fact that the center of rotation is not coplanar with the point forces f R and f L are applied (assumed as the origin of frames C and C 3 ). Analyzing the torque around X axis illustrated in Fig. : λ = arctan( l ); l = d z d + l. (7) z K = m ξ ξ ξ R I B HwB BI + (wb BI ) Jw B BI + (w B BI ) R B C I w C C B + (wc C B ) I w C C B (7) + (w B BI ) R B C 3 I 3 w C 3 C 3 B + (wc 3 C 3 B ) I 3 w C 3 C 3 B J = J + J + J 3 (8) H = S(m d + m d + m 3 d 3 ) (9) To write the kinetic energy in terms of the generalized coordinates, we perform the following mapping: [ [ Sθ φ wbi B = Wη η = Cφ SφCθ θ Sφ CφCθ ψ [ w C C B = α R [, w C 3 C 3 B = α L () Finally, the kinetic energy takes the form K = q M(q) q by arranging (7) in matrix form and using (). Defining vector a = [, the inertia matrix is: M(q) = mi 3X3 RB I HWη W η H (RB I ) W η JWη W η RB C I a W η RB C 3 I 3 a a I (RC B ) W η a I a a I 3 (RC B 3 ) W η a I 3 a (). Force vector The force vector, F (q) = [T x T y T z τ φ τ θ τ ψ τ sr τ sl, is composed by the translational forces on the main body T, the rotational torques on the main body τ and the rotational torques on each servomotor τ sr and τ sl. Part of this vector was already presented in Gonçalves et al. (3). After some adaptation to fit it in the present model (the center of rotation is now the origin of frame B), led to: F B R = [ f B Rx f B Ry f B Rz = [ sin(α R ) cos(α R )sin(β) cos(α R )cos(β) f R () Fig.. Torque around the X axis (τ φ ) The control inputs for the system are the thrust forces f R and f L, and the torques in the servomotors τ sr and τ sl. The control input vector F (q) can be decoupled as: F (q) = B(q)Γ (8) Γ = [ f R f L τ sr τ sl (9) and B(q) is composed by (4) and (). 3. CONTROL DESIGN In this section a linear H and a multiobjective H /H controllers are designed. These controllers were chosen for its properties of disturbance rejection. It is also desired that the controller solves the path tracking problem, i.e., that the system follows a predefined trajectory. For such, the model developed in Section is represented as a state space system and linearized around a generic operating point. Considering the model (), with external disturbances δ(t) and the control input vector given by (8), and defining the state space variables as: [ x [ x(t) =... = q q, u(t) = Γ, w(t) = δ (3) x results in the nonlinear system: f(x(t), u(t), w(t)) = [ q q (3) The equilibrium points for model (3) are the states variable values f(x(t), u(t), ) =, which leads to: [ q = (3) B( q)γ G( q) 384
9th IFAC World Congress Cape Town, South Africa. August 4-9, 4 Defining trajectory T = (x R (t), y R (t), z R (t), ψ R (t)), the reference state space vector to be followed is a composition of the trajectory and the equilibrium points, defined as: x r(t) = (x r, y r, z r, φ, θ, ψ r, α R, α L, ẋ r, ẏ r, ż r,,, ψ r,, ) = (q r, q r) (33) the bar superscript indicates the equilibrium points found in (3). Knowing the trajectory beforehand makes it possible to calculate the control reference input u r (t), running the trajectory in model () and assuming a perfect scenario with no external disturbances (δ(t) = ). This defines the reference control as: u r(t) = Γ r = B (q r)(m(q r) q r + C(q r, q r) q r + G(q r)). (34) Linearizing the model in equation (3) yields to: ẋ(t) = A(ẍ r, ÿ r, z r, ψ r) x(t) + B u u(t) + B ww(t) (35) with f(x, u) f(x, u) A = x=xr u=u x r, B u = u x=xr u=u r, f(x, u) B w = w x=xr u=u r From now on (35) will be called the error model, as x(t) = x(t) x r (t) and u(t) = u(t) u r (t) can be seen as the error of the system in relation to the desired trajectory. Note that matrix A in the linearized system is time variant according with the desired trajectory acceleration. Aiming for a robust control of the system, the error model (35) is considered to have uncertainties and becomes: ẋ(t) = A(α) x(t) + B u(α) u(t) + B w(α)w(t) (3) α represents all uncertainties in the system, including ẍ r, ÿ r, z r, ψ r. The state-space error model is augmented with an integral action for each element of the trajectory, which improves the closed loop system performance and allows persistent disturbance rejection. The new state space vector is x a (t) = [x... x = [ q q x y z ψ. 3. H control Consider the linear system: ẋ(t) = A(α)x(t) + B u(α)u(t) + B w(α)w(t) z(t) = C zx(t) + D uzu(t) + D wzw(t) u(t) = Kx(t) α (37) w(t) is the disturbance vector, z(t) is the error signal to be minimized, C z, D wz, D uz are constant matrices to be determined and is a polytope with known vertices v i. The H feedback controller is an optimal control that exponentially stabilizes the system and minimizes its H norm ( H wz (s) = sup σ{h wz (jw)}), H wz (s) is the transfer function between the external disturbance w(t) and the error signal z(t). The H norm represents the system s highest frequency response gain. It can also be interpreted as the system s highest energy gain due to an input signal. Applying Parseval s theorem results in: or z(t) H wz(s) w(t) H wz(s) = sup z(t) w(t) This definition makes it clear that minimizing the H norm minimizes the effect of external disturbances on the system. In this work a relaxation of the optimization is made, the aim is to find an upper bound γ of the norm ( H wz (s) < γ). The following H feedback control synthesis with a LMI approach is used in this work (Dullerud and Paganini, 5): minimize γ subject to: X > (38) [ Ai X + XA i + B iy + Y B i B wi QC z + Y D uz B w i γi nz D wz < C zx + D uzy D wz γi nz γ = γ and i refers to the vertices of polytope, meaning that the total amount of LMIs to be solved is i +. Solving these LMIs for X = X and Y makes system (37) with K = Y X asymptotic stable and H wz (s) < γ. The controller matrices designed are 8, 8, 8, 8, 8, 8, 8, 8, D wz = (39) C z = diag(4, 4,,,, 3,,,,, 3,,, (4), 3,,.5,.5,, ) 3 8, 8, 8, 8,.... D uz =.. (4) 5 5 4, 4, 4, 4, All trajectory accelerations are considered to be bounded within.5, hence.5 < v i <.5. The gain matrix K is found by solving the LMIs (38) using MATLAB s Robust Control Toolbox version 4.3. As a result we have that γ =.3438, and H wz (s) < 4.54. 3. Mixed H /H control Consider the linear system (37) with D wz =. The H feedback controller is an optimal control that exponentially stabilizes the system and minimizes its H norm: h(t) = h(t) dt; h(t) = L [H(s) (4) H(s) is the transfer function of the system. The H norm can be seen as the energy output of the system when the system is excited with Dirac delta functions. Minimizing this norm brings a better transient response for the system. This is used to improve the controller presented in section 3. by creating a multiobjective controller 384
9th IFAC World Congress Cape Town, South Africa. August 4-9, 4 that minimizes the H norm while using a fixed value for γ that is close to the previously found for the pure H control. The LMIs that solve this problem are: minimize trace(z) subject to: [ Z C zx + D uzy XC z + Y D uz > (43) X and the LMIs in equation (38). Solving these LMIs gives an upper bound of the H norm. The control matrices are designed as it would be for a pure H controller: D wz = (44) Cz = diag(,,, 3 π, 3 π, π, π, π,.5,.5,.5, 3, 4,, 3,,.5,.5,, ) 3 (45) and / /.3/.75.3/.79.3/.75.3/.79.3/.75.3/.79 / / / / D uz = / /.3/.75.3/.79.3/.75.3/.79.3/.75.3/.79 / / / / 5 5 (4) 4, 4, 4, 4, and γ = 5, which means that the H norm for this controller will be slightly worse ( H wz (s) < 5.). Solving LMIs (38) and (43), we have that trace(z) =.3 and H wz (s) <.345. 3.3 Control action constraint To evade the saturation of our control, we include a constraint in the control action, formulated with LMIs (Alamo et al., ). These LMIs shall be used along with each controller. They are: [ Umax Y [ x() > and Y X x() > (47) X U max = diag([5, 5,, u r ) is the desired maximum control effort and x() = is the considered initial condition. 4. SIMULATION RESULTS The performance of the controllers designed in section 3 is tested with simulations made in Simulink 3a, using the tiltrotor nonlinear model () with the parameters presented in Table. The simulation of both controllers are executed for the system to track the trajectory x r = cos( π t), y r = sin( π t), z r = cos( π t) and ψ =. The initial conditions x() = (,.,,,,,,,,,,,,,, ) are used, as well as the following persistent disturbances: δ x =.5 at s; δ φ =. at 5s; δ y =.5 at s; δ θ =. at 5s; δ z = at 3s; and δ ψ =. at 35s. Also, an uncertaninty of 5% is added to the mass and inertia moments. Table. System Parameters Parameter Value β 5 m.378 Kg m, m 3.47 Kg d (-., -.9, -.43)m d (, -.73,.5)m d 3 (,.73,.5)m k τ.7e-7 N.m.s b 9.5e- N.s I xx.88995 Kg.m I yy.53758 Kg.m I zz.87985 Kg.m I xx, I 3xx.7759 Kg.m I yy, I 3yy.97 Kg.m I zz, I 3zz.79 Kg.m Figures 3-7 show the system evolution for both controllers. The mixed H /H controller has a better overall performance, as it has a disturbance attenuation close to the one obtained in the pure H controller plus a better transient response obtained through an optimization of the H norm. Z(m) 3.5 3.5.5.5.5 X(m).5.5 Fig. 3. Tiltrotor trajectory in space. Y(m) H.5 H /H 5. CONCLUSION AND FUTURE WORKS This work presented an eight degrees-of-freedom model designed to control a tiltrotor UAV, which overcomes the six-degrees model existing in the literature. The proposed model considers the center of mass displaced in all axis, the dynamics of the servomotors, which avoids the nonlinearities between control variables, and a fixed inclination of the rotors toward the center of rotation increasing the controllability of the whole system. Robust linear controllers for the path tracking problem were also presented in this work, accounting for parameters uncertainties, control signal saturation, and minimizing disturbance effects. Obtained simulation results indicate a satisfactory performance for both H and H /H controllers. 3843
9th IFAC World Congress Cape Town, South Africa. August 4-9, 4 X(m).5.5 4 Y(m).5.5 4 fr(n) 4 8 4 fl(n) 4 8 4.4...4..4 Z(m) 4 ψ(rad). τsr(n.m). τsl(n.m). 4.4 4. 4. 4 Fig. 4. Tiltrotor regulated degrees of freedom. φ(rad) φ(rad/s).... 4.5.5.5 4 θ(rad) θ(rad/s).5.5 4 4 4 Fig. 5. Tiltrotor stabilised body angles and velocities. αr(rad) αr(rad/s).5.5 4 4 4 4 αl(rad) αl(rad/s).5.5 4 4 4 4 Fig.. Tiltrotor stabilised servos angles and velocities. Future works include testing these controllers in a real tiltrotor UAV, which is currently being assembled within this project framework. REFERENCES Alamo, T., Normey-Rico, J., and Arahal, M. (). Introducing linear matrix inequalities in a control course. Fig. 7. Tiltrotor control inputs. In Advances in Control Education, volume 7. Bhanja Chowdhury, A., Kulhare, A., and Raina, G. (). Back-stepping control strategy for stabilization of a tiltrotor uav. In Proc. of the 4th CCDC, 3475 348. Castillo, P., Lozano, R., and Dzul, A. (5). Stabilization of a mini rotorcraft with four rotors. Control Systems, IEEE, 5(), 45 55. Chingozha, T., Nyandoro, O., and Malani, A. (3). Low cost controller for small scale helicopter. In Proc. of the 8th IEEE ICIEA 3, 439 444. Dullerud, G.E. and Paganini, F. (5). A Course in Robust Control Theory: A Convex Approach (Texts in Applied Mathematics). Springer. Fujiwara, D., Shin, J., Hazawa, K., and Nonami, K. (4). H hovering and guidance control for autonomous small-scale unmanned helicopter. In Proc. fn the IEEE IROS 4, volume 3, 43 48 vol.3. Gonçalves, F., Bodanese, J., Donadel, R., Raffo, G., Normey-Rico, J., and Becker, L. (3). Small scale uav with birotor configuration. In Proceedings of the 3 International Conference on Unmanned Aircraft Systems. Jansen, F. and Ramirez-Serrano, A. (). Agile unmanned vehicle navigation in highly confined environments. In Proc. of the IEEE SMC, 38 38. Kendoul, F., Fantoni, I., and Lozano, R. (5). Modeling and control of a small autonomous aircraft having two tilting rotors. In Proc. of the 44th IEEE CDC-ECC 5, 844 849. doi:.9/cdc.5.58348. Martin, D., Demo, J., and Daniel, C. (). The history of the xv-5 tiltrotor Research aircraft: from concept to flight. Papachristos, C., Alexis, K., and Tzes, A. (). Design and experimental attitude control of an unmanned tiltrotor aerial vehicle. In Proc. of the 5th ICAR, 45 47. Raffo, G.V., Ortega, M.G., and Rubio, F.R. (). An integral predictive/nonlinear H control structure for a quadrotor helicopter. Automatica, 4(), 9 39. Sanchez, A., Escareño, J., Garcia, O., and Lozano, R. (8). Autonomous Hovering of a Noncyclic Tiltrotor UAV: Modeling, Control and Implementaion. In Proc. of the 7th IFAC World Congress, 83 88. Seoul, Korea. Shabana, A.A. (). Dynamics of Multibody Systems. Cambridge University Press. 3844